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
Объект групповой политики создан, осталось только разрешить его репликацию между различными контроллерами домена.