Mit Powershell Anmeldedaten gegen AD prüfen
Hi,
in meinem Script habe ich eine Text Datei, in der mein Login Name steht und ich schreibe mein Passwort (verschlüsselt) in eine andere Datei.
Diese Login Daten möchte ich gerne prüfen und falls nicht mehr korrekt, neu setzen.
Code Schnipsel
Wie vergleiche ich nun, ob meine Login Daten korrekt sind ?
Für Anregungen wäre ich dankbar
in meinem Script habe ich eine Text Datei, in der mein Login Name steht und ich schreibe mein Passwort (verschlüsselt) in eine andere Datei.
Diese Login Daten möchte ich gerne prüfen und falls nicht mehr korrekt, neu setzen.
Code Schnipsel
$VAR_User = Get-Content C:\MyUSER.txt
$Credentials = Get-Credential -Message "Bitte trage hier deinen User ein !" $VAR_User
$Credentials.password | ConvertFrom-SecureString | set-content C:\password.txt
$VAR_Password = Get-Content C:\password.txt | ConvertTo-SecureString
$VAR_Cred = New-Object System.Management.Automation.PSCredential $MyADMUser,$VAR_Password
Wie vergleiche ich nun, ob meine Login Daten korrekt sind ?
Für Anregungen wäre ich dankbar
Please also mark the comments that contributed to the solution of the article
Content-Key: 882478556
Url: https://administrator.de/contentid/882478556
Printed on: April 26, 2024 at 09:04 o'clock
2 Comments
Latest comment
Servus,
Grüße Uwe
Wie vergleiche ich nun, ob meine Login Daten korrekt sind ?
z.B. so# Credential Variablen zuweisen (kannst du auch direkt dein erzeugtes Credential Object nehmen)
$credential = Get-Credential
# Funktion liefert $true bei Erfolg und $false bei Misserfolg zurück
function Check-Credential{
param(
[parameter(mandatory=$true)][ValidateNotNullOrEmpty()][pscredential]$cred
)
Add-Type -assemblyname System.DirectoryServices.Accountmanagement
$ds = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Domain)
if ($cred.UserName -ne "" -and $cred.GetNetworkCredential().Password -ne ""){
return $ds.ValidateCredentials($cred.UserName, $cred.GetNetworkCredential().password)
}
return $false
}
try{
# Credential prüfen
if(Check-Credential $credential){
write-host "Credentials korrekt" -F Green
}else{
write-host "Credentials fehlerhaft" -F Yellow
}
}catch{
write-host $_.Exception -F Red
}