来自powershell的Active directory用户密码验证



当我从Microsoft AD Users更改active directory用户密码并尝试从Power shell脚本验证凭据时。

问题是,在一段时间内,它对旧密码和新密码都显示TRUE,然后过了一段时间,它开始对旧密码显示false。

不知道它缓存在哪里。

下面的命令用于凭据验证,但我也尝试了谷歌上所有可用的命令,结果相同。

$ct = [System.DirectoryServices.AccountManagement.ContextType]::Domain
$pc = New-Object System.DirectoryServices.AccountManagement.PrincipalContext($ct, "xxxxx")
$pc.ValidateCredentials("xxxxmyemail.abc", 12345).ToString() 

可能发生以下两种情况之一:

  1. 它可能在验证时遇到了不同的DC,并且密码更改尚未复制到那里,或者
  2. 它可以通过NTLM(而不是Kerberos(进行身份验证,在这种情况下,正如本文所描述的,旧密码在一个小时内仍然有效

最新更新