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

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
Link zu diesem Kommentar

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
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...