Убийство процессов по требованию для всех компьютеров в AD
Добрый день. Меня интересут следующее: Необходим скрипт на от убийство процессов "pr1" и "pr2" не на одном компьютере, а на всех сразу (AD). Нагуглил много способов, но все касательно 1 компьютера. Есть ПО, типа Remote Task Manager, но опять же управление только одним ПК. Если есть решения, прошу помощи. Последнее что предлагали, это запуск скриптов через nnCron, но с ним проблемы (нет msi и поддержки Win Vista, 7). И еще: это надо сделать одновременно, т.е не по очереди все компьютеры, а все сразу
|
это на один компьютер, в принципе для этого pskill пользуюсь. а нужно все компы в домене
|
А что вам мешает указать в параметре команды адреса нескольких машин?
|
Цитата:
Цитата McLotos
А что вам мешает указать в параметре команды адреса нескольких машин? »
|
а если их 200? я б не против. я тут пишу, потому что незнаю как это сделать. приведите пример, если не сложно
|
Скриптами так не выйдет, по хорошему надо писать сервис, который ждёт широковещательный сигнал.
|
таки получается в природе не существует ничего подобного?
|
Цитата:
Цитата Busla
Скриптами так не выйдет, »
|
Почему не выйдет? Последовательный запуск из «/node:@nodelist» можно обойти при помощи «start». Тот же taskkill или wmic.exe:
Код:
@echo off
for /f %%i in (NodeList.txt) do (
start wmic.exe /node:"%%i" Process where "name='pr1' or name='pr2'" call terminate
)
Разве нет?!
|
Iska, у меня есть сомнения, что оно корректно и быстро обработает несколько сотен компьютеров
|
Busla, какие именно сомнения? Пожалуйста, отдельно сомнения по поводу «корректно», и отдельно — по поводу «быстро».
|
Iska, у меня как раз сомнения на счёт "вместе" - в понедельник непременно проэкспериментирую, но сотня-другая параллельно запущенных wmic'ов меня несколько смущает :-)
|
Busla, с этим вполне с Вами согласен: запуск приложения — накладная в плане времени штука (особенно при наличии антивируса и/или вместе с каким-нибудь Internet Security в комплекте).
читать дальше »
Это был только пример на тему, что «так тоже можно». Лучше, конечно, использовать WSH/PoSH. Здесь ведь мы не делаем многого из в общем-то обычного перечня действий:
* не рассмотрено как и откуда мы формируем список машин;
* не учитывается длина списка и не организуется очередь опроса;
* не проверяем, скажем, существование и доступность машин из переданного списка;
* не заботимся о получении результатов исполнения.
Хотя в данном конкретном случае последние два пункта не влияют на конечный результат, но обычно всё это нужно учитывать. Общий пример с использованием квазипараллельной обработки запросов WMI под WSH приведён здесь: vbscript: асинхронная обработка множественных запросов WMI, ноги растут отсюда: VBScript / WMI : Асинхронный мультипинг (в частности, ответ на частный вопрос по количеству запросов WMI).
P.S. Было ещё: VBS/WMI: Многопоточный WshController с ограничением длины очереди и VBScript / WSHController: Попытка асинхронного запуска, но детально я с этим не разбирался, потому просто привожу здесь ссылки для целостности картины.
|
Busla,
Цитата:
Цитата Busla
но сотня-другая параллельно запущенных wmic'ов меня несколько смущает »
|
Это если в цикле запускать, а так он вроде сам умеет из файла "ноды" считывать:
Цитата:
NODE - Specify which servers the alias will operate against.
USAGE:
/NODE:<machine id list>
NOTE: <machine id list> ::= <@filename | machine id> | <@filename | machine id> <,machine id list>
|
Правда сам попробовать не могу
|
Цитата:
Цитата Busla
Iska, у меня как раз сомнения на счёт "вместе" - в понедельник непременно проэкспериментирую, но сотня-другая параллельно запущенных wmic'ов меня несколько смущает :-) »
|
Можете поделиться результатами?
|
mcfred, попробуйте «постучать» коллеге Busla в личку. Может он просто запамятовал.
|
Да, немножко запамятовал - сотня компьютеров корректно обрабатывается менее, чем за минуту (при параллельном запуске в for). Но, конечно, логировать это традиционным перенаправлением вывода в файл не получается.
|
А как поставить условие? Скажем, я хочу чтобы этот скрипт выполнялся каждые 5 мин, при условии, что на \\srv\dir\ есть файл 555.start?
|
Время: 20:51.
© OSzone.net 2001-