Fehlerbehandlung If any error

Marco26

Cadet 3rd Year
Registriert
Sep. 2016
Beiträge
37
Hey zusammen :D

Ich arbeite grade an einen Script der die Passwörter von AD Usern ändert. Im Moment fehlt nur noch die Fehlerbehandlung.
Ich habe es mir so vorgestellt das, wenn irgendein Fehler auftritt die Meldung kommt das das pw nicht geändert wurde.
Im Grunde also
if any error
do...
Else
do...

bisher sieht es so aus:

Code:
$Ändern.Add_Click({
    if(#Bedingung) {
                $securepw = $newpwd.Text | ConvertTo-SecureString -AsPlainText -Force
    
                Set-ADAccountPassword  $Name.Text -NewPassword $securepw -Reset

                $Name.Clear()
                $newpwd.Clear()

                [System.Windows.Forms.MessageBox]::Show("Passwort geändert","Erfolgreich",0,[System.Windows.Forms.MessageBoxIcon]::Information)
} Else {
                [System.Windows.Forms.MessageBox]::Show("Fehler aufgetreten","Error",0,[System.Windows.Forms.MessageBoxIcon]::Error)              
}
})

Ich hab gesehen das es die vordefinierte Variable Error gibt. Die scheint aber eine andere Funktion zu haben da es mit ihr nicht klappte.


Ideen wie ich das korrekt umsetzten kann ?
(Gerne auch mit try catch)
 
Zuletzt bearbeitet:
try-catch sollte die lösung sein.

Code:
$Ändern.Add_Click({
    try {
                $securepw = $newpwd.Text | ConvertTo-SecureString -AsPlainText -Force
    
                Set-ADAccountPassword  $Name.Text -NewPassword $securepw -Reset

                $Name.Clear()
                $newpwd.Clear()

                [System.Windows.Forms.MessageBox]::Show("Passwort geändert","Erfolgreich",0,[System.Windows.Forms.MessageBoxIcon]::Information)
} catch(err) {
                [System.Windows.Forms.MessageBox]::Show("Fehler aufgetreten","Error",0,[System.Windows.Forms.MessageBoxIcon]::Error)              
}
})

Solltest bei solchen topics grundsätzlich auch die Sprache mit angeben
 
Zuletzt bearbeitet von einem Moderator:
Passt perfekt, dank dir. Nur bei catch meintest du wahrscheinlich $error oder ? und die { muss nach catch kommen. Aber trotzdem danke ohne dich wär ich nicht weitergekommen ^^
 
In fast jeder Programmiersprache ist die Syntax für try-catch unterschiedlich.

Wenn man nicht weiß, um welche Programmiersprache es sich handelt, ist es schwer eine passende Lösung bereitzustellen.

Freut mich aber, dass es geholfen hat :)
 
Zurück
Oben