Как обязать пользователя сменить пароль при следующем входе в Active Directory
Когда требуется принудительная смена пароля?
Системный администратор обязан потребовать от пользователя сменить пароль в следующих типовых ситуациях:
- Создана учетная запись для нового сотрудника с временным стандартным паролем (например,
Welcome2025!). - Администратор сбросил забытый пароль по звонку и выдал временный код.
- Произошла утечка паролей или подозрение на компрометацию учетных данных.
Как это выглядит для пользователя:
При попытке ввода временного пароля на экране входа Windows появляется системное диалоговое окно:
Пароль пользователя должен быть изменен перед первым входом в систему. Нажмите ОК для смены пароля.
Как выставить флаг смены пароля
Способ 1. Через графическую оснастку ADUC (Active Directory Users and Computers)
- Откройте
dsa.msc. - Найдите учетную запись сотрудника → кликните правой кнопкой мыши → выберите Сбросить пароль (Reset Password).
- Задайте временный пароль.
- Обязательно установите галочку напротив пункта «Потребовать смену пароля при следующем входе в систему» (User must change password at next logon).
- Нажмите ОК.
Внимание: Если на вкладке «Учетная запись» уже стоит галочка «Срок действия пароля не ограничен» (Password never expires), система может выдать конфликт. Снимите галочку бессрочного пароля перед установкой принудительной смены.
Способ 2. Через PowerShell для одного пользователя
# Установить требование смены пароля для сотрудника ivanov.i:
Set-ADUser -Identity "ivanov.i" -ChangePasswordAtLogon $true
# Проверить состояние флага pwdLastToken:
Get-ADUser -Identity "ivanov.i" -Properties CannotChangePassword, PasswordNeverExpires, pwdLastSet | Select-Object Name, PasswordNeverExpires, pwdLastSet(Если атрибут pwdLastSet равен 0, это означает, что Windows потребует обязательную смену пароля при входе).
Способ 3. Массовое требование смены пароля для целого отдела
# Обязать сменить пароль всех сотрудников определенного подразделения (OU):
Get-ADUser -Filter * -SearchBase "OU=Sales,OU=Users,DC=company,DC=local" | Set-ADUser -ChangePasswordAtLogon $true Частые вопросы (FAQ)
Может ли пользователь сменить пароль при удаленной работе через VPN/RDP?
При прямом RDP-подключении (Network Level Authentication) сменить пароль с истекшим сроком иногда не удается. Рекомендуется настроить портал самообслуживания RD Web Access либо использовать внутренний портал смены паролей ADFS / Keycloak.
Почему появляется ошибка 'Не удалось установить флаг: срок действия пароля не ограничен'?
В Active Directory эти два правила взаимоисключающие. Сначала отключите бессрочный пароль: Set-ADUser -Identity 'user' -PasswordNeverExpires $false, а затем включите смену пароля.
Сможет ли пользователь ввести свой старый пароль повторно?
Если в доменной политике паролей настроена 'История паролей' (Enforce password history, например 5 или 10 паролей), система не позволит указать ранее использовавшийся пароль.
Как снять требование обязательной смены пароля, если пользователь не может справиться сам?
Выполните команду в PowerShell: Set-ADUser -Identity 'user' -ChangePasswordAtLogon $false.