По умолчанию в Active Directory включена парольная политика, которая устанавливает максимальный срок действия пароля пользователя. Когда срок жизни пароля превышает это значение, пароль считается просроченным и при следующем входе в систему пользователь должен будет его сменить.
В некоторых случаях, когда пользователь домена не может вовремя сменить свой истекший пароль (например, в случае удаленного подключения к сети через VPN или RDS), администратор может продлить срок действия пароля, не включая для аккаунта опцию Password Never Expires (что менее безопасно).
Проверить срок действия пароля пользователя в AD с помощью PowerShell:
Get-ADUser -Identity a.ivanov -Properties msDS-UserPasswordExpiryTimeComputed, PasswordLastSet, PasswordNeverExpires, PasswordExpired |Select-Object -Property Name,PasswordLastSet, PasswordNeverExpires, PasswordExpired,@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
В данном случае пароль пользователя просрочен (
PasswordExpired=True
). Дата истечения пароля хранится в специальном атрибуте msDS-UserPasswordExpiryTimeComputed. Значение этого атрибута рассчитывается на основании значения параметра pwdLastSet и результирующей политики паролей, действующей на пользователя.
Get-ADUser a.ivanov -Properties pwdLastSet | select SamAccountName,@{Name="pwdLastSet";Expression={[datetime]::FromFileTime($_.pwdLastSet)}}
Параметр pwdLastSet содержит дату в формате миллисекунд (Windows NT time format), но может принять одно из следующих специальных значений:
- 0 — сбросить пароль в состояние “Пароль никогда не был задан”
- -1 — сбросить дату смены пароля пользователя на текущее время
Изменить значение атрибута пользователя можно с помощью PowerShell командлета Set-ADUser. Сначала нужно задать 0, потом -1.
Set-ADUser a.ivanov -Replace @{pwdLastSet='0'}
Set-ADUser a.ivanov -Replace @{pwdLastSet='-1'}
Теперь проверим дату смены пароля и срок его действия. Как вы видите, дата смены пароля была изменена на текущую, а срок действия пароля пользователя был продлен. Произвольную дату установки пароля указать нельзя.
Этот способ продления пароля можно также использовать в случаях, когда вы планируете включить политику срока действия пароля в домене после того, как пароли пользователей были бессрочными или была включена опция
PasswordNeverExpires
. После включения такой политики все пользователи в один момент должны будут сменить свой пароль, что может парализовать работу. Поэтому перед внедрением такой политики сначала нужно продлить срок действия пароля у всех пользователей.