Сброс локальных групповых политик в Windows 10 и 11
Привет! На связи Семёнов Евгений Сергеевич, директор ITFresh. За долгие 15 лет работы с корпоративными сетями Windows мы повидали всякое. Наверное, каждый системный администратор хоть раз сталкивался с ситуацией, когда предыдущий админ что-то там «накрутил» в групповых политиках, и система внезапно начала жутко капризничать. Помните это ощущение, когда внезапно блокируется командная строка, диспетчер задач отказывается открываться или, того хуже, запрещается запуск любых .exe файлов? И всё, доступа к настройкам нет! На нашей практике, если клиент звонит с криком души «после обновления не запускается Word», чаще всего спасает именно сброс этих самых локальных GPO. Мы знаем три надёжных способа это сделать. Давайте же разберёмся!
Что такое локальные групповые политики
В Windows есть три слоя GPO:
- Локальные — хранятся на самом ПК в
C:\Windows\System32\GroupPolicyиGroupPolicyUsers. - Доменные — приходят с Active Directory, перезаписывают локальные.
- Site/OU — уровни в AD-иерархии.
Когда мы говорим «сбросить локальные» — сбрасываем только первый слой. Доменные применятся заново при ближайшем gpupdate или рестарте.
Способ 1: gpedit.msc — ручной откат
Этот метод отлично подойдёт, если вы чётко представляете, какая конкретная политика подложила вам свинью. И, конечно, если у вас установлена Windows Pro/Enterprise – ведь без доступа к редактору тут никуда.
- Win+R →
gpedit.msc. - Чтобы просмотреть, какие политики сейчас применены, зайдите в View → All settings, затем отсортируйте список по параметру «State = Enabled».
- Для каждой проблемной политики просто сделайте двойной клик и установите её в режим «Not Configured».
- Закрыть редактор.
- Выполнить
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
Что происходит:
- Этот шаг фактически удаляет все каталоги с локальными политиками как для самого компьютера, так и для всех пользователей.
gpupdate /forceпересоздаёт их пустыми.- После перезагрузки система применит совершенно новую, пустую конфигурацию политик.
Крайне важно понимать: этот способ сбрасывает ТОЛЬКО локальные 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 Settings | secedit /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. Правильный путь:
- На клиенте —
gpresult /h gpo-report.html, смотрим, какая доменная GPO применяется. - На DC —
gpmc.msc, правим конкретную GPO (Not Configured) или убираем Link. - На клиенте —
gpupdate /force. - Если настройка упорно не хочет откатываться, значит, политика была применена в режиме 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. Теперь подобная ситуация у них просто не сможет повториться.
Грабли
- Забыли reboot. Часть политик применяется только при старте ОС.
- Запуск не от администратора. Удаление GroupPolicy требует прав.
- Ожидание чуда в домене. Локальный сброс не помогает, доменная GPO вернёт всё. Лечите на DC.
- Удалили не ту папку.
GroupPolicyиGroupPolicyUsers— неPoliciesв реестре. Не трогайтеHKLM\SOFTWARE\Policies, если не уверены. - Antivirus блокирует. На некоторых ПК SentinelOne / Kaspersky ругаются на массовое удаление — делайте временное исключение.
Решим проблемы с групповыми политиками
За 15 лет практики разгребли сотни заблокированных ПК, сломанных GPO, «неведомо кем накрученных» настроек. Выезд в офисы Москвы, удалённая помощь через AnyDesk/TeamViewer. Готовые скрипты массового сброса. Инфраструктура АйТи Фреш — 8 серверов Dell Xeon Platinum 8280.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — сброс локальных GPO
- Можно ли сбросить политики без доступа к 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 руками.
