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