Как создать, изменить или удалить параметр реестра через GPO?

В этой статье мы рассмотрим, как с помощью групповых политик (GPO) централизованно создавать, изменять значения, импортировать и удалять любые ключи и параметры реестра на компьютерах домена.

Для управления параметрами реестра в групповых политиках есть специальные расширения — предпочтения групповых политик (Group Policy Preferences — GPP). В GPP есть отдельный раздел, с помощью которого может настроить (создать, удалить, изменить) любой параметр или ветку реестра и распространить этот ключ на все компьютеры домена.

Допустим, вы хотите отключить автоматическое обновление драйверов на всех компьютерах в определенно контейнере (OU, Organizational Unit ) в AD. Для этого нужно изменить значение параметра SearchOrderConfig в ветке реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionDriverSearching . Вы можете настроить параметр реестра на целевых компьютерах домена двумя способами: с помощью встроенного в консоль GPP браузера реестра на удаленных компьютерах или вручную, путем ручного указания пути к ветке реестра и имени параметра.

Мастер настройки параметров реестра через GPO

Самый простой способ внести изменения в реестр через групповый Сначала рассмотрим первый способ:

  1. Откройте консоль управления доменными политиками Group Policy Management Console ( gpmc .msc );
  2. Создайте новую (или отредактируйте существующую) GPO, назначьте ее на нужный контейнер AD с компьютерами (или пользователями), на которые нужно распространить значение вашего параметра реестра. Перейдите в режим редактирования политики;
  3. Разверните раздел GPO Computer (или User) Configuration -> Preferences -> Windows Settings -> Registry и в контекстном меню выберите пункт New -> Registry Wizard;  Group Policy Preferences - создать новый ключ реестра
  4. Мастер Registry Wizard позволяет по сети подключиться к реестру на удаленном компьютере и выбрать имеющийся на ней параметр реестра и его значение;
  5. Укажите имя компьютера, к которому нужно подключиться; Браузер удаленного реестра
    Примечание . Если при подключении к компьютеру через Registry Browser появляется ошибка The network path was not found , скорее всего компьютер отключен, доступ к нему заблокирован файерволом, или на нем отключена служба Remote Registry (Удаленный реестр) The network path was not found Чтобы вручную включить службу RemoteRegistry, нужно на удаленном компьютере выполнить команды: sc config remoteregistry start= demand
    net start remoteregistry net start remoteregistry
  6. С помощью браузера удалённого реестра выберите все параметры реестра, которые вы хотите настроить через GPO;
    Примечание . Браузер реестра позволяет выбрать на удаленном компьютере только параметры из разделов HKEY_LOCAL_MACHINE и HKEY_USERS. Если нужно задать ключи, содержащиеся в других ветках реестра, придется на удаленном компьютере установить RSAT . Затем на этом компьютере запустите консоль gpmc.msc и по аналогичной процедуре выберите нужные вам параметры реестра.
  7. В нашем примере мы хотим через GPP изменить в реестре значение только одного параметра— SearchOrderConfig; Выбор ключа реестра на удаленной машине
  8. Указанный параметр реестра импортируется в консоль GPP вместе с путем и текущим значением ( 0 ). В консоли управления GPP появится полное дерево реестра Registry Wizard Values , в котором хранится данный параметр. В дальнейшем вы можете изменить его значение и действие с ним (рассмотрим чуть ниже); Ключ реестра в GPO
  9. На этом настройка GPO завершена. При следующем обновлении настроек групповых политик на целевых компьютерах, значение ключа реестра SearchOrderConfig изменится на 0.
    Если политика не отработала клиенте, воспользуйтесь для диагностики командой gpresult , и рекомендациями из статьи “ Почему не применяется GPO? ”).

Если политика перестанет действовать на компьютер (политика удалена или отлинкована от контейнера, компьютер перенесен в другой OU и т.д.), значение параметра реестра не вернется на первоначальное (дефолтное) значение.

Создать параметр реестра в GPO вручную

Вы можете создать, изменить или удалить конкретный параметр или ключ реестра с помощью GPP, указав ветку реестра, имя и значение параметра вручную.

  1. Для этого выберите пункт Registry -> New->Registry Item; Создать новый ключ реестра
  2. Задайте ваши настройки реестра:Action: Update
    Hive: HKEY_LOCAL_MACHINE_x000D_Key Path: SOFTWAREMicrosoftWindowsCurrentVersionDriverSearching_x000D_Value name: SearchOrderConfig_x000D_Value type: REG_DWORD_x000D_Value date: 00000000

    создать параметр реестра с помощью GPO

    Не указывайте имя HIVE в поле Key path, иначе в реестре будет создан дполнительный раздел вида HKEY_HKEY_XXX.

  3. По умолчанию для параметра реестра, которые настраиваются через GPO, устанавливается режим Update

Доступны 4 вида операции с параметрами реестра. Действия с ключом реестра

  • Create – создает параметр реестра. Если параметр уже имеется, его значение не меняется;
  • Update (По-умолчанию) – если параметр уже имеется, его значение изменится на значение, указанное в политике. Если параметр реестра не существует, он будет создан автоматически (как и ветка реестра, в которой он должен находится);
  • Replace — если элемент реестра уже существует, он удаляется и создается заново (применяется редко);
  • Delete – параметр реестра будет удален.

На вкладке Common есть еще ряд полезных опций:

Опции создания ключей в GPP

  • Run in logged -on user ’s security context (user policy option ) — ключ реестра создается в контексте текущего пользователя (возможно только для GPP, которые вы создаете в пользовательском разделе GPO User Configuration). Если у пользователя нет прав администратора, политика не сможет выполнить запись в системные ветки реестра;
  • Remove this item when it is no longer applied – если политика перестает действовать на клиента, параметр будет автоматически удален;
  • Apply once and do not reapply –п рименить политику только один раз (для компьютера, или пользователя). Если после первого применения GPO пользователь вручную изменит значение параметра реестра на своем компьютере, политика не перезатрет его значение при повторном обновлении GPO;
  • Item -level targeting – – возможность более точного таргетирования политики на клиентов (вы можете нацелить политику на конкретный IP, подсеть, имя компьютера, компьютеры с определенными характеристиками – т.е. можно настроить тонкое применение политик по аналогии с WMI фильтрами GPO ). Например, вы можете указать, что параметр реестра должен применится на компьютеры с Windows Server 2016 в OU Servers. gpp тонкий таргетинг параметра реестра через политики

Вот так в консоли GPMC (вкладка Settings) выглядит результирующей отчет с настройками групповой политики, которая меняет значение одного параметра реестра.

Результирующий отчет политики

Импорт REG файлов реестра через GPO

Расширение GPP позволяет администратору легко импортировать в групповую политику .REG файл сразу с несколькими параметрами реестра. Но для этого REG файл нужно сконвертировать в XML формат (редактор Group Policy Editor позволяет импортировать только файлы в XML формате).

Например, у нас имеется эталонный компьютер, на котором сконфигурированы настройки в некой ветке реестра. Экспортируйте эти настройки в REG файл, щелкнув правой кнопкой по имени ветки в редакторе реестра regedit и выбрав Export .

экспорт настроек реестра в reg файл

Сохраните параметры ветки реестра в файл с расширением REG.

Если в вашем REG файле присутствуют данные из разных кустов реестра (HKLM, HKCU, HK_CLASSES), их нужно разделить на отдельные файлы.

сохранить reg файл

Данный REG файл нужно преобразовать в XML формат (вы можете выполнить конвертацию reg->xml с помощью онлайн сервиса Reg2GPP https://www.runecasters.com.au/reg2gpp или PowerShell скрипта RegToXML.ps1 .

Полученный XML файл нужно скопировать в проводнике, и выполните вставку (Paste) в секции Registry редактора Group Policy.

импорт reg xml файла в GPO

Так все настройки реестра из вашего REG файла появятся в консоли и будут применены к компьютерам в домене.

настройка нескольких параметров реестра через gpo

Задать разрешения на ветку реестра через групповые политики

Через групповые политики вы можете изменить права доступа (ACL) на определенные ветки реестра. Вы можете использовать эту возможность чтобы запретить доступ не-администратором к защищенным разделам реестра, или наоборот предоставить пользователям права на внесение изменение в системные разделы реестра.

  1. Параметр ACL реестра в GPO можно задать через раздел Computer Configuration -> Windows Settings -> Security Settings -> Registry
  2. Создайте новый параметр ( Add key );
  3. Воспользуйтесь встроенным Registry Browser, чтобы найти нужный вам раздел реестра (или укажите путь вручную в формате MACHINESOFTWAREMicrosoftWindowsCurrentVersionDriverSearching ); изменить права на ветку реестра через групповые политики
  4. В окне Database Security задайте настройки ACL для вашего раздела реестра, которые вы хотите применить. В этом примере я хочу разрешить пользователям вносить любые изменения в этот раздел реестра. Нужно выбрать группу Users и разрешить для нее Full control. Если нужно включить наследование разрешений на вложенные ветки, нажмите Advanced -> Enable inheritance; Настроить ACL права доступа на ветку реестра
    Вы можете добавить или удалить любые другие группы безопасности или пользователей с локального компьютера или AD.
  5. Сохраните изменения. Теперь после обнвления GPO, на клиентах будут применены новые разрешения на ветку реестра.

Внести изменения в реестр через Logon скрипт GPO

До Windows Server 2008 для изменения параметров реестра через GPO можно использовать только bat-файлов для Logon скриптов ( с командой reg add или reg import для импорта reg файла с настройками реестра.

Чтобы внести изменения в реестр через логон скрипт GPO, нудно создать текстовый файл myreg.bat со нужными командами. Например:

  • Эти две команды позволяют задать настройки прокси сервера в Windows (запускать через Startup скрипт в Computer Configuration)
    reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
    reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionInternet Settings" /v ProxyServer /t REG_SZ /d yourproxyadress:proxyport /f
  • Следующие две команды очищают историю RDP подключений клиента . В этом примере мы обращаемся к пользовательскому разделу реестра, поэтому скрипт нужно запускать через Logon скрипт в User Configuration:
    reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientDefault" /va /f
    reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers" /f
  • Последняя команда позволяет импортировать в реестр сразу целый куст из REG файла. Для экспорта локальной ветки реестра в файл используется команда: reg export HKLMSoftwarePoliciesMicrosoftWindowsWindowsUpdate c:WindowsUpdateRegFile.reg

    reg import "%~dp0"WindowsUpdateRegFile.reg

    Параметр %~dp0 означает, что нужно подставить в скрипт текущий путь к каталогу, в котором находится bat файл.

Скопируйте ваш bat файл (и reg файл, если нужно импортировать его) в каталог Netlogon на контроллере домена ( \remontka.comnetlogon ).
команда reg add в логон скрипте GPO
Откройте вашу GPO и перейдите в раздел Computer Configuration -> Windows Settings -> Scripts -> Startup .
Нажмите Add и укажите UNC путь к вашему bat файлу в NETLOGON.
запуск bat скрипт через логон скрипт групповых политик
Ваш bat файл будет выполнен при загрузке Windows и внесет соответствующие изменения в реестр.

Такой bat файл будет применяться при каждой загрузке компьютера. Вы можете настроит GPO скрипт так, чтобы он выполнялся только один раз .

EnglishRussianUkrainian