Применить политики без перезагрузки компьютера

Обновлено: 24.11.2024

Все администраторы Windows знают, что после добавления компьютера или пользователя в группу безопасности Active Directory новые разрешения на доступ к ресурсам домена или новым объектам групповой политики не применяются сразу. Чтобы обновить членство в группе и применить назначенные разрешения или групповые политики, необходимо перезагрузить компьютер (если учетная запись компьютера была добавлена ​​в группу домена) или выполнить выход и вход в систему (для пользователя). Это связано с тем, что членство в группах AD обновляется при создании билета Kerberos, что происходит при запуске системы или при аутентификации пользователя во время входа в систему.

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

Примечание. Метод, описанный в этой статье, будет работать только для сетевых служб, поддерживающих аутентификацию Kerberos. Службы, работающие только с NTLM-аутентификацией, по-прежнему требуют выхода пользователя из системы + входа в систему или перезагрузки Windows.

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

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

Вы можете сбросить текущие билеты Kerberos без перезагрузки с помощью инструмента klist.exe. Klist — это встроенный системный инструмент, начиная с Windows 7. В Windows XP/Windows Server 2003 klist устанавливается как часть Windows Server 2003 Resource Kit Tools.

Как обновить билет Kerberos и обновить членство в группе компьютеров без перезагрузки?

Чтобы сбросить весь кэш билетов Kerberos компьютера (локальной системы) и обновить членство компьютера в группах AD, необходимо выполнить следующую команду в командной строке с повышенными привилегиями:

klist -li 0:0x3e7 очистка

После запуска команды и обновления политик (вы можете обновить политики с помощью команды gpupdate /force) к компьютеру будут применены все групповые политики, назначенные группе AD через фильтрацию безопасности.

Если в вашем домене настроены политики ограничения доступа LSA (например, политика Debug Program, ограничивающая использование SeDebugPrivilege) или другие политики безопасности, в некоторых случаях при запуске команды klist -li 0:0x3e7 purge, вы получаете сообщение об ошибке, например: «Ошибка при вызове API LsaCallAuthenticationPackage»:

В этом случае вы можете очистить свой компьютерный билет Kerberos от имени NT AUTHORITY\SYSTEM. Проще всего это сделать с помощью инструмента psexec:

klist purge — сброс билета компьютера

gpupdate /force — обновить объект групповой политики

Klist: очистить пользовательский билет Kerberos без выхода из системы

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

Чтобы обновить билеты Kerberos пользователя, используйте эту команду:

Чтобы увидеть обновленный список групп, вам нужно запустить новую командную строку с помощью runas (чтобы был создан новый процесс с новым токеном безопасности).

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

Get-WmiObject Win32_LogonSession | Где-Объект | ForEach-Object

Предположим, группа AD была назначена пользователю для доступа к общей папке. Попробуйте получить к нему доступ, используя его полное доменное имя (это важно, например, \\lon-fs1.woshub.loc\Install). В этот момент пользователю выдается новый билет Kerberos. Вы можете проверить, что билет TGT был обновлен:

(см. значение времени начала кэшированного TGT)

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

Вы можете проверить, что пользователь получил новый TGT с обновленными группами безопасности (без выхода из системы) с помощью команды whoami /all.

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

Команда gpupdate /force используется для принудительного обновления групповых политик, применяемых вашей компанией. Изменения, внесенные в групповую политику, применяются не сразу, а по умолчанию через 90 минут (со смещением ~ 30 минут для распределения нагрузки). С помощью команды GPUpdate мы можем принудительно выполнить обновление.

Групповые политики используются для изменения параметров безопасности и управления системой (например, для развертывания принтеров или подключения сетевых дисков). Для устранения проблем с ИТ иногда необходимо обновить групповую политику вручную.

Как принудительно обновить групповую политику

    Нажмите клавишу Windows + X или щелкните правой кнопкой мыши меню "Пуск"

Дождитесь обновления политики для компьютеров и пользователей

Необходима перезагрузка, чтобы убедиться, что все настройки применены.

Команда GPUpdate vs GPUpdate Force

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

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

Обновить только групповые политики пользователей или компьютеров

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

Для этого вы можете использовать ключ /target. Это позволяет обновлять только объекты групповой политики пользователя или компьютера.

Автоматическая перезагрузка или выход из системы после GPUpdate

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

С помощью переключателя /logoff или /boot мы можем позволить gpupdate определить, требуется ли выход из системы или перезагрузка. Чтобы было ясно, если вы запустите gpupdate /boot, компьютер перезагрузится только в том случае, если этого потребует изменение политики. В противном случае политика будет применена немедленно без перезагрузки.

  • GPUpdate /logoff необходим, например, после изменения политики в Active Directory, например, при перенаправлении папок или принтеров. Изменения в AD применяются только тогда, когда пользователь входит в систему на компьютере.
  • GPUpdate /boot требуется, например, при внесении изменений в Распространение программного обеспечения.

Запуск GPUpdate на удаленном компьютере

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

Использование консоли управления групповыми политиками

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

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

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

Используйте PowerShell для запуска GPUpdate на удаленном компьютере

Мы также можем использовать PowerShell для запуска gpupdate на удаленных компьютерах. Единственным требованием является наличие Windows 2012 или более поздней версии. Запуск его из Windows 10 также возможен, но тогда вам нужно открыть окна PowerShell с учетной записью администратора домена.

Основой команды является команда Invoke-GPUpdate. Нам также необходимо указать компьютер и RansomDelayInMinutes.

RandomDelayInMinutes используется для снижения сетевой нагрузки при одновременном обновлении множества компьютеров. Вы можете установить его в диапазоне от 0 до 44640 минут (31 день). Используйте 0 для немедленного запуска обновления.

Если пользователь вошел в систему на компьютере, команда Invoke-GPupdate запросит у пользователя подтверждение. С помощью ключа -force мы можем запускать обновления без подтверждения.

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

Или, если вы хотите использовать список компьютеров:

Подведение итогов

Я надеюсь, что эта статья помогла вам с командой GPUpdate /force. Если у вас есть какие-либо вопросы, просто оставьте комментарий ниже.

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

Запустите «gpupdate /force» в командной строке, чтобы обновить групповую политику без перезапуска контроллера домена. Программу «Gpupdate.exe» также можно использовать со следующими параметрами, как описано ниже:

GPUpdate[/target: (компьютер | пользователь)] [/ Force] [/ Wait: value] [/ Logoff] [/ Boot]

/ Цель: (компьютер | пользователь)
Вы можете использовать этот параметр, если хотите указать, что обновляются только политики пользователя или компьютера. Если вы не используете этот параметр, по умолчанию обновляются политики как пользователя, так и компьютера.

/Force
Этот параметр повторно применяет все параметры политики. По умолчанию только те параметры политики, которые были изменены.

/ Ожидание: (значение)
С помощью этой опции вы можете указать, сколько секунд вы должны ждать, пока обработка всех указаний не будет завершена. По умолчанию 600 секунд. Вам не придется ждать, если вы установите значение равное нулю (0). Если вы установите значение -1, вам придется ждать бесконечно. По истечении срока возвращается в командную строку, но продолжает обработку директив.

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

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

Представьте, что вам звонит специалист по безопасности, который управляет вашими брандмауэрами и прокси-серверами. Он сообщает вам, что добавил дополнительный прокси-сервер для пользователей, выходящих в Интернет. Вы добавляете новый объект групповой политики, который влияет на всех пользователей, чтобы они могли использовать новый прокси-сервер через Internet Explorer. Обычно для применения нового объекта групповой политики требуется от 90 до 120 минут, но вам нужно, чтобы новые настройки были применены прямо сейчас, и вы не можете попросить своих пользователей выйти из системы и снова войти в систему, чтобы применить их. В подобных случаях вы можете обойти обычное время ожидания, прежде чем начнется фоновая обработка политик. Это можно сделать с помощью командной строки, консоли управления групповыми политиками (GPMC) или PowerShell.

Принудительное обновление групповой политики с помощью командной строки

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

Обратите внимание, что выполнение команды gpupdate без параметров обновит обе части объекта групповой политики, как пользователь, так и компьютер. Чтобы обновить только одну или другую половину, используйте следующий синтаксис:

gpupdate /Цель:Компьютер, /Цель:Пользователь

Запуск gpupdate, когда пользователь вошел в систему, немедленно предоставляет Windows новые настройки объекта групповой политики (при условии, конечно, что контроллер домена имеет реплицированную информацию объекта групповой политики).

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

  • Запуск gpupdate с параметром /Logoff позволит выяснить, требует ли изменение политики в Active Directory выхода пользователя из системы. Если нет, новые настройки применяются немедленно; в этом случае пользователь автоматически выйдет из системы, и при повторном входе в систему будут применены параметры групповой политики.
  • Аналогичным образом, если включена быстрая загрузка, для применения объектов групповой политики с настройками распространения программного обеспечения требуется перезагрузка. Запуск gpupdate с параметром /boot определит, есть ли в политике что-то, требующее перезагрузки, и автоматически перезагрузит компьютер. Если обновленный объект групповой политики не требует перезагрузки, применяются параметры объекта групповой политики, и пользователь остается в системе.

Переключатели /Logoff и /boot являются необязательными.

До сих пор обсуждение касалось только новых объектов групповой политики и изменений в существующих. Однако иногда может потребоваться применить к компьютеру все объекты групповой политики — не только новые или измененные, но и старые. В этом случае вам нужно использовать переключатель /force с gpupdate следующим образом:

В сочетании с /force доступны и другие параметры, в том числе:

  • /Logoff — выход пользователя из системы после обновления параметров групповой политики.
  • /Sync — изменение приоритетной обработки (запуск/вход в систему) на синхронную.
  • /Boot — перезагрузите компьютер после применения параметров групповой политики.

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

В качестве альтернативы инструментам командной строки вы можете принудительно обновить групповую политику с помощью консоли управления групповыми политиками (GPMC). Консоль управления групповыми политиками входит в состав каждого Microsoft Windows Server, начиная с Windows Server 2008; вы также можете получить его, установив средства удаленного администрирования сервера (RSAT).

Чтобы принудительно применить объект групповой политики, выполните следующие простые действия:

  1. Открыть
  2. Связать объект групповой политики с организационной единицей.
  3. Нажмите правой кнопкой мыши на подразделение и выберите параметр "Обновление групповой политики".
  4. Подтвердите действие в диалоговом окне «Принудительное обновление групповой политики», нажав «Да».

Принудительное обновление групповой политики с помощью PowerShell

Начиная с Windows Server 2012, вы можете принудительно обновить групповую политику с помощью командлета PowerShell Invoke-GPUpdate. Эту команду можно использовать для удаленного обновления групповой политики клиентских компьютеров Windows. Вам потребуется установить как PowerShell, так и консоль управления групповыми политиками.

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

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

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

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

Обновление фона GPO

Все клиенты групповой политики обрабатывают объекты групповой политики по истечении интервала фонового обновления, но они обрабатывают только те объекты групповой политики, которые являются новыми или изменились с момента последнего запроса клиента.

Однако для параметров безопасности механизм групповой политики работает иначе. Он запрашивает специальное фоновое обновление только для настроек политики безопасности. Это называется фоновым обновлением безопасности и действует для каждой версии Windows Server. Каждые 16 часов каждый клиент групповой политики запрашивает у Active Directory все объекты групповой политики, содержащие параметры безопасности (а не только измененные), и повторно применяет эти параметры безопасности. Это гарантирует, что если параметр безопасности был изменен на клиенте (за спиной механизма групповой политики), он автоматически вернется к правильному параметру в течение 16 часов.

Процесс фонового обновления для локальных объектов групповой политики

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

Обязательное повторное применение параметров групповой политики, не связанных с безопасностью

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

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

  • Реестр (административные шаблоны)
  • Техническое обслуживание Internet Explorer
  • IP-безопасность
  • Политика восстановления EFS
  • Политика беспроводной связи
  • Дисковая квота
  • Скрипты
  • Безопасность
  • Перенаправление папок
  • Установка программного обеспечения
  • Правила проводной связи

Заключение

Напомним, что когда вы изменяете объект групповой политики в Active Directory, он будет автоматически применяться при следующем интервале обновления; вы также можете принудительно обновить его, чтобы немедленно применить его к вашим клиентским системам. В качестве дополнительной меры безопасности вы можете настроить обязательное повторное применение, чтобы убедиться, что определенные параметры групповой политики всегда применяются повторно, даже если они не изменились. Это позволяет отменить любые нежелательные изменения, сделанные локальными администраторами.

Джефф — бывший директор по разработке глобальных решений в Netwrix. Он давний блогер Netwrix, спикер и ведущий. В блоге Netwrix Джефф делится лайфхаками, советами и рекомендациями, которые могут значительно улучшить ваш опыт системного администрирования.

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