none
Frage zu $LASTEXITCODE RRS feed

  • Frage

  • Hallo,

    ich möchte $LASTEXITCODE in einem Script dafür nutzen, dass bei einem Fehler ($LASTEXITCODE = 1) bzw. bei einem erfolgreichen Durchgang ($LASTEXITCODE = 0) jeweils andere Meldungen in eine .log geschrieben werden.

    Ich habe es mit einem normalen Ping-Befehl getestet.

    ping 1111 -> "PING: Fehler bei der Übertragung. Allgemeiner Fehler" -> $LASTEXITCODE 1
    ping 192.168.1.1 -> "Ping wird ausgeführt für 192.168.1.1 mit 32 Bytes Daten:" -> $LASTEXITCODE 0
    

    Nutze ich $LASTEXITCODE in Verbindung mit meinem Script, funktioniert es leider nicht. Ein Ausschnitt aus dem Script (Rücksetzung des Passworts eines AD-Nutzers).

    $varNewPassword = ConvertTo-SecureString -AsPlainText "P@SSW0RD" -Force
    Set-AdAccountPassword -Identity nutzer01 -Reset -NewPassword $varNewPassword

    $LASTEXITCODE ist danach auf 0.

    Ändere ich das Passwort auf ein einfaches (z.B. "123"), kommt eine Fehlermeldung bezüglich Komplexitätsanforderungen des Passworts. Der $LASTEXITCODE ist danach aber weiterhin auf 0 und nicht auf 1.

    Wieso ist das so und wie kann ich das, wenn möglich, ändern? 

    Mittwoch, 5. Dezember 2012 11:52

Antworten

  • LastExitCode ist nur für Legacy Commands, also DOS Commandos. PowerShell cmdlets werfen Exceptions die Du in der $Error Variable findest. Wenn Du nur ein Ok / nicht Ok haben möchtest, könnte noch die Variable $? helfen.

    Oder noch besser: Try, Catch, Finally...


    -Raimund

    • Als Antwort vorgeschlagen JSpieler Freitag, 7. Dezember 2012 09:01
    • Als Antwort markiert notadmin Freitag, 7. Dezember 2012 09:19
    Mittwoch, 5. Dezember 2012 14:26
  • http://www.tek-tips.com/viewthread.cfm?qid=1630993

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert notadmin Freitag, 7. Dezember 2012 12:39
    Freitag, 7. Dezember 2012 07:55

Alle Antworten

  • LastExitCode ist nur für Legacy Commands, also DOS Commandos. PowerShell cmdlets werfen Exceptions die Du in der $Error Variable findest. Wenn Du nur ein Ok / nicht Ok haben möchtest, könnte noch die Variable $? helfen.

    Oder noch besser: Try, Catch, Finally...


    -Raimund

    • Als Antwort vorgeschlagen JSpieler Freitag, 7. Dezember 2012 09:01
    • Als Antwort markiert notadmin Freitag, 7. Dezember 2012 09:19
    Mittwoch, 5. Dezember 2012 14:26
  • http://www.tek-tips.com/viewthread.cfm?qid=1630993

    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    • Als Antwort markiert notadmin Freitag, 7. Dezember 2012 12:39
    Freitag, 7. Dezember 2012 07:55
  • Top, beide Posts bringen mich weiter. Vielen Dank und schönes Wochenende!
    Freitag, 7. Dezember 2012 09:51
  • Du kannst auch mehr als eine Antwort als Antwort markieren!

    So finden andere Leute auch die anderen richtigen Antworten!

    schönes WE !


    Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
    Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
    My PowerShell Blog http://www.admin-source.info
    [string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
    German ? Come to German PowerShell Forum!

    Freitag, 7. Dezember 2012 12:23