Не открывается объект групповой политики gpedit.msc
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз я вам показал полезные настройки, которые позволяли полностью выключить авто воспроизведение видео в Google Chrome. Двигаемся дальше и продолжаем прокачивать свои знания, сегодня ко мне обратился разработчик, который пожаловался, что у него не применились групповые политики, что я настраивал ранее. Когда я попытался запустить на сервере для проверки gpedit.msc, то получил ошибку "Не удалось открыть объект групповой политики на этом компьютере (Failed to open the Group Policy object on this computer)". Давайте разбираться в чем дело.
Почему происходит ошибка "Failed to open the Group Policy object on this computer"
В такую ситуацию я попал на Windows Server 2016, мне для диагностики нужно было запустить локальные групповые политики, напоминаю для этого используется оснастка gpedit.msc. Но вместо привычного окна я получил ошибку:
В русской версии данная ошибка звучит так:
После этого просто выскакивает пустое окно локального редактора групповой политики.
Данная ситуация происходит из-за повреждения файла Registy.pol который располагается по пути:
Тут %WinDir% - это просто системная переменная Windows. Данную ошибку вы можете встретить на любой версии Windows, как на самых современных Windows 12 и Windows Server 2022, так и в XP.
Файл Registry.pol в Windows используется для настройки политик безопасности и настроек системы в сетевой среде. Он может быть использован для ограничения доступа пользователей к определенным функциям и ресурсам компьютера, а также для настройки параметров безопасности, таких как пароли, шифрование данных и т.д. Файл Registry.pol может быть создан и настроен администратором системы в соответствии с требованиями безопасности организации и распространен по сети на все компьютеры, которые подключены к домену. Это позволяет обеспечить единообразную настройку безопасности и управления ресурсами на всех компьютерах в сети.
Как исправить ошибку с поврежденным файлом Registy.pol
Чтобы поправить данную ошибку закройте окно с локальной групповой политикой. Далее в проводнике Windows перейдите по пути, что я указал выше, а именно C:\Windows\System32\GroupPolicy.
Самый быстрый способ включить скрытые объекты, это выполнить в окне PowerShell в режиме администратора вот такую команду:
После перезагрузки скрытые папки должны стать видимыми в проводнике Windows. Чтобы вернуть настройки обратно, необходимо ввести команду "Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name Hidden -Value 2".
Теперь найдите папку Machine, нажмите F2. У вас появится возможность ее переименовать, я присвою ей имя Machine_Backup.
Нажмите Enter, в большинстве случаев операционная система вас попросит подтвердить внесение изменений, согласимся.
Теперь попытайтесь снова открыть редактор локальной групповой политики (gpedit.msc) теперь у вас все будет работать как нужно и ошибка "Не удалось открыть объект групповой политики на этом компьютере. Возможно, у вас недостаточно прав" не возникнет.
Обратите внимание, что Windows пересоздала папку Machine, точнее восстановила ее правильную версию. Папку, что мы переименовывали можно смело удалять.
Как удаленно исправить данную ошибку
Предположим, что данная ошибка у вас выскочила на удаленном компьютере. это может быть филиал или система вашего родственника неважно. Если у вас есть сетевая связанность, то вы можете все сделать удаленно, либо передать скрипт на другую сторону и попросить его выполнить.
#Подкладываем файл Servers.txt, где на каждой строке будет или имя сервера, или IP, если нужно применить к локальному компьютеру, то укажите в качестве имени localhost
$Servers = Get-Content "C:\Servers.txt"
#Берем и каждый сервер из файла помещаем в контейнер, где выполняем действия.
foreach ($Server in $Servers) {
$Path = "\\$Server\C$\Windows\System32\GroupPolicy\Machine"
if (Test-Path $Path) {
Rename-Item $Path -NewName "Machine_Backup" -Force
Write-Host "Papka Machine na servere $Server uspeshno pereimenovana v Machine_Backup"
} else {
Write-Host "Na servere $Server net papki Machine"
}
}
Надеюсь, что это вам позволит сделать какую-то автоматизацию. С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.
В групповых политиках нет никаких файлов кроме Adm.
спасибо большое, помогло