Powershell: verifica le credenziali dell'utente in AD, con reimpostazione della password


8

Posso usare con successo Powershell per dire se un utente si autentica in Active Directory:

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

Test-ADAuthentication "test" "Password1"

Tuttavia, non posso per la vita di me capire come:

  1. Controlla se la password deve essere ripristinata, mentre
  2. La verifica delle credenziali inviate ha funzionato sulla loro ultima password.

Come si può fare questo?


un po 'meglio la soluzione per lo stesso problema qui: stackoverflow.com/questions/7663219/...
Nick Kavadias

Risposte:


8

Le credenziali possono essere testate eseguendo un processo. Un esempio di seguito,

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

O semplicemente:

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

Ti verrà chiesto di inserire una password. Se è necessario leggere la password da una stringa (cattiva pratica), è necessario inizializzare preventivamente l'oggetto credenziale. Maggiori dettagli su questo metodo sono disponibili nella guida.

Get-Help Get-Credential

Potresti scoprire che questo processo di avvio non funzionerà comunque se l'utente non ha i diritti di remoting .... Ho trovato utili le risposte qui. serverfault.com/questions/276098/…
andrew pate
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.