Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Windows Server, AD и Роли

Как обязать пользователя сменить пароль при следующем входе в Active Directory

Обновлено: 27.08.2026 · Официальная документация ↗

Когда требуется принудительная смена пароля?

Системный администратор обязан потребовать от пользователя сменить пароль в следующих типовых ситуациях:

  • Создана учетная запись для нового сотрудника с временным стандартным паролем (например, Welcome2025!).
  • Администратор сбросил забытый пароль по звонку и выдал временный код.
  • Произошла утечка паролей или подозрение на компрометацию учетных данных.

Как это выглядит для пользователя:

При попытке ввода временного пароля на экране входа Windows появляется системное диалоговое окно:

Пароль пользователя должен быть изменен перед первым входом в систему. Нажмите ОК для смены пароля.

Как выставить флаг смены пароля

Способ 1. Через графическую оснастку ADUC (Active Directory Users and Computers)

  1. Откройте dsa.msc.
  2. Найдите учетную запись сотрудника → кликните правой кнопкой мыши → выберите Сбросить пароль (Reset Password).
  3. Задайте временный пароль.
  4. Обязательно установите галочку напротив пункта «Потребовать смену пароля при следующем входе в систему» (User must change password at next logon).
  5. Нажмите ОК.

Внимание: Если на вкладке «Учетная запись» уже стоит галочка «Срок действия пароля не ограничен» (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
💡 Практика специалистов: При выдаче временного пароля никогда не отправляйте его открытым текстом в Telegram или почте. Сообщайте временный пароль лично или по SMS и всегда форсируйте флаг ChangePasswordAtLogon.

Частые вопросы (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.

Полезные материалы
Рекомендуем