На одном из компьютеров перестали применяться новые параметры групповых политик. Для диагностики я вручную обновил параметров GPO с помощью команды
gpupdate /force
и увидел такую ошибку в консоли:
Не удалось успешно обновить политику компьютера. Обнаружены следующие ошибки: Ошибка при обработке групповой политики. Windows не удалось применить основанные на данных реестра параметры политики для объекта групповой политики "LocalGPO". Параметры групповой политики не могут быть применены, пока не будет исправлена эта ситуация. Сведения об имени и пути файла, вызвавшего эту ошибку, содержатся в подробностях об этом событии.
Computer policy could not be updated successfully. The following errors were encountered: The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LocalGPO. Group Policy settings will not be resolved until this event is resolved. View the event details for more information on the file name and path that caused the failure.
При этом в журнале System появляется событие с EvetID 1096 с тем же описанием (The processing of Group Policy failed):
Log Name: System Source: Microsoft-Windows-GroupPolicy Event ID: 1096 Level: Error User: SYSTEM
Если попробовать выполнить диагностику применения GPO с помощью команды gpresult (
gpresult.exe /h c:\tempt\gpresultreport.html
), видно что не применяется только настройки из раздела Group Policy Registry —
Failed
:
Registry failed due to the following error listed below. Additional information may have been logged. Review the Policy Events tab in the console or the application event log.
Получается, что к компьютеру не применяются только GPO с настройками клиентских расширений групповых политик CSE (client-side extension), которые отвечают за управление ключами реестра через GPO.
Расширение Registry client-side не смогло прочитать файл registry.pol. Скорее всего файл это поврежден (рекомендуем проверить файловую систему на ошибки с помощью chkdsk). Чтобы пересоздать этот файл, перейдите в каталог c:\Windows\System32\GroupPolicy\Machine и переименуйте его в registry.bak.
Можно переименовать файл из командой строки:
cd "C:\Windows\System32\GroupPolicy\Machine"
ren registry.pol registry.bak
Обновите настройки групповых политик командой:
gpupdate /force
Windows должна пересоздать файл registry.pol (настройки локальных GPO будут сброшены) и успешно применить все настройки GPO.
Если в журнале вы видите событие Event ID 1096 (
The processing of Group Policy failed. Windows could not apply the registry-based policy settings for the Group Policy object LDAP://
) c ErrorCode 13 и описанием “
The data is invalid
”, значит проблема связана с доменной GPO, указанной в ошибке.
Скопируйте GUID политики и найдите имя GPO с помощь команды PowerShell:
Get-GPO -Guid 19022B70-0025-470E-BE99-8348E6E606C7
- Запустите консоль управления доменными GPO (gpmc.msc) и проверьте, что политика существует;
- Проверьте, что в каталоге SYSVOL политики есть файлы registry.pol и gpt.ini и они доступны на чтение (проверьте NTFS права);
- Проверьте, что версия политики на разных контроллерах домена одинакова (проверьте корректность работы домена и репликации в AD);
- Удалите файлы GPO в SYSVOL на контроллере домена, с которого получает политику клиент (
$env:LOGONSERVER
), и дождитесь ее репликации с соседнего DC - Если предыдущие способы не помогут, пересоздайте GPO или восстановите ее из бэкапа.
На этапе внедрения RODC на базе Windows Server 2008 R2 была замечена проблема, связанная с увеличением времени входа в систему на клиентских ПК. Проблема была выявлена на всех площадках, где для авторизации в домене и применения групповых политик клиенты использовали RODC. После ввода учетных данных процесс входа в систему на несколько минут «замерзал» на этапе «Applying Group Policy Drive Maps policy». Разумеется, подозрение сразу пало на обработку Group Policy Preferences (GPP) в части обработки подключения сетевых дисков, так как в одной из групповых политик, применяемых в части User Configuration у нас было некоторое количество таких подключаемых дисков через механизмы GPP с использованием для каждого подключения нацеливания (Item-level targeting).
Для подключения разных дисков использовались три вида нацеливания: по членству пользователя в доменной группе, по NetBios имени компьютера и по вхождению пользователя в определенный OU в домене.
Для того, чтобы выяснить то, обработка какого именно подключения являлась корнем проблемы, пришлось прибегнуть к включению трейсов для обработки параметров GPP. Для этого в групповой политике, применяемой к испытуемому клиентскому компьютеру, в разделе Computer Configuration потребовалось активировать и настроить параметр Policies > Administrative Templates > System > Group Policy >Logging and tracing > Drive Maps Policy Processing.
По умолчанию ведение трейсов выключено и параметры для определения размещения лог файлов ссылаются на каталог %COMMONAPPDATA%\GroupPolicy\Preference\Trace.
Как ни странно, мы не обнаружили на своих испытуемых системах Windows 7/Windows Server 2008 R2 переменной окружения %COMMONAPPDATA% и поэтому изменили путь для хранения логов с использованием существующей переменной окружения — %programDATA%. В данном случае нас интересовал параметр User trace и его значение получилось в нашем случае таким: %programDATA%\GroupPolicy\Preference\Trace\User.log
Уровень логирования пришлось использовать максимальный, чтобы получить весь доступный объем информации о происходящем в процессе обработки GPP. И на всякий случай было увеличено значение максимального размера лог-файла.
После того, как новая политика, включающая логирование применения GPP, была применена на клиенте с помощью команды gpupdate, был выполнен logoff/logon, чтобы спровоцировать обработку GPP в части подключения сетевых дисков пользователю. Теперь на испытуемом клиентском компьютере в указанном каталоге (C:\ProgramData\GroupPolicy\Preference\Trace) был обнаружен файл трассировки User.log.
После изучения лога стало понятно, что обработка GPP всех сетевых дисков проходила «на одном дыхании» и заметный провал во времени обработки (более 1 минуты) происходил именно на одном определенном диске — “H:”
Оказалось что это единственный сетевой диск, в котором для нацеливания использовался признак вхождения пользователя в определенный OU в домене. Было принято решение для пробы изменить нацеливание для данного сетевого диска по признаку членства пользователя в доменной группе… Каково же было наше удивление, когда время входа в систему сократилось в разы :). Приведу лог обработки после внесённых изменений, чтобы не быть голословным.
Причем повторюсь, что проблема наблюдалась только на клиентах, которые сидели в сайте с RODC, а на клиентах, имеющих в сайте полноценные DC такой «бяки» замечено не было.
Исходя из этой истории, напрашивается вывод о том, что к применению Item-Level targeting нужно подходить с аккуратностью и предварительной обкаткой разных вариантов, тем более GPP предоставляет нам хороший выбор таких вариантов.
This might sound like a silly question, but following the power outage, are all devices back online? Do you have a server where drives map which may have been missed and still powered off at all?
I have often found when Group Policy hangs like this (usually around the 5 minute mark), it’s a timeout. This means that it just cannot find what it needs, in this case, maybe the drive location?
How are your drives mapped? All through group policy, or do you have scripts which run?
***Edit: I realise now just how old this thread was… apologies for «bumping» this… either way, might be of some use to someone in the future ***
Реализация DI в PHP
Jason-Webb 13.05.2025
Когда я начинал писать свой первый крупный PHP-проект, моя архитектура напоминала запутаный клубок спагетти. Классы создавали другие классы внутри себя, зависимости жостко прописывались в коде, а о. . .
Обработка изображений в реальном времени на C# с OpenCV
stackOverflow 13.05.2025
Объединение библиотеки компьютерного зрения OpenCV с современным языком программирования C# создаёт симбиоз, который открывает доступ к впечатляющему набору возможностей. Ключевое преимущество этого. . .
POCO, ACE, Loki и другие продвинутые C++ библиотеки
NullReferenced 13.05.2025
В C++ разработки существует такое обилие библиотек, что порой кажется, будто ты заблудился в дремучем лесу. И среди этого многообразия POCO (Portable Components) – как маяк для тех, кто ищет. . .
Паттерны проектирования GoF на C#
UnmanagedCoder 13.05.2025
Вы наверняка сталкивались с ситуациями, когда код разрастается до неприличных размеров, а его поддержка становится настоящим испытанием. Именно в такие моменты на помощь приходят паттерны Gang of. . .
Создаем CLI приложение на Python с Prompt Toolkit
py-thonny 13.05.2025
Современные командные интерфейсы давно перестали быть черно-белыми текстовыми программами, которые многие помнят по старым операционным системам. CLI сегодня – это мощные, интуитивные и даже. . .
Конвейеры ETL с Apache Airflow и Python
AI_Generated 13.05.2025
ETL-конвейеры – это набор процессов, отвечающих за извлечение данных из различных источников (Extract), их преобразование в нужный формат (Transform) и загрузку в целевое хранилище (Load). . . .
Выполнение асинхронных задач в Python с asyncio
py-thonny 12.05.2025
Современный мир программирования похож на оживлённый мегаполис – тысячи процессов одновременно требуют внимания, ресурсов и времени. В этих джунглях операций возникают ситуации, когда программа. . .
Работа с gRPC сервисами на C#
UnmanagedCoder 12.05.2025
gRPC (Google Remote Procedure Call) — открытый высокопроизводительный RPC-фреймворк, изначально разработанный компанией Google. Он отличается от традиционых REST-сервисов как минимум тем, что. . .
CQRS (Command Query Responsibility Segregation) на Java
Javaican 12.05.2025
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций. . .
Шаблоны и приёмы реализации DDD на C#
stackOverflow 12.05.2025
Когда я впервые погрузился в мир Domain-Driven Design, мне показалось, что это очередная модная методология, которая скоро канет в лету. Однако годы практики убедили меня в обратном. DDD — не просто. . .