Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows NT/2000/2003 (http://forum.oszone.net/forumdisplay.php?f=5)
-   -   [решено] Удаленный запуск скриптов через WMI... загр.в процессы но ни чего не делает. (http://forum.oszone.net/showthread.php?t=188251)

RUVATA 13-10-2010 15:13 1517972

Удаленный запуск скриптов через WMI... загр.в процессы но ни чего не делает.
 
Всем доброго времени суток...
Осваиваю WMI... в конкретном случае пытаюсь использовать Win32_Process.Create для запуска скрипта на удаленном компъютере, подкинув его в адм.шару (ADMIN$ "C:\WINDOWS\")
Я "Администратор" на КД, юзверь сидит под учеткой "Опытного пользователя", но с ограниченными GPO правми на "C:\"
и на некоторые парметры реестра касающиеся автозапуска и регистрации флэш

Сервер W2K3 R2 / клиент WinXP Pro (\\Zmes_01)

Код:

                                                      VBsript

Set objWMIService = GetObject ("winmgmts:\\" & "Zmes_01" & "\root\cimv2:Win32_Process")
Result = objWMIService.Create ("calc.exe", Null, Null, intProcessID)

так-же вместо calc.exe пробовал подставлять C:\WINDOWS\my.exe (реально там существующая, и реально работающая, если запускать локально на том-же компе прога, вернее скомпилированный в exe скрипт js)

В итоге на конечном компьютере вижу в процессах "calc.exe" запущенный "Администратор" но нихрена не происходит ни на сервере,
ни на конечном компьютере...
точно такая-же хрень если запускать что-либо из psexec... подцепившись с правами Администратора

В чем может быть дело? почему они запускаются но не работают?
В языке ошибки нет - это точно... проблемма в каких-то настройках системы....

cameron 13-10-2010 16:21 1518015

Цитата:

Цитата RUVATA
В итоге на конечном компьютере вижу в процессах "calc.exe" запущенный "Администратор" но нихрена не происходит ни на сервере, »

так а что вы хотите?
приложение то запущено, от нужной учётной записи.
мельком видела вторую вашу сегодняшнюю тему - по моему очередной велосипед изобретаете.
рассказывайте что вам нужно сделать и сразу скажите, есть ли у вас хоть один хост с виста или выше.

RUVATA 13-10-2010 17:04 1518053

вот к примеру js
Код:

var vbOKOnly = 0;
var WshShell = WScript.CreateObject("WScript.Shell");
var WshNetwork = WScript.CreateObject("WScript.Network")
var colDrives = WshNetwork.EnumNetworkDrives();
{
WshNetwork.MapNetworkDrive("J:", "\\\\Server\\DATA$", "False");
}

его задача подключить сетевой диск... J: (это так сказать для наглядности экперимента, реальный - же скрипт который мне необходимо запустить выполняет сотню операций ; обычно я его тупо запускал на конечных машинах локально, но вот решил попробовать пойти дальше запускать его автоматически и удаленно... при помощи GPO меня не устраивает т.к. можно или при входе, или при выходе... и надо его добавлять, потом убирать, а мне надо разово... взять и выполнить.)

Вот у меня скрипт под названием test.js
При помощи другово скрипта main.js я забрасываю его в адм.шару (ADMIN$) выбранных мною компьютеров сети... теперь мне его нужно там выполнить... вот для этих целей вроди бы и и спользуются
PowerShell, WHS, а так-же метод Create класса Win32_Process (WMI)... я выбрал последнее, так как мне вск это необходимо делать опять-же из скрипта...

Проблемма в том, что вот этот скрипт test.js, запущенный локально - отлично выполняет свою функцию... а вот если его запускать удаленно на той-же машине, то он появляется в процессах , но функцию свою не выполняет, и выгружается, если скомпилировать скрипт в exe, то опять-же локально все - OK, а удаленно
вернее просто висит в процессах... вот...

cameron 13-10-2010 17:20 1518061

Цитата:

Цитата RUVATA
Проблемма в том, что вот этот скрипт test.js, запущенный локально - отлично выполняет свою функцию... а вот если его запускать удаленно на той-же машине, то он появляется в процессах , но функцию свою не выполняет, и выгружается, если скомпилировать скрипт в exe, то опять-же локально все - OK, а удаленно
вернее просто висит в процессах... вот.. »

а если запускать через cscript c:\admin\script.js?
(да, ознакомьтесь с статьёй) на предмет дэбага и батча.
далее, возможно что идёт обращение к серверу с разных учёток, а множественные подключения не разрешены.
Цитата:

Цитата RUVATA
же скрипт который мне необходимо запустить выполняет сотню операций »

ну, я думаю, вы сами уже поняли ответ:
если эти "сотни" (не верю) операций это мапы дисков и тому подобная фигня - то ГПП.
Цитата:

Цитата RUVATA
при помощи GPO меня не устраивает т.к. можно или при входе, или при выходе... и надо его добавлять, потом убирать, а мне надо разово... взять и выполнить.) »

планировщик

RUVATA 13-10-2010 18:15 1518092

Цитата:

Цитата cameron
планировщик »

планировщик, если ему подкидывать задания удаленно делает ровным счетом то же самое...
процесс висит - результата - 0
Цитата:

Цитата cameron
это мапы дисков и тому подобная фигня - то ГПП. »

ГПП - ? GPMC
по больше части - да, в основном это файловые операции ;
он мапит диски, принтера, есть и специфическое оборудование, подкидывает дополнения к Mozilla TB и FF, проверяет и редактирует ini-шки некоторых программ написанных на FireBird, настраивает BDE, создает и шарит необходимые каталоги, подкидывает еще несколько батников и скриптов создает для них задачи (необходимо для архивирования и документооборота), определяет пользователя - подкидывает ему его настройки браузера, рабочего стола, ищет ненужные шары - рубит, лепит привычное сетевое окружение ... и еще кучу разных мелочей... которые долго и утомительно пришлось бы делать руками после очередной переустановки или на новой машине. (а компы у нас циркулируют постоянно туда-сюда)
Скрипт рабочий и проверенный, т.е. я сажусь за комп, захожу Админом, подтягиваю его - запускаю... и через считанные секунды - все готово!
А вот удаленно никак...
Цитата:

Цитата cameron
а если запускать через cscript c:\admin\script.js? »

а это можно сделать удаленно, из другого скрипта?

Да и не в этом суть, пусть это будет не скрипт а тот-же calc.exe
где результат... ну повис он в процессах а дальше...
смысл в том что он должен открыться в системе конечного компа не так ли?

QRS 14-10-2010 19:44 1518976

Цитата:

Цитата RUVATA
В чем может быть дело? почему они запускаются но не работают? »

Цитата:

Цитата RUVATA
var colDrives = WshNetwork.EnumNetworkDrives();
{
WshNetwork.MapNetworkDrive("J:", "\\\\Server\\DATA$", "False");
} »

Запуск через psexec не позволяет процессу в удаленной системе использовать сетевой доступ (то встречалось в мануале по sysinternals).

Как Вам уже написали Выше, GP - ответ на ваш вопрос.
ps: Powershell вам поможет только если будет стоять на всех клиентских машинах.

RUVATA 15-10-2010 19:32 1519691

GP не дает возможности, разово, сиюминутно выполнить какой нь-ть скрипт, или прогу на удаленной машине...
или я ошибаюсь?
Вобще-то я уже нашел способ делать то что мне нужно, это действительно WMI, суть здесь...
Я просто сделал выводы, из соображений и инфы предоставленной amel27...
1) Клиентская и удаленная часть скрипта...
2) Скрипт надо передавать в WSH выбранной машины,
3) Создать для этих целей отдельную учетку с админтскими правами,
слепить прогу с двумя основыными функциями -
создавать объекты WScript.Shell
и экземпляры класса \root\cimv2:Win32_Process
на основе переданных ей параметров, в нашем случае полный адрес к скрипту, или проге
4)Ввести ее в автозапуск систем пользователей как службу...
5)Основным скриптом передавать удаленный на машину нашей службе адрес и тип (скрипт/программа).

Получаем реал-тайм выполнение скрипта/программы на удаленных машинах, при этом результаты его работы не застревают в выделенной сессии, как например через PsExec, или через Win32_Process.Create удаленно, а явно наблюдаются юзверем, как буд-то все это делается локально в рамках его рабочей сессии т.е.ты можешь ему прям во время его работы диск смапить :)
а через RMI... Java-вой можно вообще творить че хочешь... JVM не волнуют предпочтения Windows на счет удаленного запуска процессов с графическим интерфейсом.

Причем для всего этого добра можно слепить себе простенький интерфейс, чем я в общем-то и занялся... есть еще несколько тонкостей, но они больше неудобства чем проблемы...


но все равно интересно...

cameron 15-10-2010 21:41 1519780

Цитата:

Цитата RUVATA
GP не дает возможности, разово, сиюминутно выполнить какой нь-ть скрипт, или прогу на удаленной машине...
или я ошибаюсь? »

сиюминутно - нет.
а через 30 минут (ЕМНИП это интервал обновления ГП) - да. а можно ГП + гпапдейт /форсе.

вы изобретатель велосипедов, вам нужно либо учиться делать правильно, либо идти в другую сферу. я боюсь предстваить, ЧТО получит человек после вас.

RUVATA 17-10-2010 17:04 1520850

Цитата:

Цитата cameron
а через 30 минут (ЕМНИП это интервал обновления ГП) - да. а можно ГП + гпапдейт /форсе. »

скрипт назначается, или на вход или на выход, а у меня например часть машин, на неделе раза два от силы выключаются... а некоторые вообще не вырубаются, и по специфике нельзя - АСКУЭ.
как тогда быть с GP ?

cameron 17-10-2010 19:12 1520976

Цитата:

Цитата RUVATA
скрипт назначается, или на вход или на выход »

какой скрипт то господи?..
GPP в фоне отрабатывают.

RUVATA 17-10-2010 20:16 1521049

cameron, спасибо...
GPP
я и не знал, о подобном расширении, это именно то, что нужно...
еще раз спасибо.
Вы были правы, еще в начале темы, я действительно "изобретал велосипед"...
хотя готовое решение было "под носом" + решает еще ряд попутных проблем,
но ограничения и неудобства все таки есть:
для работы с этим расширением, нужна w7 / Vista или w2k8... а у меня только одна 7-ка, и проблематично будет с нее юзверя снять...
____________________________________________
Но ради этого думаю стоит :)


Время: 08:45.

Время: 08:45.
© OSzone.net 2001-