我正在使用 Powershell 来确定域帐户的密码到期日期。我使用以下命令来获取此信息:
Get-ADUser -Filter {SamAccountName -eq "<username>"} -Properties "DisplayName" , "msDS-UserPasswordExpiryTimeComputed"
然后,我使用以下方法将此值转换为有意义的日期:
[datetime]::FromFileTime(<computed filetime from above command>)
这适用于我使用的所有域,除了一个。9223372036854775807
在该域中,我得到的值为msDS-UserPasswordExpiryTimeComputed
. 我无法使用该FromFileTime
功能将此数字转换为日期。它作为错误抛出。经过研究,我发现这个数字意味着密码设置为不过期。但是,我知道该域中的密码确实会过期。此外,PasswordNeverExpires
来自Get-ADUser
cmdlet 的属性显示为False
.
如何9223372036854775807
从msDS-UserPasswordExpiryTimeComputed
属性中获取并获取False
从属性中获取PasswordNeverExpires
?这似乎是一个矛盾。我错过了什么?还有其他情况msDS-UserPasswordExpiryTimeComputed
也可以9223372036854775807
吗?谢谢。