Отчеты PowerShell для клиента Windows

Я работаю над тем, чтобы найти способ заставить наши машины Windows сообщать на веб-страницу с информацией о его MAC-адресе, имени компьютера, имени пользователя, вошедшего в систему, и IP-адресе. Я написал сценарий powershell и настроил его как запланированное задание. Он прекрасно работает, но есть окно, которое появляется при каждом запуске скрипта. Есть ли способ не показывать окно. Я пробовал работать с "-nininteractive", "-nologo", "-windowstyle hidden", "-noprofile", но все безрезультатно. Это то, что я использую для запуска.

"powershell.exe -noninteractive -nologo -windowstyle hidden -command" C: \ Users \% LogonUser% \ Scripts \ CallHome.ps1 "

4 ответа

Решение

В итоге я переместил скрипт в папку в корне C: и затем запустил скрипт от имени пользователя SYSTEM. Он захватывает вошедших в систему пользователей при запуске, поэтому мне больше не нужно, чтобы он работал от имени этих пользователей. Работал великолепно, так как у меня все заработало, а мой инвентарь строится сам.

Я думаю о двух возможностях, которые вы можете попробовать:

  1. Создайте пользователя службы, который имеет право запускать пакетные задания и войти в систему как служба, запланируйте задачу так, как пользователь вошел в нее или нет. Это работает, и я использую это часто.

  2. Используйте командлет start-process. Я считаю, что он способен делать то, что вы хотите, но не могу проверить себя прямо сейчас (на iphone).

Вы пытались запустить его так:

start "" %systemroot%\System32\windowspowerShell\v1.0\powershell.exe -exec bypass -noprofile -windowstyle hidden -file "C:\Users\%LogonUser%\Scripts\CallHome.ps1" 

Вы также можете проверить Run whether user is logged on or not на вкладке Общие свойств задачи. В этом режиме программа запускается скрытой.

Проблема может заключаться в том, что вам нужно указать пароль пользователя при настройке задачи.

Другие вопросы по тегам