В Powershell срок действия пароля пользователя AD можно посмотреть через команду Get-ADUser. Эта команда вернет информацию обо всех пользователях:
$data = Get-ADUser -Filter * -Properties PasswordExpired,PasswordLastSet,PasswordNeverExpires
$data | ft -Property Name,PasswordLastSet,PasswordNeverExpires,PasswordExpired
Где:
- PasswordExpired - возвращает либо True (устарел) либо False (не устарел).
- PasswordLastSet - дата последней установки пароля
- PasswordNeverExpires - у этой учетной записи пароль не устаревает
Если вам нужно вернуть дату, когда пароль будет считаться устаревшим нужно свойство msDS-UserPasswordExpiryTimeComputed. Это свойство вернет численный тип данных, а значит его нужно будет преобразовать в тип данных datetime. Таким образом мы выполним эти операции для всех пользователей которые включены и у которых пароль не установленным сроком действия:
$users = Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed"
$users | Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}
Формат даты месяц, день, год. Т.к. у меня есть пользователи, которые никогда не входили в систему их год 1600.
Если же нужно посмотреть срок действия пароля установленного в политиках выполните:
Get-ADDefaultDomainPasswordPolicy
...
Подписывайтесь на наш Telegram канал
Теги: #powershell #ad