gpt4 book ai didi

powershell - 来自 Active Directory 的关于密码到期日期的矛盾值

转载 作者:行者123 更新时间:2023-12-03 10:04:25 28 4
gpt4 key购买 nike

我正在使用 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 的属性(property)cmdlet 显示为 False .

我怎样才能得到 9223372036854775807来自 msDS-UserPasswordExpiryTimeComputed属性并获得 False来自 PasswordNeverExpires属性(property)?这似乎是一个矛盾。我错过了什么? msDS-UserPasswordExpiryTimeComputed时还有其他情况吗可能是 9223372036854775807也?谢谢。

最佳答案

documentation列出 几个 msDS-UserPasswordExpiryTimeComputed 返回 9223372036854775807 又名 0x7fffffffffffffff 又名 [int64]::MaxValue (TO 指的是给定的t目标o对象):

If any of the ADS_UF_SMARTCARD_REQUIRED, ADS_UF_DONT_EXPIRE_PASSWD, ADS_UF_WORKSTATION_TRUST_ACCOUNT, ADS_UF_SERVER_TRUST_ACCOUNT, ADS_UF_INTERDOMAIN_TRUST_ACCOUNT bits is set in TO!userAccountControl, then TO!msDS-UserPasswordExpiryTimeComputed = 0x7FFFFFFFFFFFFFFF.
[...]
Else, if Effective-MaximumPasswordAge = 0x8000000000000000, then TO!msDS-UserPasswordExpiryTimeComputed = 0x7FFFFFFFFFFFFFFF (where Effective-MaximumPasswordAge is defined in [MS-SAMR] section 3.1.1.5).


在不知道所有细节的情况下,似乎 msDS-UserPasswordExpiryTimeComputed 属性返回 0x7FFFFFFFFFFFFFFFF 表明有效没有密码过期,因为多种原因,其中只有 一个PasswordNeverExpires 被设置为 $True

因此,您可以过滤掉这样的值:

Get-ADUser -Filter "SamAccountName -eq '<username>'" `
-Properties DisplayName, msDS-UserPasswordExpiryTimeComputed | #`
Where { $_.msDS-UserPasswordExpiryTimeComputed -ne 0x7FFFFFFFFFFFFFFF } | ForEach {
# ...
$dt = [datetime]::FromFileTime($_.msDS-UserPasswordExpiryTimeComputed)
}

甚至可以将针对 0x7FFFFFFFFFFFFFFFF 的测试合并到 -Filter 参数中。

顺便说一句:请注意,我使用了 string 而不是脚本 block ({ ... }) 作为 - Filter 参数,因为使用脚本 block 是 best avoided .

关于powershell - 来自 Active Directory 的关于密码到期日期的矛盾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51165528/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com