Запуск Powershell скриптов при помощи групповой политики на Windows XP, Windows 2003 и более старых
Как известно, после выхода на рынок операционных систем Windows Vista и Windows Server 2008, компания Microsoft стала активно внедрять новый инструмент автоматизации процессов администрирования, прищедщий на смену устаревшему BAT (CMD), язык Powershell. В последующем, все продукты компании начали получать поддержку этого языка. Стоит снять шляпу перед разработчиками, ибо они сделали язык с более-менее понятным синтаксисом (частично позаимствовав его из *nix-систем). С новыми продуктами все более менее понятно, но и о старых версиях ОС мелко-мягкие не забыли, и выпустили пакеты обновлений, позволяющие поддерживать powershell скрипты на более старых ОС. За это, конечно, спасибо, но остались некоторые вопросы.
Например, всем известно, что при помощи групповых политик Active Directory можно выполнять на клиентских машинах logon и logoff скрипты. Да, в новой версии настройки групповых политик (на серверах-контроллерах домена) появилась вкладка, которая позволяет добавить исполнение скрипта:
Но тут то Вас и постигнет разочарование. Этот элемент политики отработает только на ос не ниже Windows Vista. На более старых ОС он будет просто проигнорирован. И как же быть?
Все просто. Придется воспользоваться старым добрым батником. Имеющим следующий вид:
1 2 3 4 5 6 7 | echo off cls echo Start powershell script powershell.exe \\network_path\script.ps1 echo Stop powershell script |
Для того чтобы он заработал, нужно сделать 3 вещи:
1) Положить powershell-скрипт в сетевую папку, доступную с соответствующих компаов
2) Прописать в указанном батнике путь к вашему скрипту на PS вместо
1 | \\network_path\script.ps1 |
3) Прописать этот батник в групповую политику.
По сути, этот батник является посредником, который инициализирует запуск Powershell скрипта с правильными параметрами.
На всякий случай, прикладываю файл со скриптом, чтобы вы могли его скачать, модифицировать и использовать:
[dm]1[/dm]
Удачи!