Короткий ответ

Компьютерная политика применяется к учётке компьютера, не к пользователю, который сейчас залогинен. Смотрите OU объекта WS-042, security filtering и WMI именно для компьютера, статус GPO «параметры компьютера отключены», доступ к \\contoso.example\SYSVOL и отчёт gpresult /r /scope:computer. gpupdate /force без этого отчёта ничего не объясняет.

Пользовательские шаблоны, петля (loopback) и «почему у Иванова нет принтера» — отдельная статья. Здесь только Computer Configuration: пароль локального администратора, firewall профиля Domain, Restricted Groups, startup-скрипты, клиентский CSE Security.

Симптомы и как отличить

Типичная картина на WS-042:

  • в GPMC политика привязана, «на компьютере не видно»;
  • gpupdate /target:computer завершается, но параметр реестра/firewall не меняется;
  • в System: Event ID 1058 (нет gpt.ini) или 1030 (не удалось получить список GPO);
  • gpresult /r /scope:computer не показывает ожидаемый GPO в «Applied», зато он в «Filtered out».
НаблюдениеЭто не компьютерная GPOКуда
Настройки пользователя (оболочка, принтеры, папки)user-side / loopbackGPO пользователя
Политики разные на DCSYSVOL/DFSRSYSVOL
Узел не в домене / нет secure channelлогон, каналклиент не входит
Нет DC / нет DNSlocatorDNS

Возможные причины

От частых к редким:

  1. Компьютер лежит не в той OU: ссылка GPO на OU=Servers, объект WS-042 в OU=Computers.
  2. Security filtering: нет Apply Group Policy для компьютера или группы, в которую он входит; либо явный Deny.
  3. У Authenticated Users сняли Read на GPO (после рекомендации 2016 года Read обязателен, Apply можно оставить на узкой группе).
  4. WMI-фильтр ложен в контексте компьютера (OSVersion, диск, имя).
  5. У GPO статус «Computer configuration settings disabled» или ссылка Disabled.
  6. Block Inheritance на OU компьютера, политика не Enforced.
  7. SYSVOL недоступен или версии GPC/GPT разъехались — клиент не читает gpt.ini.
  8. CSE упал (Security, Audit): политика «применилась», параметр нет. Event 1085/1096.
  9. Медленная связь: часть расширений клиент пропускает.

Loopback не отменяет Computer Configuration. Он подменяет только User Configuration. Если «компьютерные» ожидания на самом деле пользовательские — вы в чужой статье.

Диагностика

Плейсхолдеры: домен contoso.example, DC DC01, узел WS-042.

1. Применился ли GPO к компьютеру

На WS-042 (админ):

gpupdate /target:computer /force
gpresult /r /scope:computer
gpresult /h C:\Temp\gpo-computer-WS-042.html /scope:computer

В HTML смотрите Computer Configuration → Applied GPOs и Denied GPOs (Security Filtering, WMI, Empty, Disabled).

С админской станции, если RSOP по сети разрешён:

Get-GPResultantSetOfPolicy -Computer 'WS-042.contoso.example' -ReportType Html -Path C:\Temp\rsop-computer.html

2. Где лежит компьютер и что на него ссылается

Get-ADComputer 'WS-042' -Properties DistinguishedName, MemberOf | Format-List DistinguishedName, MemberOf
Get-GPInheritance -Target 'OU=Workstations,OU=Sites,DC=contoso,DC=example'
Get-GPO -Name 'WS-Baseline-Computer' -Domain 'contoso.example' | Format-List DisplayName, GpoStatus, CreationTime, ModificationTime

GpoStatus со значением ComputerSettingsDisabled или AllSettingsDisabled — политика физически не отдаёт computer-часть.

3. Фильтры

В GPMC: Scope → Security Filtering и Delegation → Advanced. Компьютеру нужны Read (часто через Authenticated Users) и Apply group policy на объекте или группе. Deny на Apply перекрывает Allow.

WMI:

(Get-GPO -Name 'WS-Baseline-Computer' -Domain 'contoso.example').WmiFilter

Фильтр вида SELECT * FROM Win32_OperatingSystem WHERE ProductType=2 истинен только на DC. На WS-042 (член домена, ProductType=1 или 3) политика отфильтруется.

4. SYSVOL и GPT

Test-Path '\\contoso.example\SYSVOL\contoso.example\Policies'
Get-SmbShare -CimSession DC01 | Where-Object { $_.Name -in 'SYSVOL','NETLOGON' }
Get-WinEvent -ComputerName WS-042 -FilterHashtable @{ LogName = 'System'; Id = 1058,1030,1096 } -MaxEvents 20 |
  Format-Table TimeCreated, Id, Message -Wrap

Operational Group Policy на клиенте:

Get-WinEvent -LogName 'Microsoft-Windows-GroupPolicy/Operational' -MaxEvents 40 |
  Where-Object { $_.Id -in 4004,8004,5312,5313,7016 } |
  Format-Table TimeCreated, Id, Message -Wrap

4004/8004 — старт и завершение computer-обработки. 5313 перечисляет, почему GPO отброшен.

Решение

Сценарий A. Не та OU / ссылка выключена

Перенесите WS-042 в OU со ссылкой либо добавьте ссылку на фактическую OU. В GPMC ссылка должна быть Enabled. После смены OU:

gpupdate /target:computer /force

Перезагрузка нужна для части CSE (Security Settings, startup scripts), не для всех реестровых Administrative Templates.

Сценарий B. Security filtering

Верните Read для Authenticated Users на GPO. Apply оставьте на Domain Computers или на группе, куда входит WS-042$. Проверьте, что компьютер уже в группе: token компьютера обновляется после перезагрузки.

Сценарий C. WMI

Временно снимите WMI-фильтр на копии GPO в тестовой OU. Если без фильтра политика доходит — исправьте запрос (ProductType, версия ОС, модель). Не отключайте WMI-службу.

Сценарий D. SYSVOL / 1058

Сначала почините репликацию SYSVOL на DC, с которого клиент читает GPT. Не копируйте папки политик руками между DC «для скорости».

Сценарий E. CSE упал

В HTML gpresult смотрите ошибки расширений. Для Security Settings после исправления ACL часто нужна перезагрузка. Не удаляйте Registry.pol «для чистоты» — это рабочий кэш клиентской политики.

Как проверить, что проблема устранена

На WS-042 после цикла применения:

gpresult /r /scope:computer

Ожидаемый GPO в Applied Group Policy Objects, не в Filtered. Контрольный параметр Computer Configuration изменился (пример: конкретный профиль firewall, членство Restricted Groups). Сравните с эталоном с соседнего здорового узла той же OU.

Get-WinEvent -LogName 'Microsoft-Windows-GroupPolicy/Operational' -MaxEvents 10 |
  Where-Object { $_.Id -eq 8004 }

8004 без ошибки CSE — обработка компьютера завершена.

Если не помогло

  • Applied есть, параметра нет: смотрите конфликтующие GPO с меньшим номером (меньший wins при конфликтах в LSDOU; Enforced идёт иначе). gpresult показывает Winning GPO.
  • Политика то появляется, то нет: два DC с разным SYSVOL; клиент ходит на разные DC. Это не «GPO сломалась».
  • Только один узел: DNS клиента, secure channel, время. Сначала вход в домен.
  • Нужны пользовательские настройки на RDS/киоске — это loopback, не computer GPO.

Перед массовой правкой GPO в проде снимите baseline AD.

Профилактика

  • Отдельные GPO: computer-only и user-only, статус второй половины Disabled — проще читать RSOP.
  • Не фильтруйте Default Domain Policy узкими группами.
  • Тестовая OU и gpresult до выкладки на OU=Workstations.
  • Мониторинг Event 1058/1030 и шары SYSVOL.
  • Документируйте WMI-фильтры: на Windows Server 2025 тот же запрос, что писали под 2012 R2, часто ложен.

FAQ

Почему gpupdate пишет успех, а параметр компьютера не изменился?

Успех — клиент связался с DC и отработал цикл. Фильтрация, Disabled computer-части и проигрыш другой политике — не ошибка gpupdate.

Нужно ли запускать gpresult от имени пользователя?

Для computer-scope — нет, нужна локальная админская учётка. Пользовательский отчёт не доказывает применение Computer Configuration.

Компьютер в группе безопасности, а GPO всё равно Filtered — Security Filtering. Почему?

Token компьютера строится при старте Netlogon. Добавление в группу без reboot часто не видно. Проверьте whoami /groups неприменим к компьютеру; смотрите gpresult и MemberOf плюс перезагрузка.

Влияет ли loopback на компьютерные политики?

Нет. Loopback меняет, какие пользовательские GPO применятся в сеансе. Computer Configuration берётся из расположения компьютера как обычно.

Можно ли применить GPO только к пользователю, сидящему за этим ПК, через Computer Configuration?

Нет. Для «на этом компьютере у любого пользователя» используйте loopback и User Configuration, не пытайтесь имитировать это Restricted Groups и реестром HKCU из computer GPO.

Стоит ли сразу dcgpofix?

Нет. dcgpofix сбрасывает Default Domain Policy / Default Domain Controllers Policy к шаблону. Это не лечение фильтрации на вашей прикладной GPO.