Войти

Показать полную графическую версию : [решено] UAC WMI и powershell


Baggurd
02-12-2014, 15:32
Есть скрипт
$Computer = "123"
$Command = "abc.bat"
([wmiclass]"\\$Computer\root\cimv2:Win32_Process").create($Command)

Проблема в том что он срабатывает только на тех компах где не установлен UAC, там где он установлен скрипт не работает. Как заставить не обращать внимания на UAC?

Kazun
02-12-2014, 15:55
Компьютеры в домене или нет? И точно ли не блокирует файерволл?

Если в домене, то UAC не действует на доменные учетные записи, но действует на локальные учетные записи, которые состоят в группе Администраторы.

Можно отключить фильтрацию - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system\LocalAccountTokenFilter Policy установив значение в 0.

Или воспользоваться сторонним решением - psexec (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx):
psexec \\123 -s -h cmd /c abc.bat

Baggurd
03-12-2014, 10:47
пробовал вставить psexec пишет psexec не распознано как имя командлета

Kazun
03-12-2014, 10:51
Это отдельная утилита и требуется скачать, psexec - http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Baggurd
03-12-2014, 11:09
Она у меня есть в system32. Как запустить ее через powershell чтобы аргументы были переменными? Вообще задача стоит запустить bat, который лежит в сети, на компьютерах в определенном контейнере AD

Kazun
03-12-2014, 11:22
& "C:\dfsfsdf\psexec.exe" "\\$Computer" -s -h "cmd /c $Command"

Baggurd
03-12-2014, 12:16
Спасибо! Все заработало как надо.




© OSzone.net 2001-2012