Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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