Обновить политики безопасности из командной строки
Обновление групповой политики в Windows
Компьютеры будут обновлять групповую политику в фоновом режиме каждые 90 минут, кроме того, групповая политика обновляется при запуске компьютера. Иногда вы вносите изменения или создаете новые объекты групповой политики, и вам нужно, чтобы изменения вступили в силу немедленно.
- Существует 3 способа обновить групповую политику:
Способ 1 Обновление групповой политики с помощью команды gpupdate /force
Шаг 1: Запустите окно командной строки
Windows 7
Нажмите кнопку «Пуск» , введите «cmd» (без кавычек) в строку поиска в самом низу меню «Пуск», а затем щелкните значок cmd.exe, который должен появиться вверху списка результатов.
Windows 10
Щелкните правой кнопкой мыши кнопку «Пуск» Нажмите на командную строку(Admin), чтобы открыть окно CMD.
Шаг 2: Запустите команду gpupdate /force
Использование команды PsExec для обновления групповой политики удаленных компьютеров PsExec
Теперь, если у вас есть куча компьютеров, которые нуждаются в обновлении, было бы сложно войти в каждый из них и запустить эту команду. Для её запуска на удаленном компьютере вы можете использовать команду PsExec из набора инструментов Sysinternals. Вот пример использования PsExec для удаленного обновления групповой политики
Просто замените Computername на фактическое имя хоста компьютера
Чтобы выполнить GPUpdate.exe на группе компьютеров, указанных в текстовом файле, используйте команду PSExec.exe:
PSExec.exe @Computers.TXT GPUpdate.exe /force
Шаг 3: Перезагрузите компьютер
В окне командной строки введите gpupdate /force и нажмите клавишу Enter на клавиатуре. Строка «Обновление политики …» должна появиться в окне командной строки ниже, где вы только что набрали.
После завершения обновления вам будет предложено либо выйти из системы, либо перезагрузить компьютер. Нажмите N,чтобы отклонить эти запросы, а затем перезагрузите компьютер вручную. Иногда вам не будет предложено перезагрузить компьютер или выйти из системы после обновления. Тем не менее, вам все равно следует перезагрузить компьютер, если ИТ-специалист не примет иного решения.
После завершения обновления вы можете перезагрузить компьютер командой gpupdate / boot или вручную. Перезагрузить компьютер вручную немного быстрее, чем через окно командной строки.
Способ 2. Использование консоли управления групповой политикой
В Windows Server 2012 и более поздних версиях теперь можно принудительно обновить групповую политику на удаленных компьютерах из консоли управления групповой политикой. Этот метод очень прост и позволяет запускать обновление для одного подразделения или всех подразделений.
Шаг 1. Откройте консоль управления групповыми политиками.
Шаг 2: Щелкните правой кнопкой мыши, чтобы обновить
Вы можете обновить отдельное подразделение или родительское подразделение, и оно обновит все подчиненные подразделения.
Я собираюсь обновить свой родительский OU «ADPRO Computers», в этом OU есть несколько подразделений, разбитых на отделы. Это запустит обновление групповой политики на всех компьютерах.
Способ 3: использование Powershell Invoke-GPUpdate
В Windows 2012 можно принудительно выполнить немедленное обновление с помощью команды powershell invoke-GPUupdate . Эта команда может использоваться для обновления клиентов Windows 10 и Windows 7.
Вам потребуется установленный Powershell, а также консоль управления групповыми политиками (GPMC).
RandomDelayMinutes 0 гарантирует, что политика обновляется сразу, а не ..
Единственным недостатком использования этой команды является то, что клиенты получат всплывающее окно CMD, как показано ниже. Отображается только около 3 секунд, затем закрывается.
Если вы хотите использовать команду PowerShell для принудительного обновления на всех компьютерах, вы можете использовать эти команды:
Вышеприведенные команды будут извлекать каждый компьютер из домена, помещать их в переменную и запускать команды для каждого объекта в переменной
Information Security Squad
stay tune stay secure
Использование GPUpdate для обновления параметров групповой политики
После изменения любого параметра групповой политики с помощью локального редактора объекта групповой политики (gpedit.msc) или редактора политики домена (gpmc.msc) новый параметр политики не сразу применяется к пользователю / компьютеру.
Вы можете подождать автоматического обновления объекта групповой политики (до 90 минут) или вы можете обновить и применить политики вручную с помощью команды GPUpdate.
Команда GPUpdate используется для принудительного обновления параметров политики компьютера и / или группы пользователей.
Заметка. Команда secedit/refreshpolicy использовалась в Windows 2000 для ручного обновления групповых политик. В следующих версиях Windows она была заменена утилитой GPUpdate.
Полный синтаксис инструментов gpupdate выглядит следующим образом:
Когда вы запускаете команду gpupdate без параметров, применяются только новые и измененные параметры политики пользователя и компьютера.
Computer Policy update has completed successfully.
User Policy update has completed successfully.
Обновлять политики пользователей или компьютеров можно только с помощью параметра /target. Например,
- gpudate /target:user
- gpupdate /target:computer
Для принудительного обновления параметров групповой политики вы можете использовать команду GPUpdate /force.
В чем разница между GPUpdate и GPUpdate / force?
Команда gpupdate применяет только измененные политики, а команда GPUpdate / force повторно применяет все клиентские политики — как новые, так и старые (независимо от того, были ли они изменены).
В большинстве случаев вам нужно использовать gpupdate для обновления политик на компьютере.
В больших доменах Active Directory частое использование параметра / force при обновлении объектов групповой политики создает большую нагрузку на контроллеры домена (поскольку компьютеры повторно запрашивают все политики, нацеленные на них или пользователей).
Как мы уже говорили ранее, групповые политики обновляются автоматически каждые 90 минут или во время запуска компьютера.
Поэтому в большинстве случаев не следует использовать команду gpupdate / force (особенно в различных сценариях) из-за высокой нагрузки на клиентские компьютеры и контроллеры домена.
Вы можете добавить задержку (до 600 секунд) перед обновлением политик с помощью параметра / wait:
Поскольку некоторые пользовательские политики не могут быть обновлены в фоновом режиме, а только при входе пользователя в систему (установка программ, перенаправление папок и т. д.), вы можете выйти из системы для текущего пользователя с помощью команды:
Некоторые параметры политики компьютера могут применяться только при запуске, поэтому вы можете запустить перезагрузку компьютера с помощью параметра /Boot:
Параметр /Sync указывает, что следующее приложение политики должно выполняться синхронно.
Активное применение политики происходит, когда компьютер перезагружается или когда пользователь входит в систему.
Командлет Invoke-GPUpdate был добавлен в PowerShell 3.0, который можно использовать для обновления политик на удаленных компьютерах.
Например, следующая команда запустит обновление удаленной групповой политики на компьютере ПК1:
Вы можете принудительно обновить политику на всех компьютерах в указанном подразделении Active Directory, используя команды:
sergey vasin
The IT blog
Запуск обновления групповой политики в домене через PowerShell – Hey, Scripting Guy! Blog
Резюме: Microsoft Scripting Guy, Ed Wilson показывает, как вызвать обновление групповой политики посредством PowerShell.
Обновление групповой политики в домене
Иногда я вношу изменения в групповую политику в сети и мне нужно применить изменения на всех компьютерах. А иногда мне требуется обновить локальную групповую политику на моем компьютере.
Для обновления настроек групповой политики я использую утилиту GPUpdate. Она обладает некоторыми параметрами. По умолчанию, утилита обновляет политику как компьютера, так и пользователя. Но этим можно управлять, используя параметр /target. Например, если мне нудно обновить только политику компьютера, я укажу /target:computer. Для обновления только политики пользователя — /target:user.
PS C:> gpupdate /target:computer
Computer Policy update has completed successfully.
По умолчанию GPUpdate применяет только обновленные настройки групповой политики. Для применения всех настроек используется параметр /force. Приведенная ниже команда обновляет все настройки групповой политики (вне зависимости от того, были ли они изменены) для компьютера и пользователя.
PS C:> gpupdate /force
Computer Policy update has completed successfully.
User Policy update has completed successfully.
Во-первых, получаем список компьютеров в домене
Первое, что мне необходимо сделать – это получить список всех компьютеров в домене. Для этого я использую командлет Get-ADComputer, входящий в модуль Active Directory.
Заметка: модуль Active Directory входит в состав RSAT.
Я сохраняю полученные объекты компьютеров в переменной $cn.
$cn = Get-ADComputer -filt *
Во-вторых, создаем удаленные сессии
Следующее, что мне нужно сделать – это создать удаленные сессии со всеми компьютерами. Для этого мне нужно предоставить учетные данные для подключения к компьютерам, а также создать сами сессии посредством командлета New-PSSession.
Для начала я воспользуюсь командлетом Get-Credentials и сохраню возвращенный им объект в переменной $cred.
$cred = Get-Credential iammredadministrator
Далее используем командлет New-PSSession. В качестве параметров я указал имена компьютеров и необходимые учетные данные.
$session = New-PSSession -cn $cn.name -cred $cred
Необходимо помнить о том, что в домене могут быть выключенные компьютеры, поэтому при выполнении команды могут возвращаться ошибки. Тем не менее, несмотря на ошибки, Windows PowerShell создает сессии с рабочими компьютерами.
Наличие большого числа ошибок может внушить некоторые опасения. Поскольку объекты сессий хранятся в переменной $sessions, я легко могу убедиться в том, что они созданы.
Теперь запустим команду на всех удаленных машинах
Для запуска команды GPUpdate на всех удаленных машинах я использую командлет Invoke-Command. Он использует сессии, сохраненные нами в переменной $sessions. Алиас для командлета Invoke-Command – icm.
icm -Session $session -ScriptBlock
После запуска команды, результаты отображаются в консоли Windows PowerShell.
Проверка обновления групповой политики
Когда на рабочей станции происходит успешное обновление настроек групповой политики, в журнал System записывается событие с кодом 1502. Я могу воспользоваться командлетом Invoke-Command для получения этой информации.
icm -Session $session -ScriptBlock
Команда и ее результаты приведены на рисунке ниже.
Еще одна интересная вещь касаемо групповой политики
Иногда мне приходится звонить в техподдержку и они просят обновить групповую политику на моем локальном компьютере. Это не проблема, так как я могу запустить GPUpdate прямо из PowerShell. Сложность возникает тогда, когда они просят меня выполнить обновление групповой политики 5 раз с интервалом в 5 минут. Но и это решается с помощью одной строки кода.
Обновление членства в группах AD без перезагрузки / перелогина
Известный всем администраторам факт, что после добавления компьютера или пользователя в группу Active Directory, для обновления членства в группах и применения назначенных прав / политик, нужно перезагрузить компьютер (если в доменную группу добавлялась учетная запись компьютера) или перезайти в систему (для пользователя). Это связано с тем, что членство в группах AD обновляется при создании билета Kerberos, которое происходит при загрузке системы и при входе пользователя.
В некоторых случаях перезагрузка системы или logoff пользователя не выполним по производственным причинам. А воспользоваться полученным правами, доступом или применить новые политики нужно уже сейчас. Есть возможность обновить членство учетной записи в группах AD без перезагрузки или перерегистрации пользователя в системе.
Список групп, в которых состоит текущий пользователь можно получить из командной строки с помощью команды:
Список групп, в которых состоит пользователь содержится в разделе The user is a part of the following security groups.
Сбросить текущие тикеты Kerberos без перезагрузки может утилита klist.exe . Klist включена в ОС Windows начиная с Windows 7, для XP и Windows Server 2003 устанавливается в составе Windows Server 2003 Resource Kit Tools.
Чтобы сбросить весь кэш тикетов Kerberos компьютера (локальной системы) и обновить членство компьютера в группах AD, нужно в командной строке с правами администратора выполнить команду:
klist -lh 0 -li 0x3e7 purge
После выполнения команды и обновления политик к компьютеру будут применены все политики, назначенные группе AD через Security Filtering.
Что касается пользователя. Допустим, доменная учетка пользователя была добавлена в группу Active Directory для доступа к файловому ресурсу. Естественно, доступ к каталогу без перелогина у пользователя не появится.
Сбросим все тикеты Kerberos пользователя командой:
Чтобы увидеть обновлённый список групп, нужно запустить новое окно командной строк и через runas, чтобы новый процесс был создан с новым токеном безопасности.
Допустим, группа AD пользователю назначалась для предоставления доступа к сетевому каталогу. Попробуйте обратиться к нем по FQDN имени (к примеру, \msk-fs1.winitpro.locdistr) и проверьте, что TGT тикет был обновлен:
Сетевой каталог, к которому был предоставлен доступ через группу AD, должен открыться без перелогина пользователя (. обязательно использовать FQDN имя).
Обновить политики безопасности из командной строки
Вопрос
Есть необходимость применить групповую политику без перезагрузки конечной машины.
Подскажите пожалуйста как это сделать
Ответы
- Предложено в качестве ответа Дмитрий Трясов 16 июля 2013 г. 18:47
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 1 августа 2013 г. 6:24
Есть необходимость применить групповую политику без перезагрузки конечной машины.
Ряд политик применяется только при старте (например Folder Redirection или установка ПО через политики): то, что может быть применено без рестарта — его и не потребует.
п.с. gpupdate /force совершенно непричём в данном случае, но если вы использовали ключ /force и в политиках существует хотя бы одна, которая применяется при запуске — попросит перезапуск.
- Предложено в качестве ответа Дмитрий Трясов 16 июля 2013 г. 18:47
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 1 августа 2013 г. 6:24
Все ответы
- Предложено в качестве ответа Дмитрий Трясов 16 июля 2013 г. 18:47
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 1 августа 2013 г. 6:24
Есть необходимость применить групповую политику без перезагрузки конечной машины.
Ряд политик применяется только при старте (например Folder Redirection или установка ПО через политики): то, что может быть применено без рестарта — его и не потребует.
п.с. gpupdate /force совершенно непричём в данном случае, но если вы использовали ключ /force и в политиках существует хотя бы одна, которая применяется при запуске — попросит перезапуск.
- Предложено в качестве ответа Дмитрий Трясов 16 июля 2013 г. 18:47
- Помечено в качестве ответа Иван Проданов Microsoft contingent staff, Moderator 1 августа 2013 г. 6:24
Андрей, добрый день. Если Ваш вопрос относился к тому, как это сделать на большом количестве машин одновременно, то вот недавнее похожее обсуждение, попробуйте воспользоваться советами, данными в теме.
Да, Кирилл, все верно, и чуть дополню:
Что касается gpupdate /force , то многие непонимают, для чего нужен последний ключ, и как вообще работает механизм применения групповых политик.(буквально вчера вечером после прочтения топика спросил выборочно пару-тройку первых входящих в дверь) Если кратко сорвать покровы, то ключ /force
просто-напросто применит заново принудительно все политики, относящиеся и к пользователю, и к компьютеру.Выполнять эту команду имеет смысл только тогда, когда Вы изменили несколько объектов ГП, скажем настроили какие-то зависимости между разными GPO, и нужно, чтобы применились абсолютно все измененные объекты политик. А теперь представьте ,что вы отредактировали один объект и изменили одну настройу. Вам нужно, чтобы только эти новые настройки ушли в применение- окей, версия шаблона поменялась, машина скачает версии, увидит, что изменен один объект, а не тридцать, и применит только этот один измененный объект. Делается это просто выполнением gpupdate.
Особенно заметен эффект на слабых машинах и слабых каналах.
Вывод- ключ /force — это баловство и преступление.