![]() |
UAC WMI и powershell
Есть скрипт
$Computer = "123" $Command = "abc.bat" ([wmiclass]"\\$Computer\root\cimv2:Win32_Process").create($Command) Проблема в том что он срабатывает только на тех компах где не установлен UAC, там где он установлен скрипт не работает. Как заставить не обращать внимания на UAC? |
Компьютеры в домене или нет? И точно ли не блокирует файерволл?
Если в домене, то UAC не действует на доменные учетные записи, но действует на локальные учетные записи, которые состоят в группе Администраторы. Можно отключить фильтрацию - Код:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilterPolicy Или воспользоваться сторонним решением - psexec: psexec \\123 -s -h cmd /c abc.bat |
пробовал вставить psexec пишет psexec не распознано как имя командлета
|
Это отдельная утилита и требуется скачать, psexec - http://technet.microsoft.com/en-us/s.../bb897553.aspx
|
Она у меня есть в system32. Как запустить ее через powershell чтобы аргументы были переменными? Вообще задача стоит запустить bat, который лежит в сети, на компьютерах в определенном контейнере AD
|
& "C:\dfsfsdf\psexec.exe" "\\$Computer" -s -h "cmd /c $Command"
|
Спасибо! Все заработало как надо.
|
Время: 07:15. |
Время: 07:15.
© OSzone.net 2001-