Run the powershell script with group policy - makves-ru/makves GitHub Wiki

Войти в управление групповыми политиками Ctrl+R вписать команду gpmc.msc

Выбрать нужный домен. Кликнуть правой клавишей мыши и нажать “Создать объект групповой политики в этом домене и связать его”

Задать название групповой политики

Найти Объект политики кликнуть правой клавишей мыши и нажать изменить

Пройти по пути Конфигурация компьютера - Политики - Конфигурация Windows - Сценарии. Справа выбрать Автозагрузка.

В появившемся окне свойств выбрать “Сценарии PowerShell” и нажать кнопку показать файлы.

Откроется папка политики каталога sysVol на ближайшем контроллере домена. Сюда надо перетащить файл вашего скрипта.

После этого нужно проверить разрешения на чтение и выполнение (Read & Execute) у вашего скрипта или всего каталога ...Machine\Scripts\Startup для компьютеров домена. Вызвать свойства - войти в безопасность - изменить - добавить и дать доступ компьютерам домена на чтение/чтение и выполнение.

Теперь необходимо вернуться в настройку свойств сценариев автозагрузки - войти в сценарии powershell и нажать кнопку добавить

В появившемся окне нажать кнопку обзор и выбрать нужный скрипт

После добавления сценарий отобразится в списке

Для корректного выполнения скриптов PowerShell при загрузке компьютера нужно настроить время задержки перед запуском с помощью политики в разделе конфигурация компьютера - административные шаблоны - система - групповая политика ( Computer Configuration -> Administrative Templates -> System -> Group Policy) Справа найти политику Настроить задержку сценария входа (Configure Logon Script Delay)

Отметьте пункт “включено” и укажите задержку в минутах. Обычно это 1-2 минуты

По умолчанию в настройках безопасности Windows запрещен запуск PowerShell скриптов. Возвращаемся в сценарии PowerShell, находим наш сценарий и нажимаем изменить

Для того, чтобы скрипт отрабатывался беспрепятственно и без предупреждений запускаем его в режиме Bypass. Заполняем параметры следующим образом:

-Noninteractive -ExecutionPolicy Bypass –Noprofile -file %~dp0myscript.ps1

Белиберда в виде %~dp0 преобразуется в UNC путь до каталога со скриптом


Если мы не хотим, чтобы скрипт запускался на серверах, то нужно сделать WMI фильтр.

Для этого ищем Фильтры WMI в управлении групповой политикой, нажимаем правой клавишей мыши и выбираем “Создать”

Задаем имя фильтра и назначение, нажимаем добавить.

В появившемся окне пишем:

  • пространство имен - root\CIMv2
  • запрос - Select * from Win32_OperatingSystem where ProductType="1"

Далее ок - сохранить.

Возвращаемся к нашей политике. И в графе Фильтр WMI выбираем из списка наш фильтр FilterWorkstation

Объект групповой политики создан, осталось только разрешить его репликацию между различными контроллерами домена.