gpupdate /force и сброс локальных групповых политик Windows 10/11
Москва, Щёлковское шоссе, д. 92, корп. 7 · Пн–Пт 9:00–19:00 · +7 903 729-62-41
· 14 мин чтения

Сброс локальных групповых политик в Windows 10 и 11

Сброс локальных групповых политик в Windows 10 и 11

Сброс локальных GPO лечит типичный сценарий: предыдущий админ «накрутил» групповые политики, и система стала капризничать — блокируется командная строка, не открывается диспетчер задач, запрещается запуск .exe, а доступа к настройкам нет. Если после обновления перестал запускаться Word или похожая программа, чаще всего помогает именно сброс этих самых локальных GPO. Дальше — три надёжных способа это сделать.

Что такое локальные групповые политики

В Windows есть три слоя GPO:

  1. Локальные — хранятся на самом ПК в C:\Windows\System32\GroupPolicy и GroupPolicyUsers.
  2. Доменные — приходят с Active Directory, перезаписывают локальные.
  3. Site/OU — уровни в AD-иерархии.

Когда мы говорим «сбросить локальные» — сбрасываем только первый слой. Доменные применятся заново при ближайшем gpupdate или рестарте.

Способ 1: gpedit.msc — ручной откат

Этот метод отлично подойдёт, если вы чётко представляете, какая конкретная политика подложила вам свинью. И, конечно, если у вас установлена Windows Pro/Enterprise – ведь без доступа к редактору тут никуда.

  1. Win+R → gpedit.msc.
  2. Чтобы просмотреть, какие политики сейчас применены, зайдите в View → All settings, затем отсортируйте список по параметру «State = Enabled».
  3. Для каждой проблемной политики просто сделайте двойной клик и установите её в режим «Not Configured».
  4. Закрыть редактор.
  5. Выполнить gpupdate /force в CMD (админ).

Минус здесь очевиден: если политик много, придётся попотеть. Зато плюс весомый — работаешь точечно, не затрагивая ничего лишнего.

Способ 2: полный сброс через удаление Registry.pol

А вот это наш самый любимый способ! Особенно, когда голова идёт кругом, и совершенно непонятно, что именно пошло не так. Главное, он прекрасно работает вообще на всех редакциях Windows, даже на Home!

REM Запуск от администратора
RD /S /Q "%WinDir%\System32\GroupPolicyUsers"
RD /S /Q "%WinDir%\System32\GroupPolicy"
gpupdate /force
shutdown /r /t 0

Что происходит:

Крайне важно понимать: этот способ сбрасывает ТОЛЬКО локальные GPO. Доменные же политики вернутся на место при следующем запуске или обновлении. Но если ваш ПК не состоит в домене, то вы получите абсолютно чистое, дефолтное состояние.

Способ 3: secedit — сброс политик безопасности

Если вся загвоздка кроется в политиках безопасности — тех, что касаются паролей, аудита или прав доступа — этот вариант выручит.

secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

Команда восстанавливает Security Settings из шаблона по умолчанию defltbase.inf, который ставится с Windows. Все изменения в «Security Settings» откатываются, но Administrative Templates остаются.

Таблица: какой способ когда применять

СитуацияСпособ
Знаю конкретную политикуgpedit.msc → Not Configured
Windows Home без gpeditУдаление Registry.pol
После чужих экспериментов, много наслоенийУдаление Registry.pol
Сломалось что-то в Security Settingssecedit /configure
Компьютер в AD-доменеПравить GPO на DC, не локально
Последние шансы, есть точка восстановленияSystem Restore

PowerShell-скрипт для массового сброса

Когда нужно быстро пройтись по нескольким ПК в одном отделе, и они находятся в рабочей группе (то есть не в домене), мы всегда используем наш готовый скрипт.

# Reset-LocalGPO.ps1
#Requires -RunAsAdministrator

$paths = @(
  "$env:WinDir\System32\GroupPolicy",
  "$env:WinDir\System32\GroupPolicyUsers"
)
foreach ($p in $paths) {
  if (Test-Path $p) {
    Remove-Item $p -Recurse -Force
    Write-Host "Removed $p"
  }
}

& secedit /configure /cfg "$env:WinDir\inf\defltbase.inf" /db defltbase.sdb /verbose

& gpupdate /force

Write-Host "Done. Reboot recommended."

Запускаем его через PsExec или WinRM на всех нужных машинах. Быстро и удобно.

Особенности в AD-домене

Если ПК в домене — вопрос обычно не в локальных политиках, а в доменных. Локальный сброс не даст эффекта дольше следующего gpupdate. Правильный путь:

  1. На клиенте — gpresult /h gpo-report.html, смотрим, какая доменная GPO применяется.
  2. На DC — gpmc.msc, правим конкретную GPO (Not Configured) или убираем Link.
  3. На клиенте — gpupdate /force.
  4. Если настройка упорно не хочет откатываться, значит, политика была применена в режиме Enforced, буквально «зататуировав» реестр. Что делать в таком случае? Нам понадобится создать отдельный обратный GPO, который явно установит параметр в Disabled.

Реальный кейс: заблокированный CMD на 40 ПК

Как-то раз, буквально в 2024 году, к нам обратился интересный клиент — небольшая бухгалтерская фирма в Тушино. Всего 40 рабочих мест. Оказалось, их бывший админ, увольняясь, решил «на прощание» включить для всех сотрудников опцию «Prevent access to the command prompt» через локальные GPO. Заметьте, домен у них не был развёрнут! Что же случилось дальше? Сотрудники попытались запустить свой привычный 1С-скрипт для обновления курса валют и… получили сообщение: «Командная строка отключена администратором». Вся работа моментально встала колом!

Что мы сделали? Организовали экстренный выезд, провели быструю инвентаризацию, на ходу подготовили PowerShell-скрипт с WinRM и в итоге массово сбросили локальные GPO сразу на всех 40 ПК. Управились всего за 1,5 часа! Кстати, этот экстренный выезд обошёлся клиенту в 24 000 руб. Но это ещё не всё: заодно мы развернули для них полноценный мини-домен на базе Windows Server, обеспечив нормальное централизованное управление GPO. Теперь подобная ситуация у них просто не сможет повториться.

Грабли

Резервная копия перед сбросом

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

REM Копия каталогов локальных политик (Registry.pol, скрипты, служебные файлы)
robocopy "%WinDir%\System32\GroupPolicy" "C:\GPO-backup\GroupPolicy" /E
robocopy "%WinDir%\System32\GroupPolicyUsers" "C:\GPO-backup\GroupPolicyUsers" /E

REM Выгрузка текущих политик безопасности в шаблон
secedit /export /cfg C:\GPO-backup\secpol-before.inf

Команда secedit /export по документации Microsoft предназначена как раз для резервного копирования политик безопасности локального компьютера и переноса их на другую машину. Ключ /cfg обязателен — это путь к выходному шаблону. Если нужны не все разделы, добавляю /areas с перечнем через пробел: securitypolicy (политики учётных записей, аудит, параметры безопасности), user_rights (права пользователей), group_mgmt (ограниченные группы), regkeys, filestore, services. Для машины в домене есть ключ /mergedpolicy — он выгружает объединённые доменные и локальные параметры безопасности, и по такому файлу удобно понять, что пришло с контроллера домена, а что задано локально.

Для административных шаблонов удобнее утилита LGPO.exe из Microsoft Security Compliance Toolkit. Она умеет выгрузить локальную политику в формат резервной копии GPO, импортировать и применить Registry.pol, шаблоны безопасности и файлы расширенного аудита, а также переводить Registry.pol в текстовый формат «LGPO text» и собирать Registry.pol обратно из такого текста. Я перевожу старый Registry.pol в текст, нахожу в нём нужные строки и собираю новый файл только из них — так после полного сброса возвращаются два-три действительно нужных параметра, а не весь накопленный мусор.

Частичный откат политик безопасности

Полный secedit /configure по defltbase.inf откатывает сразу всё: пароли, аудит, права пользователей. Если проблема только в правах (например, у группы пользователей отобрали право «Разрешать вход в систему через службу удалённых рабочих столов»), я ограничиваю применение ключом /areas и беру за основу сохранённый шаблон:

secedit /configure /db C:\Windows\Temp\reset.sdb /cfg C:\GPO-backup\secpol-before.inf /areas user_rights /log C:\Windows\Temp\reset.log

Что важно знать о ключах. /db обязателен. /cfg импортирует шаблон в эту базу, причём без /overwrite шаблон добавляется к уже сохранённому в базе, а не заменяет его, поэтому для каждого отката я беру новую пустую .sdb. Если /areas не указан, применяются все разделы, определённые в базе. Ключ /log задаёт файл журнала: по нему видно, какие параметры применить не удалось. /quiet подавляет вывод на экран и в журнал — в скриптах массового сброса я его не ставлю, чтобы журнал остался.

Как проверить результат сброса

После сброса я не верю на слово, а смотрю итоговый набор политик (RSoP):

gpupdate /target:computer /force
gpresult /r /scope computer
gpresult /h C:\Temp\rsop.html /f
gpresult /z > C:\Temp\policy.txt

Проверяю, что в отчёте больше нет параметров, которые я сбрасывал. Если какой-то остался — в HTML-отчёте рядом с ним указан объект GPO, который его задаёт, и дальше разговор уже о доменной политике, а не о локальной.

FAQ — сброс локальных GPO

Дальше — вопросы, которые мне чаще всего задают после сброса локальных политик: что делать на Windows Home, почему в домене всё возвращается и можно ли откатить только политики безопасности.

Можно ли сбросить политики без доступа к gpedit?
Да, на Windows 10/11 Home gpedit.msc отсутствует. Сброс делается удалением Registry.pol из C:\Windows\System32\GroupPolicy\Machine и User, далее gpupdate /force.
Что делать в AD-домене, если политика засела?
В домене клиент всегда переконфигурируется с DC. Локальный сброс поможет только если ПК изолирован. Для доменных ПК: правим политику на DC, делаем gpupdate /force на клиенте или выводим из домена и обратно.
Сломал ли я систему после удаления Registry.pol?
Нет. Registry.pol — это кэш локальных настроек GPO. Windows его пересоздаст при следующем запуске gpupdate. Системные настройки не пропадут, только те, которые были применены через локальные политики.
Как сбросить только политики безопасности?
secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose — восстанавливает настройки по шаблону по умолчанию для Windows.
Помогает ли reset от точки восстановления?
Да, если есть точка до применения проблемной политики. Откат через System Restore возвращает реестр и Registry.pol. Но это крайняя мера — проще удалить Registry.pol руками.

Столкнулись с похожей задачей? Обращайтесь — решим

Если у вас происходит что-то из описанного в этой статье — или любая другая проблема с ИТ-инфраструктурой, — обращайтесь в любое время. Мои специалисты и я лично разберём ситуацию, найдём настоящую причину и доведём до решения.

Возьмёмся и за разовую задачу, и за постоянное обслуживание. Первичная консультация — бесплатно и без обязательств.

📞 +7 903 729-62-41 ✈ Telegram @ITfresh_Boss

С уважением, Семёнов Евгений Сергеевич, директор «АйТи Фреш» — IT-аутсорсинг для компаний до 50 рабочих мест, 15+ лет практики

Источники

📄
Скачайте подробный разбор в PDF Кейсы, статистика, типовые ошибки и чек-лист самопроверки — 12 страниц
Скачать PDF

Подпишитесь на рассылку ITfresh

Хотите получать полезные, практические гайды? Раз в неделю мы делимся реальным опытом для руководителей IT и сисадминов: говорим о безопасности, тонкостях 1С, миграциях, резервных копиях и, конечно, лайфхаках из наших проектов.

Письмо придёт в течение минутыНе нашли его во «Входящих» — загляните в папку «Спам» или «Промоакции» и нажмите «Не спам». Так все следующие выпуски будут приходить прямо в основную почту.
Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.