PowerShell 可以为您测试用户帐户密码。这适用于本地帐户和域帐户。这是一个称为 Test-Password 的示例函数:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 
 | function Test-Password{
 param
 (
 [Parameter(Mandatory)]
 [string]
 $Domain,
 
 [Parameter(Mandatory)]
 [string]
 $Username,
 
 [Parameter(Mandatory)]
 [string]
 $Password
 
 )
 
 
 Add-Type -AssemblyName System.DirectoryServices.AccountManagement
 
 
 
 $local = $Domain -eq $env:COMPUTERNAME
 
 if ($local)
 {
 $context = [System.DirectoryServices.AccountManagement.ContextType]::Machine
 }
 else
 {
 $context = [System.DirectoryServices.AccountManagement.ContextType]::Domain
 }
 
 $PrincipalContext = [System.DirectoryServices.AccountManagement.PrincipalContext]::new($context, $Domain)
 $PrincipalContext.ValidateCredentials($UserName,$Password)
 }
 
 | 
它需要域名(或本地计算机名),用户名和密码。密码正确时,该函数返回 $true。
请注意,此处使用的系统方法需要明文密码。输入明文密码并不安全,因此在我们的下一个技巧中,我们将改进以隐藏方式提示密码的功能。