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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 882478556
Url: https://administrator.de/contentid/882478556
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
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
}