首页 > 解决方案 > 来自 power-shell 的 Active Directory 用户密码验证

问题描述

当我从 Microsoft AD 用户更改活动目录用户密码并尝试从 Power shell 脚本验证凭据时。

问题是有一段时间它对旧密码和新密码都显示 TRUE,然后一段时间后它开始对旧密码显示错误。

不知道它在哪里缓存。

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

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

标签: powershellactive-directory

解决方案


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

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

推荐阅读