
После добавления компьютера или учетной записи пользователя в группу безопасности Active Directory новые разрешения доступа или новые GPO применяются не сразу. Для обновления членства в группе и применения назначенных разрешений или групповых политик необходимо перезагрузить компьютер или выполнить выход из системы и вход в систему (для пользователя). Это связано с тем, что членство в группах AD обновляется только при выпуске билета Kerberos, что происходит при загрузке системы или при аутентификации пользователя при входе в систему.
Если вы не можете немедленно перезагрузить компьютер или выйти из системы, вы можете обновить членство учетной записи в группе AD с помощью команды klist.exe
инструмент. Эта утилита позволяет сбрасывать и обновлять билеты Kerberos компьютера или пользователя.
Список групп безопасности домена, в которых состоит текущий пользователь, можно получить с помощью команды:
whoami /groups
или GPResult:
gpresult /r /scope user
Список групп, в которых состоит пользователь, отображается в окне «Пользователь входит в следующие группы безопасности» раздел.
Обновление членства в группах компьютеров и билета Kerberos без перезагрузки
Вы можете перечислить группы безопасности, в которых состоит этот компьютер, с помощью команды
gpresult /r /scope computer
Компьютер входит в следующие группы безопасности
Вы можете перечислить кэшированные билеты Kerberos, полученные компьютером, а также дату их получения и время следующего обновления.
klist.exe -li 0x3e7
Теперь добавьте компьютер в группу безопасности AD (с помощью оснастки ADUC или с помощью PowerShell: Add-AdGroupMember -Identity grAVExclusionPC -Members wks-mns21$
)
Чтобы очистить кэш билетов Kerberos на компьютере и обновить членство компьютера в группах AD, выполните команду (для Windows 7 и Windows Server 2008R2)
klist -lh 0 -li 0x3e7 purge
Или для Windows 11/10/8 и Windows Server 2022/2019/2016:
klist –li 0x3e7 purge
Deleting all tickets: Ticket(s) purged!
Обновите параметры групповой политики, используя gpupdate /force
команду. После этого все групповые политики, назначенные группе AD с помощью фильтрации безопасности, будут применены к компьютеру без перезагрузки.
С помощью этой команды можно проверить, когда компьютер получил новые билеты Kerberos:
klist -li 0x3e7 tgt
После выполнения команды и обновления политик (вы можете обновить политики с помощью команды gpupdate /force
), все групповые политики, назначенные группе AD с помощью фильтрации безопасности, будут применены к компьютеру.
klist -li 0: 0x3e7 purge
, вы можете получить ошибку: «Ошибка вызова API LsaCallAuthenticationPackage«:
Current LogonId is 0:0x3d2de2 Targeted LogonId is 0:0x3e7 *** You must run this tool while being elevated, and you must have TCB or be a local admin.*** klist failed with 0xc0000001/-1073741823: {Operation Failed} The requested operation was unsuccessful.
В этом случае вам нужно будет запустить командную строку от имени NT AUTHORITY\SYSTEM и очистить кэш билетов Kerberos на компьютере в этой консоли:
psexec -s -i -d cmd.exe
-запустить cmd от имени локальной системы с помощью инструмента psexec.exe
klist purge
— сбросить билет на компьютер
gpupdate /force
— обновить GPO
Этот метод обновления членства в компьютерной группе является единственным рабочим вариантом для обновления параметров GPO на клиентах, подключающихся к сети через VPN, где пользователь входит в систему, используя кэшированные учетные данные домена.
Перезагрузка членства в группах пользователей без выхода из системы
Другая команда используется для обновления назначенных групп безопасности Active Directory в пользовательском сеансе. Например, вы добавили пользователя в группу безопасности, предоставляющую доступ к общей папке. Пользователь не сможет получить доступ к этой сетевой папке , не выходя из системы и не включаясь снова.
Вы должны сбросить кэш билетов Kerberos пользователя, если хотите обновить список назначенных групп безопасности для этого пользователя. Откройте непривилегированную командную строку в пользовательском сеансе (не запускайте cmd в режиме администратора). Выполните команду:
klist purge
Current LogonId is 0:0x5e3d69 Deleting all tickets: Ticket(s) purged!
Чтобы увидеть обновленный список групп, вам нужно будет открыть новую командную строку с помощью runas (чтобы новый процесс был создан с новым маркером безопасности).
Перечислите группы пользователя:
whoami /groups
Get-WmiObject Win32_LogonSession | Where-Object {$_.AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_.LogonId, 16))}
Чтобы пользователь смог подключиться к общей сетевой папке, необходимо перезапустить оболочку File Explorer с новым маркером. (с новой группой безопасности)
- Откройте командную строку;
- Завершите процесс File Explorer текущего пользователя:
taskkill /f /im explorer.exe
- Запустите новый процесс Проводника, используя учетные данные своей учетной записи. Можно использовать
%USERDOMAIN%\%USERNAME%
переменные окружения или указать домен и имя пользователя вручную. Например:runas /user:woshub\jsmith explorer.exe
- Введите пароль учетной записи;
- После этого File Explorer будет перезапущен с новым маркером доступа, и вы сможете получить доступ к сетевой папке с разрешениями новой группы безопасности.
В предыдущем способе вы должны явно указать пароль пользователя для обновления групп безопасности в Windows File Explorer. Если это невозможно, можно попробовать обходной путь.
Предположим, что пользователь был добавлен в группу AD для доступа к общей папке файлового сервера. Попробуйте получить доступ к ней с помощью короткому имени (NETBIOS) или FQDN((!!! это важно). Например, \\\lon-fs1.woshub.loc\Install. Но не по IP-адресу.
В этот момент пользователю будет выдан новый билет Kerberos. Вы можете проверить, был ли обновлен ваш билет TGT:
klist tgt
(см. Cached TGT Start Time
значение)
Общая папка, доступ к которой был предоставлен через группу безопасности AD, должна открываться без выхода пользователя из системы.
Запустите программу whoami /groups
команду, чтобы убедиться, что пользователь получил новый TGT с обновленным списком групп безопасности без повторного входа в систему.
Еще раз напоминаем, что этот способ обновления членства в группах безопасности работает только для служб, поддерживающих Kerberos. Для служб с аутентификацией NTLM для обновления маркера потребуется перезагрузка компьютера или выход пользователя из системы.