Windows 10 gpupdate не работает

Обновлено: 06.07.2024

work.local
Addresses: 192.168.0.70
192.168.0.6

BSP-1S PASS PASS PASS PASS WARN PASS n/a
. work.local - пройдена проверка DNS

Диагностика сервера каталогов

Выполнение начальной настройки:
Выполняется попытка поиска основного сервера.
Основной сервер = BSP-SRV006
* Идентифицирован лес AD.
Сбор начальных данных завершен.

BSP-SRV006 PASS PASS PASS PASS WARN PASS n/a
. work.local - пройдена проверка DNS

Не удалось обновить политику компьютера.
Не удалось обновить политику пользователя.

Чтобы диагностировать сбой, просмотрите журнал событий или запустите GPRESULT /H GPReport.html из командной строки для п
росмотра сведений о результатах групповой политики.
C2 gpudate /force

Гугл не помог, может кто сталкивался или знает как решить данную проблему?

Добавлено:
Невнятные признаки телепатии просят уточнить, есть ли там у вас SCCM


Выделенная группа - при наличии Exchange. Иначе её нет

Для проверки динамической регистрации также в cmd от Админа жмакни на обоих контроллерах домена:
nltest /dsregdns




Не думаю, что поможет, но попробуй выполнить - dcdiag /fix

И это на контроллере домена:

При попытке запустить оснастку групповой политики на контроллере gpmc.msc что происходит ?

Почитай статью
Troubleshooting Group Policy Processing Errors in an Active Directory Domain

Попробуйте восстановить права
AD U&C -- Right Click Domain.local -- Properties -- Security -- Advanced -- Restore Defaults

Там есть много веток, где отключено наследование, но, бывает, что помогает.
Сделайте резервную копию на всякий случай, Windows Backup -- Active Directory

Во всех популярных редакциях Windows 10 выше Home имеется встроенный инструмент администрирования gpedit.msc или локальные групповые политики. Данный инструмент включает в себя широкий спектр политик (настроек) и предназначается для принудительного изменения базовой конфигурации операционной системы и учетных записей. Реализован он в виде консоли управления MMC с достаточно удобным и интуитивно понятным графическим интерфейсом.

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

После изменения ряда политик компьютер необходимо перезагрузить или выждать от 30 до 90 минут, чтобы новые настройки смогли вступить в силу, но вы можете заставить их работать сразу, сэкономив время и избавив себя от необходимости перезапускать систему.

Давайте же посмотрим, как это можно сделать.

Всё довольно просто, если вы хотите обновить все политики сразу, откройте от имени администратора PowerShell или командную строку и выполните команду gpupdate /force .

PowerShell

Эта команда "перезапустит" политики и компьютера, и пользователей.

А теперь представим, что вы хотите обновить лишь определенную категорию политик, скажем, только именные политики пользователя. И тут ничего сложного, просто к команде gpupdate добавляется соответствующий ключ. А чтобы всё было ясно, приводим примеры:

• gpupdate /target:computer - Обновляет только измененные политики компьютера.
• gpupdate /target:user - Обновляет только измененные пользовательские политики.

Gpupdate

Если же вы хотите обновить все политики только пользователя или только компьютера, добавьте в конец каждой команды через пробел ключ /force.

gpo update

Для чего нужно уметь обновлять групповую политику?

Перед тем, как перейти к практической части я бы хотел описать ряд ситуаций, которые вы можете встретить в своей практике, где вам можете потребоваться ручное обновление GPO. Еще хочу напомнить, что по умолчанию, любая операционная система Windows, являющаяся членом домена AD сама, автоматически производит обновление групповых политик каждые 90-120 минут, это позволяет не генерировать много сетевого трафика и сделать балансировку при обращении к мастеру PDC, но бывают и другие ситуации.

Предположим, что вы внесли важные обновления настроек для ваших серверов, например для авторизации CredSSP, или закрываете какую-то дыру безопасности, логично, что в Active Directory, это делается через групповые политики. Когда у вас 5-10 серверов, то нет проблем чтобы зайти на каждый из них через удаленный рабочий стол и выполнить команду, а когда серверов сотни, тут уже нужна массовость. Еще не нужно сбрасывать со счетов ситуации, когда вы по RDP не можете зайти, через редактор политик обновить не получается, что делать, тут можно сделать все удаленно через PowerShell или командную строку, об этом то же поговорим.

Вы всегда должны уметь и иметь возможность вносить массовые изменения на ваших серверах, и применять их как можно скорее

Методы обновления GPO

Давайте составим список способов и инструментов, которые вы можете использовать:

  • Командная строка Windows - позволяет быстро выполнить обновление, работает локально
  • Оболочка PowerShell - так же, как и cmd позволяет сделать обновление, как локально, так и удаленно
  • Оснастка "Управление групповой политикой" - удаленное обновление GPO, есть возможность выбрать отдельные объекты
  • Утилита PsExec - позволяет удаленно выполнить задачу

Давайте теперь опробуем каждый из этих методов.

Как обновить GPO через командную строку

Для выполнения этого метода, вы должны зайти локально на компьютер или сервер, открыть командную строку и ввести вот такую, небольшую команду:

Как обновить GPO через командную строку

Ключ /force произведет принудительное обновление групповой политики. Хочу отметить, что некоторые настройки могут применяться, только после выхода из системы. Если политика показала, что успешно обновилась, но эффекта не произошло, то смотрите мою статью "Почему не применяются GPO", придется делать траблшутинг.

Как вы можете обратить внимание, что команда выше производит обновление политик, как для пользователя, так и для компьютера, но при желании вы можете этим манипулировать и явным образом указать, что подлежит апдейту. Для этого есть ключ /Target:. Предположим, что мне нужно выполнить только для пользователя, для этого пишем:

Как обновить GPO через cmd

Еще интересный ключик, это выполнить задержку /Wait: .По умолчанию значение 600 секунд.

Как обновить GPO через PowerShell

Оболочка PowerShell так же имеет отдельный командлет, который легко может инициировать запрос на обновление групповой политики, называется он Invoke-GPUpdate.

Invoke-GPUpdate - это командлет обновляющий параметры групповой политики, включая настройки безопасности, которые установлены на удаленных компьютерах с помощью планирования хода выполнения команды Gpupdate. Вы можете комбинировать этот командлет по сценарию, чтобы запланировать команду Gpupdate на группе компьютеров. Обновление может быть запланировано для немедленного запуска параметров политики или ожидания в течение определенного периода времени, максимум до 31 дня. Чтобы избежать нагрузки на сеть, время обновления будет смещено на случайную задержку.

Давайте запросим обновление политик GPO на моем тестовом сервере с Windows Server 2019, для этого запускаем оболочку PowerShell и вводим команду:

Как обновить GPO через PowerShell Invoke-GPUpdate

Ключ –RandomDelayInMinutes 0 установит задержку в выполнении на ноль секунд, в противном случае обновление будет выполнено рандомно, через некоторое время.

окно Политика обновления

Если нужно произвести обновление на удаленном компьютере, то нужно воспользоваться ключом -Computer, команда примет вот такой вид:

Как обновить GPO через PowerShell

Если нужно выполнить принудительно без запроса подтверждения пользователя, то укажите ключ -Force.

Если нужно указать явно, что необходимо запросить политики только для пользователя или компьютера, то можно использовать ключ -Target, который имеет значения User или Computer. Кстати если удаленный компьютер не отвечает, то вы получите ошибку:

Invoke-GPUpdate : Компьютер "dc01.root.pyatilistnik.org" не отвечает

Еще одним преимуществом командлета PowerShell является то, что у вас есть больше возможностей в выборе машин, которые вы хотите обновить. Например, с помощью приведенной ниже команды вы должны выбрать все компьютеры, которые начинаются с "Note*".

Если нужно выбрать все компьютеры, то ставим звездочку "*"

При желании вы можете найти все компьютеры по версиям операционных систем и сделать обновление групповых политик по данному критерию.

Не забываем, что можно ограничить поиск отдельным организационным подразделением, для этого есть ключ -Searchbase и команда примет вот такой вид:

Get-ADComputer –Filter * -Searchbase "OU=Windows10,OU=Компьютеры,OU=Оргструктура,DC=root, DC=pyatilistnik,DC=org" | foreach< Invoke-GPUpdate –Computer $_.name -Force -RandomDelayInMinutes 0>

Массовое обновление GPO в домене

Еще вы можете подготовить текстовый файл со списком серверов, который так же можно через цикл обработать, вот по такому принципу:

$comps = Get-Content "C:\temp\comps.txt"
foreach ($comp in $comps)
Invoke-GPUpdate –Computer $_.name -Force -RandomDelayInMinutes 0
>

Я также добавил здесь параметр -Force, чтобы обеспечить повторное применение параметров групповой политики, даже если клиент замечает, что новые версии GPO недоступны. Таким образом, когда мы говорим о принудительном обновлении групповой политики, мы на самом деле имеем в виду две разные вещи. Без параметра Force мы просто незамедлительно инициируем обновление; если мы добавим параметр Force, мы форсируем обновление, даже если обновлять нечего. Параметр Force вступает в игру, если вы считаете, что что-то пошло не так в предыдущем обновлении объекта групповой политики.

Обновление групповой политики через оснастку GPMC

Начиная с операционной системы Windows Server 2012 R2, компания Microsoft расширила функционал оснастки по управлению политиками. Разработчики внедрили механизм, массового и точечного инициирования применения политик GPO к нужным объектам и заметьте через графический интерфейс. Откройте оснастку "Управление групповой политикой", проще всего, это сделать через окно "Выполнить", введя там там команду gpmc.msc.

Запускаем gpmc.msc

Далее, что вы делаете. Находите нужную вам OU, щелкнуть правым кликом и из контекстного меню выбрать пункт "Обновление групповой политики".

Обновление групповой политики через gpmc

У вас появится окно "Принудительное обновление групповой политики", в котором вы увидите количество объектов, к которым будет применено действие

окно Принудительное обновление групповой политики

На следующем экране вы увидите результат отработки команды, в первом моем примере политики успешно применилась.

Успешное обновление групповой политики через оснастку gpmc

При желании все результаты команды можно сохранить в CSV файле

Сохранение лога обновления GPO

Вот пример содержимого такого файла

Содержимое лога обновления GPO

на компьютерах, где таким методом была запущена процедура принудительного применения GPO, вы в логах Windows можете обнаружить событие с кодом 1704:

Политика безопасности в объектах групповой политики успешно применена.

Политика безопасности в объектах групповой политики успешно применена

То же самое можно посмотреть и в Windows Admin Center, где нужно зайти в раздел события.

Событие 1704

Ошибка 8007071a "Удаленный вызов процедуры был отменен"

Иногда в консоли GPMC вы можете получать ошибку:

Ошибка 8007071a "Удаленный вызов процедуры был отменен"

Обновление GPO через PSexec

Я вам очень часто рассказываю в своих примерах из моей практики, об утилите PSexec и сборнике SysInternals от Марка Руссиновича. Суть метода в том, что с помощью специальной утилиты вы сможете выполнить удаленную команду, ранее я так удаленно включал RDP на сервере или клиентской машинке.

Далее вы распаковываете архив, если он в таком виде и открываете папку с утилитами SysInternals в командной строке, напомню сделать, это можно через команду cd или через правый клик с зажатым Shift по нужной папке, выбрав пункт "Открыть окно команд".

Запуск PSexec в cmd

Обращаю внимание, что у вас должны быть соблюдены несколько требований:

  • Как и в случае Invoke-GPUpdate, вы должны изменить настройки брандмауэра на своих клиентах. Поскольку PsExec использует протокол SMB, вам нужно открыть TCP-порт 445. Как открыть порт я уже подробно рассказывал, можете посмотреть, советую использовать для этого групповую политику.
  • Второе, это наличие прав на удаленном компьютере, чтобы запустить там Gpupdate

Теперь выполните команду:

Обновление GPO через PSexec

на удаленном компьютере в журналах системы вы увидите два события 1500 и 1501.

Событие 1500: Параметры групповой политики для этого компьютера обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики.

Событие 1500: Параметры групповой политики для этого компьютера обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики.

Событие 1501: Параметры групповой политики для этого пользователя обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики.

Событие 1501: Параметры групповой политики для этого пользователя обработаны успешно. Не обнаружено изменений со времени последней успешной обработки групповой политики

Так же вы можете подключиться вообще к удаленной командной строке, через команду:

удаленное выполнение gpupdate

Далее просто пишите gpupdate /force, обратите внимание я через команду hostname показал, что подключение идет с одного компьютера на другой.

Couldn’t access ComputerName:The network name cannot be found.
Make sure that the default admin$ share is enabled on ComputerName

Couldn’t access ComputerName:The network name cannot be found

Чтобы массово обновить групповую политику на всех компьютерах домена, воспользуйтесь знаком звездочки "*":

Если это не помогло и выскочила ошибка, то может воспользоваться через PowerShell. В оболочке перейдите в каталог с утилитами PSTools и выполните:

Get-ADComputer –filter 'Name -like "*"' | Select-Object -ExpandProperty Name | foreach< Invoke-Expression –Command ".\psexec.exe \\$_ -i gpupdate.exe">

массовое Обновление GPO через PSexec

Или можно из конкретного OU добавив

Get-ADComputer –filter 'Name -like "*"'-Searchbase "OU=Windows10,OU=Компьютеры,OU=Оргструктура,DC=root, DC=pyatilistnik,DC=org" | Select-Object -ExpandProperty Name | foreach< Invoke-Expression –Command ".\psexec.exe \\$_ -i gpupdate.exe">

Другой вариант - сначала экспортировать все имена компьютеров из контейнера Active Directory в текстовый файл с помощью командлета Get-ADComputer:

Get-ADComputer –filter 'Name -like "win*"' -Searchbase "OU=Windows10,OU=Компьютеры,OU=Оргструктура,DC=root, DC=pyatilistnik,DC=org" | Select-Object -ExpandProperty Name | Out-File -Encoding ascii c:\tmp\ComputerList.txt

Обратите внимание, что мы должны кодировать выходной файл с помощью ASCII, чтобы мы могли прочитать его содержимое из пакетного файла следующим образом:

For /f "tokens=*" %%a in (c:\tmp\ComputerList.txt) Do psexec \\%%a -i gpupdate

PsExec против Invoke-GPUpdate

Основным недостатком метода PsExec является то, что он относительно медленный. Это может занять от 3 до 4 секунд на компьютер, а для компьютеров, которые не подключены к сети, это может занять еще больше времени. PsExec иногда даже зависал во время моих тестов.

Разрешение входящих подключений через порт 445 является угрозой безопасности. Компьютерные черви могут использовать этот порт, а хакеры могут делать много неприятных вещей с помощью PsExec. Открытие порта планировщика заданий для Invoke-GPUpdate также проблематично, но я думаю, что порт 445 более популярен среди программистов вредоносных программ.

Таким образом, в большинстве сценариев Invoke-GPUpdate является лучшим вариантом. Однако, если вы все равно открыли порт 445 по другим причинам и не хотите открывать порты Invoke-GPUpdate, вы можете предпочесть PsExec для принудительного обновления групповой политики.

Удаленное обновление GPO через Enter-PSSession

Еще в PowerShell есть командлет для удаленного подключения к компьютеру, называется он Enter-PSSession, его принцип работ, как у PsExec. Откройте оснастку PowerShell и введите:

Удаленное обновление GPO через Enter-PSSession

Далее вы подключитесь к удаленному компьютеру, где потом просто введите gpupdate /force.

Удаленное обновление GPO через Windows Admin Center

Если вы в своей практике используете утилиту удаленного администрирования Windows Admin Center, то вы легко можете подключиться к удаленному серверу и обновить политики GPO все через тот же gpupdate /force.

коррумпированная локальная групповая политика

Поврежденная локальная групповая политика может вызвать много проблем, и, говоря о проблемах, вот некоторые распространенные проблемы, о которых сообщают пользователи:

  • Registry.pol не обновляется, не создается — файл Registry.pol отвечает за параметры вашей групповой политики, и вы можете решить большинство проблем с групповой политикой, просто воссоздав этот файл.
  • Папка групповой политики отсутствует в system32. Иногда папка групповой политики может отсутствовать, но эту проблему можно устранить, выполнив сканирование SFC и DISM.
  1. Удалить или переместить файл registry.pol
  2. Переместить или удалить файл secedit.sdb
  3. Использовать командную строку
  4. Выполните сканирование DISM и SFC
  5. Отключить клиент служб сертификации — политика регистрации сертификатов
  6. Удалить содержимое папки «История»
  7. Выполните восстановление системы
  8. Выполните обновление на месте или перезагрузите Windows 10

Решение 1 — Удалить или переместить файл registry.pol

Все параметры вашей групповой политики хранятся в файле registry.pol, и вы можете решить эту проблему, просто удалив или переместив этот файл. Это относительно просто сделать, и вы можете сделать это, выполнив следующие действия:

Registry.pol не обновляется

  1. Откройте проводник .
  2. В проводнике вставьте C: \ Windows \ System32 \ GroupPolicy \ Machine \ в адресную строку и нажмите Enter . Переход вручную в этот каталог может не работать, поскольку папка «Компьютер» скрыта, но при желании вы можете открыть скрытые файлы и вручную перейти в этот каталог.
  3. Теперь найдите файл registry.pol и переместите или удалите его. Более безопасный вариант — перенести его на рабочий стол, поскольку вы можете восстановить этот файл, если возникнут какие-либо новые проблемы.

После перемещения или удаления этого файла вам нужно будет выполнить одну команду в командной строке, чтобы воссоздать этот файл и восстановить исходные значения групповой политики. Для этого просто выполните следующие действия:

Как только ваш компьютер перезагрузится, файл registry.pol будет воссоздан, и проблема должна быть полностью решена. Многие пользователи сообщили, что это решение исправило их проблему с поврежденной локальной групповой политикой, поэтому обязательно попробуйте ее.

Решение 2. Переместите или удалите файл secedit.sdb.

Другой причиной для поврежденной локальной групповой политики может быть файл secedit.sdb . Удалив этот файл, вы сбросите настройки групповой политики по умолчанию. Чтобы удалить или переместить этот файл, вам просто нужно сделать следующее:

После этого перезагрузите компьютер, и проблема должна быть решена.

Решение 3 — Использование командной строки

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

  1. Запустите командную строку от имени администратора.
  2. При запуске командной строки выполните следующие команды:
  • RD / S / Q «% WinDir% \ System32 \ GroupPolicyUsers»
  • RD / S / Q «% WinDir% \ System32 \ GroupPolicy»
  • gpupdate / force

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

Решение 4 — Выполните сканирование DISM и SFC

По словам пользователей, иногда поврежденная локальная групповая политика может быть вызвана поврежденной установкой Windows. Однако вы можете восстановить вашу установку, выполнив сканирование SFC и DISM. Для этого просто выполните следующие действия:

Registry.pol не обновляется

  1. Сначала запустите командную строку от имени администратора.
  2. После запуска командной строки введите команду sfc / scannow и нажмите Enter, чтобы запустить ее.
  3. Начнется сканирование SFC. Этот процесс может занять около 15 минут, поэтому оставьте свой компьютер, пока сканирование SFC делает свое дело.

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

После завершения сканирования DISM проверьте, сохраняется ли проблема.

Решение 5 — Отключить клиент служб сертификации — Политика регистрации сертификатов

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

Для этого перейдите в раздел «Политики открытых ключей» в разделе «Объект групповой политики по умолчанию» и отключите клиент служб сертификации — Политика регистрации сертификатов . Для этого выполните следующие действия:

После этого эта политика будет отключена, и проблема должна быть решена. Возможно, вам придется запустить gpupdate / force после отключения этой политики, чтобы применить изменения.

Решение 6. Удалите содержимое папки «История»

Это относительно просто сделать, и вы можете сделать это, выполнив следующие действия:

  1. Откройте проводник и вставьте C: \ ProgramData \ Microsoft \ Group Policy \ History в адресную строку. Папка истории скрыта, и, вставив адрес непосредственно в нее, вы сможете мгновенно получить к ней доступ.
  2. Теперь удалите все файлы из каталога истории .
  3. После этого откройте командную строку и введите команду GPUpdate / force .

Это не универсальное решение, и если на вашем компьютере нет папки «История», вы можете просто пропустить это решение.

Решение 7 — Выполнить восстановление системы

Если у вас продолжают возникать проблемы с поврежденной групповой политикой, вы можете решить проблему, просто выполнив Восстановление системы . Восстановление системы — это функция Windows, которая позволяет восстановить прежнее состояние системы и устранить многие проблемы. Чтобы выполнить восстановление системы, вам необходимо сделать следующее:

Как только ваш компьютер будет восстановлен, проблема должна быть решена, и все снова начнет работать.

Решение 8. Выполните обновление или сброс Windows 10 на месте

Если все другие решения не сработали, последний вариант — выполнить обновление на месте. Этот процесс переустановит Windows 10, сохранит все ваши файлы и приложения и восстановит все поврежденные файлы. Если у вас возникают проблемы с поврежденной локальной групповой политикой, обновление на месте может быть лучшим способом их устранения.

Чтобы выполнить обновление на месте, вам необходимо сделать следующее:

  1. Скачайте и запустите Media Creation Tool .
  2. Выберите Обновить этот компьютер сейчас .
  3. Выберите Загрузить и установить обновления (рекомендуется) и нажмите Далее . Этот шаг не является обязательным, поэтому, если вы спешите, вы можете не устанавливать обновления.
  4. Следуйте инструкциям на экране. Когда вы попадете на экран « Готов к установке» , выберите « Изменить то, что сохранить» .
  5. Выберите Сохранить личные файлы и приложения и нажмите Далее .
  6. Следуйте инструкциям на экране, чтобы завершить процесс.

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

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

Читайте также: