Powershell - Testen Sie Benutzeranmeldeinformationen in AD mit zurückgesetztem Kennwort

8

Ich kann Powershell erfolgreich verwenden, um festzustellen, ob sich ein Benutzer in Active Directory authentifiziert:

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

Test-ADAuthentication "test" "Password1"

Ich kann jedoch nicht für mein Leben herausfinden, wie ich:

  1. Überprüfen Sie dabei, ob das Passwort zurückgesetzt werden muss
  2. Das Überprüfen der gesendeten Anmeldeinformationen hat bei ihrem letzten Kennwort funktioniert.

Wie könnte man das machen?

drei
quelle
etwas bessere Lösung für das gleiche Problem hier: stackoverflow.com/questions/7663219/…
Nick Kavadias

Antworten:

8

Anmeldeinformationen können durch Ausführen eines Prozesses getestet werden. Ein Beispiel unten,

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

Oder einfach:

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

Sie werden aufgefordert, ein Passwort einzugeben. Wenn Sie das Kennwort aus einer Zeichenfolge lesen müssen (schlechte Vorgehensweise), müssen Sie das Berechtigungsnachweisobjekt zuvor initialisieren. Weitere Details zu dieser Methode finden Sie in der Hilfe.

Get-Help Get-Credential
MFT
quelle
Möglicherweise funktioniert dieser Startvorgang ohnehin nicht, wenn der Benutzer keine Remoting-Rechte hat. Ich fand die Antworten hier hilfreich. serverfault.com/questions/276098/…
Andrew Pate