PSCrendential
を使用して作成した PowerShell にオブジェクトがあるとしGet-Credential
ます。
Active Directory に対して入力を検証するにはどうすればよいですか?
今ではこの方法を見つけましたが、少し醜い気がします:
[void][System.Reflection.Assembly]::LoadWithPartialName("System.DirectoryServices.AccountManagement")
function Validate-Credentials([System.Management.Automation.PSCredential]$credentials)
{
$pctx = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain, "domain")
$nc = $credentials.GetNetworkCredential()
return $pctx.ValidateCredentials($nc.UserName, $nc.Password)
}
$credentials = Get-Credential
Validate-Credentials $credentials
[編集、2 年後]今後の読者のために、 Test-Credential
orTest-PSCredential
の方が適切な名前であることに注意してくださいValidate
。Get-Verb