Блокировка учетной записи пользователя в домене – одна из наиболее частых причин обращений пользователей в техподдержку. В подавляющем большинстве случае причиной блокировки является забытый пользователем пароль или приложение, которое пытается использовать предыдущий (сохраненный) пароль для аутентификации, после того как пользователь сменил его.
Политика блокировки пользователей в 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