none
Task Sequence - weitere Ausführung nur bei bestimmten Status Code RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte während einer Task Sequence ein PS Script ausführen, bei welche der gewünschte Status Code 200 ist (AD User wurde erfolgreich migriert). Die Task Sequence darf nur weiter laufen (Reboot -> WinPE -> OSD), wenn dieser Statuscode 200 erscheint, ansonst soll diese abgebrochen werden.

    Wie lässt sich so etwas am besten realisieren, habt ihr Ansatzpunkte?

    Danke und Gruß
    DP
    Freitag, 9. Juli 2021 07:43

Antworten

  • Moin,

    ja, Du kannst z.B. anhand des HTTP Status Code eine Task Sequence-Variable (Stichwort: TSEnvironment) setzen und die Ausführung weiterer Schritte von einem bestimmten Wert dieser Variable abhängig machen.

    Ein anderer Ansatz wäre, Dein PowerShell-Skript einen Return Code ausgeben zu lassen (exit 666), der nicht in der Liste der akzeptierten Codes wäre.

    Der Unterschied ist, im ersten Fall wäre die TS erfolgreich abgeschlossen (obwohl sie nichts getan hat), im zweiten Fall wäre sie fehlerhaft. 


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert Daniel Puls Montag, 19. Juli 2021 08:31
    Montag, 12. Juli 2021 11:29

Alle Antworten

  • Hallo Daniel,

    Vielen Dank für Ihre Frage und Kontaktaufnahme.

    Bitte befolgen Sie diese Schritte:

    Das Schlüsselwort throw verursacht einen Abbruchfehler. Sie können das Throw-Schlüsselwort verwenden, um die Verarbeitung eines Befehls, einer Funktion oder eines Skripts zu stoppen.

    Sie können beispielsweise das Schlüsselwort Throw im Skriptblock einer If-Anweisung verwenden, um auf eine Bedingung zu reagieren, oder im Catch-Block einer Try-Catch-Finally-Anweisung. Sie können auch das Throw-Schlüsselwort in einer Parameterdeklaration verwenden, um einen Funktionsparameter obligatorisch zu machen.

    Das Throw-Schlüsselwort kann jedes beliebige Objekt auslösen, z. B.: Eine Benutzernachrichtenzeichenfolge oder das Objekt, das den Fehler verursacht hat.

    Die Syntax des Throw-Schlüsselworts lautet wie folgt:
    werfen [<Ausdruck>]

    Der Ausdruck in der throw-Syntax ist optional. Wenn die Throw-Anweisung nicht in einem catch-Block angezeigt wird und keinen Ausdruck enthält, wird ein ScriptHalted-Fehler generiert.

    C:\PS> werfen

    Ausnahme: ScriptHalted

    Wenn das Throw-Schlüsselwort in einem catch-Block ohne Ausdruck verwendet wird, wird die aktuelle RuntimeException erneut ausgelöst.


    Für weitere Informationen können Sie diesen Link besuchen:
    https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell.core/about/about_throw?view=powershell-7.1#using-throw-to-create-a-mandatory-parameter


    Wenn die Antwort hilfreich war, vergessen Sie bitte nicht, positiv zu bewerten oder als Antwort zu akzeptieren.
    Vielen Dank,

    Aradhya
    Montag, 12. Juli 2021 09:22
  • Moin,

    ja, Du kannst z.B. anhand des HTTP Status Code eine Task Sequence-Variable (Stichwort: TSEnvironment) setzen und die Ausführung weiterer Schritte von einem bestimmten Wert dieser Variable abhängig machen.

    Ein anderer Ansatz wäre, Dein PowerShell-Skript einen Return Code ausgeben zu lassen (exit 666), der nicht in der Liste der akzeptierten Codes wäre.

    Der Unterschied ist, im ersten Fall wäre die TS erfolgreich abgeschlossen (obwohl sie nichts getan hat), im zweiten Fall wäre sie fehlerhaft. 


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert Daniel Puls Montag, 19. Juli 2021 08:31
    Montag, 12. Juli 2021 11:29