Запуск сценария на компьютерах-членах домена Active Directory без перезагрузки или входа в систему

Запуск сценария на компьютерах-членах домена Active Directory без перезагрузки или входа в систему

У меня есть домен Active Directory, работающий на Windows Server 2003 R2. Клиенты — это смесь Windows XP SP2, Vista и Windows 7. Я хочу запустить скрипт (пакетный файл, но, возможно, скрипт VB) на каждой машине, один раз. Я не хочу, чтобы это происходило при входе в систему, выходе из системы, запуске или завершении работы. Я просто хочу, чтобы это происходило как можно скорее и один раз.

Существует ли относительно безболезненный способ сделать это, который подойдет всем типам клиентов?

Спасибо.

ОБНОВЛЯТЬ: Я должен был упомянуть об этом изначально: многие ПК находятся за дешевыми 5-портовыми маршрутизаторами, подключенными к разъему Ethernet. Представьте себе пять аспирантов, работающих в одном офисе. Таким образом, у каждого ПК в офисе есть IP-адрес RFC1918. Я нахожусь на публичной стороне маршрутизатора, поэтому не могу подключиться к ПК напрямую. Следовательно, PsExec или WMI не будут работать. WinRM может, но на большинстве ПК он не установлен. Я думаю, что мой единственный вариант — как-то использовать GPO, может быть, запланировать задачу для запуска скрипта с сетевого диска.

решение1

Я бы сказал, используйтеpsToolspsexec.exe для удаленного запуска скрипта.

Это безболезненный процесс настройки и запуска, не требующий входа на каждую станцию ​​и не оставляющий никаких следов впоследствии.


В ответ на все комментарии: поскольку они могут взаимодействовать с контроллерами домена, чтобы находиться в домене, вы должны иметь возможность перейти на контроллер домена и запустить скрипт Psexec оттуда.

решение2

Это звучит как работа дляpsexec. PSexec позволит вам удаленно выполнить скрипт на всех компьютерах в домене, если вы укажете '\' в качестве компьютера. Вам нужно будет добавить в свой скрипт некоторую логику, чтобы оставить в системе какое-то указание на то, что он завершен, и проверить это перед запуском.

решение3

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

решение4

Я хочу запустить скрипт (пакетный файл, но, возможно, скрипт VB) на каждой машине, один раз. Я не хочу, чтобы это происходило при входе в систему, выходе из системы, запуске или выключении. Я просто хочу, чтобы это произошло как можно скорее и один раз. Есть ли относительно безболезненный способ сделать это, который будет работать для всех типов клиентов?

VBскрипт.

Многие ПК находятся за дешевыми 5-портовыми маршрутизаторами, подключенными к разъему Ethernet. Представьте себе пять аспирантов, работающих в одном офисе. Таким образом, каждый ПК в офисе имеет IP-адрес RFC1918.

Я удивлен, что это вообще работает. Я предполагаю, что все маршрутизаторы имеют разные подсети; в противном случае ваш домен будет в полном и абсолютном хаосе, поскольку у вас будет любое количество клиентов, пытающихся заявить права на один и тот же IP-адрес 192.168.xx...

Я нахожусь на публичной стороне маршрутизатора, поэтому не могу подключиться напрямую к ПК. Поэтому PsExec или WMI не будут работать.

Это ваша первая проблема. Вам нужно попасть «внутрь» сети каждого из них. Похоже, что удаленные ПК находятся за каким-то брандмауэром NAT, и это вызовет массу головной боли. Технически, «в идеальном мире», ваш сервер должен находиться в той же сети, что и ваши клиенты. Клиенты подключаются через VPN? Если так, то это будет ваш билет «в».

Думаю, единственный вариант — как-то использовать GPO, может быть, запланировать задачу по запуску скрипта с сетевого диска.

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


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

Связанный контент