Jump to content

Enable-Mailbox mit IF true / False


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hallo ich würde gerne eine IF Anweisung in meinem Script einbinde. Ich habe schon ein Script was mit die Infos aus einer CSV Datei ausliest und dazu die Postfächer anlegen! So jetzt würde ich gerne die Anweisung einbauen, wenn Fehler dann schreib in LOG -> " Fehler blblbl"

 

Ich habe mir schon ein paar Infos aus dem Netz gezogen, leider komme ich damit nicht zurecht!

 

 

Import-Csv 'c:\_scripts\import.csv' |

 foreach{

 

  %{ Enable-Mailbox -Identity $_User -Alias $_Alias}

  }

 

Hat mir jemand eine kleine Hilfestellung?

bearbeitet von David
Geschrieben (bearbeitet)

und was spricht gegen eine globale Trap ?
Try Catch macht ja eher sinn, wenn man an diversen Stellen Fehler abfangen möchte und womöglich Customerrors aufbauen will.

Will man hingegen nur schauen ob der Skript lief und welcher Fehler auftrat, dann würde ich eine Trap nutzen. Der Trap fängt sämtliche Fehler im gesamten Skript - nicht nur in einem Bereich ab.

 

Hier ein schönes Beispiel aus dem Buch "Windows Power Shell 3.0" von Tobiass Weltner (leicht angepasst)

Zur Erklärung - der untere Skript ließt den Ursprung der letzten Fehler und ruft dann ein Template auf und gibt so eine detaillierte und gut formatierte Meldung aus - auch ins Logfile.
Den Code solltest du dir in den Skriptheader einfügen.

 

#Variable mit Pfad zu Logdatei
$log_file="c:\powershell.log"

#Hier die eigentliche Fehlerbearbeitung
trap
{

    $line=$_.InvocationInfo.Line
    $sriptname=$_.InvocationInfo.ScriptName
    $linenumber=$_.InvocationInfo.ScriptLineNumber
    $lineoffset=$_.InvocationInfo.OffsetInLine
    $message=$_.Exception.Message
    $time=get-date()
    $user=$env:USERDOMAIN+'\'+$env:USERNAME

    $template=@'
##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#
Scripterror in "{0}"
at {1} in line {2} column {3}:

Exception:
    "{4}"

Commandline:
    {5}

Run as:
    {6}

##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.##.#
'@

    $message=$template -f $scriptname,$time,$linenumber,$lineoffset,$message,$line,$user
    $message>>$log_file

    #beendet den Skript mit einer Fehlerrückgabe
    exit 1
}
bearbeitet von PowerShellAdmin
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...