Разблокировать пользователя в Active Directory

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

🎓 Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и "под микроскопом" изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Политика блокировки пользователей в 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 – через сколько минут нужно сбросить счетчик неудачных попыток входа.

политика блокировки пользователей в AD

Эти настройки политики блокировки действуют на всех пользователей домена, кроме групп, на которые назначены особые настройки с помощью детальных политик паролей (Fine Grained Password Policy).

Microsoft Security baseline рекомендуют блокировать пользователей после 10 попыток. Это значение считается оптимальным, которое защитит вас от подбора пароля, DoS атак на AD, и не вызовет неудобств для пользователей, которые часто ошибаются при вводе пароля.

В парольной политике Azure AD по умолчанию учетная запись пользователя блокируется после 10 неудачных попыток ввода пароля.

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

Если учетная запись пользователя заблокирована, при попытке входа в Windows появится сообщение:

Учетная запись пользователя заблокирована и не может быть использована для входа в сеть.
The referenced account is currently locked out and may not be logged on to.

Учетная запись пользователя заблокирована и не может быть использована для входа

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

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

Чтобы разблокировать пользователя в AD можно использовать графическую консоль Active Directory Users and Computers (ADUC):

  1. Запустите консоль dsa.msc и найдите пользователя AD, которого нужно разблокировать;
  2. Перейдите на вкладку Account. Если пользователь заблокирован, здесь должна присутствовать надпись Unlock account. This account is currently locked out on this Active Directory Domain Controller ( Разблокируйте учетную запись. Учетная запись на этом контроллере домена Active Directory на данный момент заблокирована );
  3. Включите эту опцию и нажмите Ok чтобы сохранить изменения;
  4. Учетная запись пользователя теперь разблокирована и может быть использована для входа в домен. разлокировать пользователя через консоль ADUC

По-умолчанию разблокировать учетные записи пользователей в AD могут администраторы домена. Вы можете в Active Directory делегировать права на разблокировку обычным (не-административным) пользователям.

  1. Щелкните по Organization Unit (OU) с пользователями, на чьи учетные записи нужно предоставить права и выберите Delegate Control; делегирование прав в Active Directory
  2. Укажите группу пользователей, которым нужно предоставить права (например, spbHelpDesk);
  3. Затем выберите Create a custom task -> Only the following objects in the folder -> User objects;
  4. В списке разрешений выберите Write lockout Time. разрешить разблокировку для простых пользователей
  5. Теперь пользователи из группы spbHelpDesk могут разблокировать пользователей.

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

  1. Включите политику Audit User Account Management в Default Domain Controller GPO (Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy Configuration -> Audit Policies -> Account Management);
  2. После этого вы можете вы можете отслеживать события разблокировки пользователей по EventID 4767 в журнале Security на контроллере домена ( A user account was unlocked ). В событии указано кто и кого разблокировал. EventID 4767 A user account was unlocked
  3. Также вы можете найти события по event ID с помощью PowerShell:
    Get-WinEvent -FilterHashtable @{logname='Security';id=4767}|ft TimeCreated,Id,Message

powershell вывести все события разблокирвки учетных записей

Рекомендуем увеличить размер журналов Event Viewer на контроллерах домена.

Разблокировать учетную запись пользователя с помощью 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

команда Unlock-ADAccount

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

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)}}

powershell - когда был заблокирован пользователь lockoutTime

С помощью командлета Search-ADAccount вы можете найти всех заблокированных пользователей:

Search-ADAccount -UsersOnly -lockedout

С помощью простого однострочника PowerShell можно разблокировать сразу всех пользователей домена:

Search-ADAccount -UsersOnly -lockedout| Unlock-ADAccount

🎓 Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и "под микроскопом" изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)