Назад | Перейти на главную страницу

Как включить параметр локальной групповой политики с помощью PowerShell и / или API?

Я только что обнаружил, что мне нужно включить параметр локальной групповой политики (Конфигурация компьютера -> Административные шаблоны -> Система -> Профили пользователей) на сервере, на котором запущено определенное приложение. У меня есть установочный скрипт PowerShell, который я использую для установки приложения и настройки сервера. Я хотел бы иметь возможность включить эту групповую политику в моем сценарии установки. Есть ли способ сделать это в PowerShell? Если не, любая другая технология? Мне комфортно с использованием Win32 API, если это мой единственный вариант.

Большинство параметров групповой политики - это просто ключи реестра в HKLM \ Software \ Policies. Если ваш сценарий PowerShell запускается от имени администратора, вы можете просто установить соответствующее значение реестра и добиться того же эффекта, не касаясь групповой политики.

Сопоставление значений реестра и параметров GPO задокументировано Microsoft. https://www.microsoft.com/en-us/download/details.aspx?id=25250

Как правило, смешивать локальный объект групповой политики и объект групповой политики домена с серверами (это должно быть одно или другое, иначе вы столкнетесь с «разовыми» проблемами). Следуя принципу функциональных GPO, я бы рекомендовал создать GPO с определенными настройками, прикрепить его к OU вашего сервера и создать фильтр для присоединения к GPO.

Фильтр может быть либо для установленного приложения (это записи реестра, путь установки и т. Д.), Либо для COMPUTERNAME. В настройках фильтра для справки используется WQL.