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

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