Блокировка учетной записи пользователя в домене – одна из наиболее частых причин обращений пользователей в техподдержку. В подавляющем большинстве случае причиной блокировки является забытый пользователем пароль или приложение, которое пытается использовать предыдущий (сохраненный) пароль для аутентификации, после того как пользователь сменил его.
Политика блокировки пользователей в Active Directory
Функция блокировки учетной записи пользователя включена в стандартных настройках политики безопасности домена Active Directory.
Обычно параметры политики блокировки пользователей настраиваются в Default Domain Policy GPO в разделе Computer Configuration -> Windows Settings -> Security Settings -> Account Policy -> Account Lockout Policy. Здесь есть три параметра:
- Account lockout threshold – количество неудачных попыток набрать пароль, после которых пользователя блокируется;
- Account lockout duration – длительность блокировки (в минутах). По истечению этого времени пользователь разблокируется автоматически;
- Reset account lockout counter after – через сколько минут нужно сбросить счетчик неудачных попыток входа.
Эти настройки политики блокировки действуют на всех пользователей домена, кроме групп, на которые назначены особые настройки с помощью детальных политик паролей (Fine Grained Password Policy).
Microsoft Security baseline рекомендуют блокировать пользователей после 10 попыток. Это значение считается оптимальным, которое защитит вас от подбора пароля, DoS атак на AD, и не вызовет неудобств для пользователей, которые часто ошибаются при вводе пароля.
Как разблокировать учетную запись пользователя с помощью ADUC?
Если учетная запись пользователя заблокирована, при попытке входа в Windows появится сообщение:
Учетная запись пользователя заблокирована и не может быть использована для входа в сеть.
The referenced account is currently locked out and may not be logged on to.
Пользователь сможет войти в Windows только после того, как истечет время блокировки, или администратор вручную разблокирует аккаунт.
Чтобы разблокировать пользователя в AD можно использовать графическую консоль Active Directory Users and Computers (ADUC):
- Запустите консоль
dsa.msc
и найдите пользователя AD, которого нужно разблокировать; - Перейдите на вкладку Account. Если пользователь заблокирован, здесь должна присутствовать надпись Unlock account. This account is currently locked out on this Active Directory Domain Controller (
Разблокируйте учетную запись. Учетная запись на этом контроллере домена Active Directory на данный момент заблокирована
); - Включите эту опцию и нажмите Ok чтобы сохранить изменения;
- Учетная запись пользователя теперь разблокирована и может быть использована для входа в домен.
По-умолчанию разблокировать учетные записи пользователей в AD могут администраторы домена. Вы можете в Active Directory делегировать права на разблокировку обычным (не-административным) пользователям.
- Щелкните по Organization Unit (OU) с пользователями, на чьи учетные записи нужно предоставить права и выберите Delegate Control;
- Укажите группу пользователей, которым нужно предоставить права (например, spbHelpDesk);
- Затем выберите Create a custom task -> Only the following objects in the folder -> User objects;
- В списке разрешений выберите Write lockout Time.
- Теперь пользователи из группы spbHelpDesk могут разблокировать пользователей.
Вы можете включить политику аудита, которая позволит узнать, кто конкретно разблокировал учетную запись пользователя:
- Включите политику Audit User Account Management в Default Domain Controller GPO (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy Configuration -> Audit Policies -> Account Management);
- После этого вы можете вы можете отслеживать события разблокировки пользователей по EventID 4767 в журнале Security на контроллере домена (
A user account was unlocked
). В событии указано кто и кого разблокировал. - Также вы можете найти события по event ID с помощью PowerShell:
Get-WinEvent -FilterHashtable @{logname='Security';id=4767}|ft TimeCreated,Id,Message
Разблокировать учетную запись пользователя с помощью PowerShell
Вы можете использовать PowerShell командлет Unlock-ADAccount для разблокировки пользователей. Этот комадлет входит в состав модуля AD для Windows PowerShell. Это модуль можно установить, как в Windows Server, так и в дескопных версиях Windows 10 и 11 (Pro и Enterprise).
Проверьте, что пользователь заблокирован (
Lockedout = true
):
Get-ADUser -Identity a.novak -Properties LockedOut,DisplayName | Select-Object samaccountName, displayName,Lockedout
Разблокируйте пользователя командой:
Unlock-ADAccount a.novak
Get-ADUser a.novak -Properties Name,Lockedout, lastLogonTimestamp,lockoutTime,,pwdLastSet | Select-Object Name, Lockedout,@{n='LastLogon'; e={[DateTime]::FromFileTime($_.lastLogonTimestamp)}}, @{n='lockoutTime';e={[DateTime]::FromFileTime($_.lockoutTime)}}, @{n='pwdLastSet';e={[DateTime]::FromFileTime($_.pwdLastSet)}}
С помощью командлета Search-ADAccount вы можете найти всех заблокированных пользователей:
Search-ADAccount -UsersOnly -lockedout
С помощью простого однострочника PowerShell можно разблокировать сразу всех пользователей домена:
Search-ADAccount -UsersOnly -lockedout| Unlock-ADAccount