Почему gpedit и соответствующие записи реестра не синхронизируются?


11

Я на Windows 10 Pro. Я заметил, что когда я применяю некоторые политики через gpedit, соответствующие записи создаются в реестре. Если я отменю, записи также будут удалены из реестра.

Поэтому я ожидал, что это будет работать и наоборот, но если я вручную установлю ту же политику через реестр, соответствующие записи gpedit по-прежнему будут отображаться как «не настроено».

Я что-то пропустил? политика gpedit - это нечто большее, чем запись в реестре? так ... где они хранятся?

Ответы:


12

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

Параметры локальной групповой политики (о чем я думаю, вы упоминаете в своем сообщении) хранятся в registry.polфайлах, расположенных в C:\Windows\system32\GroupPolicy. Эти файлы перезаписывают соответствующие ключи в реестре каждый раз, когда система выполняет обновление групповой политики. Редактор никогда не читает реестр, чтобы узнать, какие настройки он содержит.

Обновление групповой политики запускается всякий раз, когда происходит одно из следующих событий:

  • Регулярно обновляемый интервал обновления (по умолчанию каждые 90 минут)
  • Событие входа или выхода пользователя (только политика пользователя)
  • Перезагрузка компьютера (только политика компьютера)
  • Обновление, запускаемое вручную через gpupdate
  • Команда обновления политики, выданная администратором с контроллера домена (если компьютер присоединен к домену).

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


Хорошее краткое изложение (+1). Я только добавил бы, что gpupdate /forceиногда может работать более надежно.
dxiv

3
@dxiv; Это происходит потому, что система кэширует политику и пытается применить только те параметры, которые изменились с момента последнего обновления. / Force заставляет повторно применить все настройки. Это кажется более надежным, потому что вы обычно делаете gpupdate только тогда, когда у вас есть проблема, и эта проблема, как правило, из-за того, что кеш плохой :-)
Wes Sayeed

9

Это работает так по трем причинам:

  • Групповая политика разработана с учетом «выталкивания» из контроллера домена Active Directory. Машины не предназначены для управления политикой обратно на контроллер домена.

  • Понятие политик и Active Directory было разработано в то время, когда коммутируемые соединения были очень распространены, а широкополосные - нет. Чтобы изменения в реестре для зеркального отражения на контроллере домена в этой ситуации, вероятно, потребляли бы очень ограниченную полосу пропускания, и в ситуациях, когда системы только изредка общались с контроллером домена через сеансы удаленного доступа здесь, и не было ничего неслыханного в NT4 дней я верю.

  • Вы, вероятно, заметили, что многие политики имеют параметр «Не настроен», «Включен» или «Отключен». Групповая политика имеет параметр «Не настроен», чтобы локальный параметр не затрагивался политикой. В частности, это означает, что вы, приложение или локальный администратор можете изменить соответствующие записи реестра, а политика не изменит их. Вы можете не захотеть контролировать каждый аспект системы через политику.

Таким образом, локальный реестр и групповая политика не синхронизируются с машиной-> AD по замыслу. Локальная групповая политика gpedit.mscработает аналогично, даже если она не синхронизируется ни с одним контроллером домена.


2
Я думаю, что ваше второе замечание, хотя и технически правильное, имеет минимальное значение. Домены AD и Windows вообще никогда не предназначались для использования по коммутируемым линиям, во-первых, только для локальных сетей. Ваши другие пункты, однако, на месте.
Джейми Ханрахан

Я только помню, что вы можете или могли бы указать "SMTP" в качестве протокола где-то для синхронизации AD ...
LawrenceC

SMTP? Простой протокол пересылки почты ? Это почтовый транспортный уровень, он не имеет ничего общего с dialup vs LAN. это было вероятно что-то еще. SLIP или PPP, может быть?
Джейми Ханрахан

1
Вот что я имел в виду: technet.microsoft.com/en-us/library/cc961766.aspx
LawrenceC

Но это не определяет коммутируемый доступ, просто протокол прикладного уровня, используемый поверх того, что обеспечивает ваше IP-соединение. «Протокол репликации, используемый репликацией Active Directory через IP-транспорт» - видите, это не собственный поставщик IP. Для коммутируемого соединения это будет PPP или SLIP.
Джейми Ханрахан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.