gpupdate + gpresult: повний посібник з прикладами — IT-Wiki
» » » gpupdate та gpresult: як застосовувати GPO і розслідувати, чому вони не спрацьовують
ВИП. №187· липень 2026· НІЖИН

Новий формат бізнесу — у цифрі, у вашій щоденній роботі.

Автоматизація обліку, власні розробки на BAS/1С, IP-телефонія та відеоспостереження. Пишемо про те, що робимо — і робимо те, про що пишемо.

Популярні

    gpupdate та gpresult: як застосовувати GPO і розслідувати, чому вони не спрацьовують

    IT-Wiki / Атлас команд Windows 15 квітня 2026 Переглядів: 104 Автор: Claudia

    Перед стартом
    • Команди запускаються на клієнтській машині, на яку ви хочете застосувати або перевірити політику, а не на контролері домену.
    • gpresult без прав адміна показує лише обмежений звіт (тільки користувацькі політики). Для повної картини (Computer + User) — запускайте з-під адміна.
    • Віддалений запуск (/s HOSTNAME) працює, якщо у мережі відкриті порти WMI/RPC і ви маєте права на цільовій машині.

    Як GPO взагалі застосовується — щоб потім розуміти, що ми діагностуємо

    GPO на клієнті оновлюються:

    • При завантаженні комп'ютера — Computer Configuration.
    • При вході користувача — User Configuration.
    • Фоново, кожні 90-120 хвилин (90 мінут + random до 30 мінут) — обидві конфігурації.
    • Примусово командою gpupdate /force.

    Частина політик не застосовується фоново — тільки при reboot/logon. Це: Software Installation, Folder Redirection, Scripts (startup/shutdown/logon/logoff), Drive Maps (частково). Тому якщо міняєте такі налаштування — gpupdate /force недостатньо, потрібен перезапуск сеансу чи системи.

    gpupdate — застосування політик

    Базовий синтаксис:

    gpupdate [/Target:{Computer|User}] [/Force] [/Wait:N] [/Logoff] [/Boot] [/Sync]

    Найкорисніші варіанти:

    gpupdate

    Оновить тільки те, що змінилося у GPO з моменту останнього застосування. Швидко (кілька секунд), безпечно.

    gpupdate /force

    Перечитати й застосувати усі GPO з нуля, навіть незмінені. Займає довше (20-60 секунд на машині з багатьма політиками). Використовуйте коли є підозра, що дефолтна оптимізація «пропускає» щось важливе.

    gpupdate /target:computer /force

    Обновити тільки Computer Configuration. Корисно коли зміни стосуються параметрів ОС (firewall, services, security), а у користувача нічого не чіпали.

    gpupdate /target:user /force

    Аналогічно, тільки User Configuration. Без перепризначення комп'ютерних політик.

    gpupdate /force /logoff

    Застосувати GPO і відразу вилогінитись. Потрібно, коли зміна стосується політик, що працюють тільки при logon (наприклад Folder Redirection).

    gpupdate /force /boot

    Застосувати GPO і перезавантажити комп'ютер. Потрібно для Software Installation, Scripts startup, деяких security-параметрів.

    gpupdate /sync

    Переключити оновлення в synchronous mode на наступний logon — клієнт чекатиме повного застосування GPO перш ніж покаже desktop. Важливо, коли політики конфліктують у паралельному застосуванні. Ефект лише одноразовий на наступний вхід.

    gpresult — звіти про стан

    Синтаксис:

    gpresult [/s HOSTNAME] [/scope:{user|computer}] [/user USERNAME] [/r | /v | /z | /h file.html | /x file.xml]

    Формати виводу:

    • /r — короткий (resultant set) у консоль. Для швидкої перевірки.
    • /v — verbose, з детальними параметрами кожної GPO.
    • /z — super-verbose, з усіма реєстровими значеннями і правами. Сотні-тисячі рядків.
    • /h file.html — красивий HTML-звіт. Найзручніше для діагностики, відкривається у браузері.
    • /x file.xml — XML-звіт, для автоматичної обробки.

    Scope:

    • /scope:user — тільки користувацькі політики.
    • /scope:computer — тільки комп'ютерні.
    • Без ключа — обидва.

    Сценарій 1. Поміняли GPO на контролері, треба застосувати зараз

    Задача: додали у GPO «Corporate Firewall Settings» нове правило для відкриття порту 8080. Користувач-IT намагається приєднатися до вашого додатку, але фаєрвол блокує. Треба застосувати зміну негайно.

    На клієнтській машині (від адміна):

    gpupdate /force

    Якщо зміна була у Computer Configuration (фаєрвол — саме там) — після завершення все вже працює. Без перезавантаження.

    Якщо після цього нове правило все одно не з'являється у фаєрволі — переходимо до діагностики через gpresult (див. Сценарій 2).

    Сценарій 2. «У мене не мапиться мережевий диск» — читаємо RSoP

    Задача: Іванов зі сбуту каже, що у нього при вході не з'являється диск Z: з загальною папкою відділу. У GPMC бачите політику «Sales Drive Mapping» яка лінкована до OU «Sales» і начебто має спрацювати.

    Йдемо на машину Іванова, від імені Іванова (не адміна, бо хочемо юзерські політики саме його) або з адмінськими правами вказуємо /user:

    gpresult /h C:\Temp\ivanov-rsop.html /user DOMAIN\ivanov /f

    /f — перезаписати існуючий файл без питань. Відкриваємо HTML у браузері. У звіті шукаємо:

    • Розділ «Applied GPOs» — чи є там «Sales Drive Mapping»?
    • Розділ «Denied GPOs» — якщо «Sales Drive Mapping» тут, поруч буде причина:
      • «Access Denied (Security Filtering)» — Іванов не в security-групі, на яку лінкована політика.
      • «Denied (WMI Filter)» — WMI-фільтр не повернув true для машини (наприклад фільтр «OS version = Windows 10», а у Іванова Windows 11).
      • «Denied (Empty)» — політика порожня, нічого не містить.
      • «Denied (Disabled Link)» — лінк політики в GPMC вимкнений.
      • «Denied (Not applicable)» — Computer-політика прийшла на User-scope чи навпаки.
    • Розділ «OU Structure» — чи справді об'єкт Іванова у правильному OU «Sales»?

    У 90% випадків одна з цих причин пояснить, чому диск не мапиться.

    Порада

    gpresult /h робить справді красивий звіт з collapse-секціями. Надсилайте його клієнту чи колезі як додаток до тікета — видно всю картину одразу.

    Сценарій 3. GPO начебто застосувалось, але зміни не видно

    Задача: редагували GPO «Desktop Wallpaper» на контролері, gpupdate /force на клієнті пройшов без помилок, у gpresult /r політика показана як Applied. Але шпалери не змінились.

    Типові причини в порядку частоти:

    1. Політика типу «on logon», а користувач не вилогінювався. Вирішення: gpupdate /force /logoff.
    2. Tattooing — старе значення вже записано у реєстр ключем, який політика зараз не чіпає. Класика: ви прибрали параметр з GPO, очікуєте що «повернеться дефолт», а воно залишається. У таких випадках GPO треба не видаляти, а перевизначати у зворотному напрямку.
    3. Конфлікт двох GPO — одна каже «А», інша «Б», перемагає та, що вища у Link Order. gpresult /h покаже обидві, з позначкою яка взяла гору.
    4. Local Group Policy — на клієнтській машині хтось вручну виставив параметр у gpedit.msc, він перекриває доменну GPO. Ключова підказка в звіті: розділ «Computer/User Local Group Policy» з активним параметром.

    Сценарій 4. Перевірити GPO на віддаленому комп'ютері, не ходячи туди

    Задача: клієнт пише з-за міста, у корпоративному лептопі щось не так з безпекою. Треба подивитись його RSoP, але ви в іншому місті і RDP-сесію відкривати довго (і користувач усе одно працює).

    gpresult /s REMOTE-LAPTOP01 /scope:computer /h C:\Temp\remote.html /f

    Для користувацької частини:

    gpresult /s REMOTE-LAPTOP01 /user DOMAIN\username /scope:user /h C:\Temp\remote-user.html /f

    Потребує:

    • Ваш обліковий запис має бути адміном на REMOTE-LAPTOP01 (або у Domain Admins).
    • WMI/RPC порти (135, 445, динамічні) відкриті у фаєрволі до цієї машини.
    • Машина онлайн, не в Sleep.
    Примітка

    Якщо /s падає з помилкою «RPC unavailable» — найімовірніше Windows Firewall блокує вхідний WMI. На цільовій машині вмикається правилом «Windows Management Instrumentation (WMI-In)», зазвичай керується GPO. Іронія: щоб дізнатись, чому GPO не приходить, треба щоб GPO уже прийшов раніше.

    Сценарій 5. Loopback processing — плутанина user/computer

    Задача: на terminal-сервері треба, щоб при вході будь-якого користувача користувацькі політики бралися не з його «рідної» OU, а з OU самого сервера. Це і є Loopback Processing.

    Перевіряємо, чи ввімкнений loopback на клієнті:

    gpresult /scope:computer /v | findstr /i "loopback"

    Якщо показує «User Group Policy Loopback Processing Mode: Enabled (Replace/Merge)» — loopback увімкнений.

    Тоді при наступному gpresult /scope:user ви побачите дивне: у User Applied GPOs — політики з OU сервера, а не юзерського. Це НЕ помилка, а правильна поведінка loopback. Але якщо не знати — можна годинами гадати «чому юзеру прийшли шпалери з серверної OU».

    Сценарій 6. Скриптити gpresult для аудиту

    Задача: перед великою міграцією хочете зафіксувати стан GPO на 50 машинах відділу бухгалтерії. Потім після міграції порівняти.

    Скрипт PowerShell, який обходить список хостів:

    $hosts = Get-Content C:\Temp\buh-hosts.txt
    foreach ($h in $hosts) {
        $out = "C:\Temp\gpo-audit\$h.xml"
        gpresult /s $h /scope:computer /x $out /f 2>&1 | Out-Null
        Write-Host "[$(Get-Date -Format HH:mm:ss)] $h -> $out"
    }

    Результат — 50 XML-файлів з повними RSoP, які можна порівнювати через Compare-Object або просто diff-ом.

    Типові пастки

    Пастка 1: /force тригерить багато IO

    На машинах з 30+ лінкованими GPO gpupdate /force — це 30-60 секунд CPU+disk+network. Масовий запуск через psexec на 100 машинах одночасно може просадити навантаження на DC (де лежать SYSVOL) та на клієнтів. Для масового оновлення — розтягніть у часі або запускайте без /force (звичайний gpupdate обновлює лише змінене, зазвичай цього достатньо).

    Пастка 2: «Applied» не означає «зробило те, що я очікував»

    gpresult показує політики, які успішно обробились, а не ті, що візуально змінили щось. Якщо GPO порожня чи зайвий параметр — вона все одно буде в Applied. Для реальної перевірки ефекту: дивіться значення у реєстрі, службах, файловій системі.

    Пастка 3: старий кеш gpresult

    На свіжо-перенесених машинах gpresult іноді показує попередній домен, поки не буде reboot. Вирішується gpupdate /force + повторний логін або перезавантаження. Ще надійніше — rsop.msc (MMC snap-in), який дивиться в реальному часі.

    Пастка 4: невидимі з консолі помилки

    Якщо gpupdate закінчився з «User policy could not be updated successfully» — точну причину шукайте у Event Viewer: Applications and Services Logs → Microsoft → Windows → GroupPolicy → Operational. Там буде Event ID і конкретна SID/GUID політики, яка впала.

    Чеклист діагностики «GPO не працює»

    Що перевірити по порядку
    • Перевірити, що на клієнті пройшов gpupdate /force без помилок.
    • Згенерувати gpresult /h report.html /f, відкрити, подивитися Applied/Denied.
    • Якщо «Denied (Security Filtering)» — перевірити членство у групі (whoami /groups на клієнті, або Get-ADPrincipalGroupMembership).
    • Якщо «Denied (WMI Filter)» — відкрити WMI-фільтр у GPMC, виконати його запит локально через wbemtest або PowerShell.
    • Якщо GPO в Applied, але ефекту нема — звірити реальне значення у реєстрі / службі з очікуваним.
    • Якщо нічого не допомагає — Event Viewer → GroupPolicy → Operational. Зазвичай у останні 10 записів є відповідь.
    • Для User Configuration політик, що діють при вході — gpupdate /force /logoff.
    • Для Computer Configuration типу Software Install — gpupdate /force /boot.

    Пов'язане

    gpupdate і gpresult — пара, якої в активному арсеналі AD-адміна має бути більше, ніж GPMC. GUI красивий, але під час інциденту треба факти з клієнта, а не «теоретично має працювати, бо у редакторі видно що лінковано». Клієнт знає правду — саме вона видається цими двома командами.

    Опубліковано: 15-04-2026, 18:56 · Автор: Claudia
    Вхід
    Опитування

    Якою програмою обліку ви користуєтесь?