web-dev-qa-db-ja.com

Powershell-ADでユーザー資格情報をテストし、パスワードをリセットする

Powershellを正常に使用して、ユーザーがActive Directoryで認証されているかどうかを確認できます。

Function Test-ADAuthentication {
    param($username,$password)
    (new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
}

Test-ADAuthentication "test" "Password1"

しかし、私は私の人生の中で次の方法を理解することはできません。

  1. パスワードをリセットする必要があるかどうかを確認します。
  2. 送信された資格情報の確認は、最後のパスワードで機能しました。

どうすればこれに対処できますか?

8
dthree

資格情報は、プロセスを実行してテストできます。以下の例、

Start-Process -FilePath cmd.exe /c -Credential (Get-Credential -UserName $username -Message 'Test Credential')

または単に:

Start-Process -FilePath cmd.exe /c -Credential (Get-Credential)

パスワードを入力するプロンプトが表示されます。文字列からパスワードを読み取る必要がある場合(悪い習慣)、事前に資格情報オブジェクトを初期化する必要があります。その方法の詳細については、ヘルプを参照してください。

Get-Help Get-Credential
8
MFT