验证 AD 用户密码

Verify AD User Password

我知道没有任何安全应用程序能够仅使用脚本来检索密码,但我想知道是否可以使用 PowerShell 至少验证输入的密码是否正确。

我需要构建一个允许用户更改其 AD 密码的脚本,但要实现这一点,he/she 需要输入他的当前密码。然后我会在继续之前检查当前输入的密码是否正确。

我试图验证 Get-ADUser 可以 return 的当前属性,但我找不到任何有用的东西。

有人可以帮我吗?

不知道我在哪里找到的,但这对我有用

# Validate credentials
[System.Reflection.Assembly]::LoadWithPartialName("System.DirectoryServices.AccountManagement")
$principalContext = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain, '<yourdomain>')
$principalContext.ValidateCredentials('<user>', '<password>')