Jump to content
Melde dich an, um diesen Inhalt zu abonnieren  
Pet7

Fehlerbehandlung bei Powershell-Scripte

Empfohlene Beiträge

@Pet7, bitte verwende die Zitierfunktion sparsamer und nur wenn du dich auf bestimmte Stellen beziehen willst. Wenn du immer den ganzen Beitrag zitierst, wird das gesamte Posting nur lang und unübersichtlich

 

Danke

blub

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Cybquest,

die Zuweisung der Fehlervariable im Cmdlet muss immer ohne Dollar-Zeichen erfolgen sonst tut das nicht!

Bsp.: -ErrorVariable err

 

Das der Wert (die Fehlermeldung als Array) als Rückgabewert geeignet ist bzw. funktioniert glaube ich ehrlich gesagt nicht. Hast Du das getestet?

Ich hab leider jezt keine Zeit mehr.

 

Gruß

Bernd

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@Bernd: Ich habs genau so getestet, wie ichs beschrieben hab (+ Deiner Batch). Also mit -ErrorVariable $err

Bei ner "gibtsnicht.txt" bekomm ich 1 als Errorcode, bei ner "gibts.txt" ne 0.

 

Edit: Bei mir gehts übrigens sowohl mit -ErrorVariable $err als auch mit -ErrorVariable err

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

@Cybquest: Ich hab'a auch noch mal getestet. Es sit so wie ich schon geschrieben hatte. Vielleicht liegt's an der Umgebung Win XP Powershell 2.0 - wie auch immer... die eigentliche Frage war ja prinzipiell beantwortet.

 

Errorvariable: Es ist definitiv per Definition dass es nur funktioniert wenn sie ohne das Dollarzeichen angegeben wird.

Bsp:

# Korrekter Befehl
dir C:\gibtsnicht -ErrorVariable MeinFehler

# Variableninhalt ausgeben
$meinFehler

#Inhalt von $MeinFehler
Get-ChildItem : Der Pfad "C:\gibtsnicht" kann nicht gefunden werden, da er nicht vorhanden ist.
Bei Zeile:1 Zeichen:4
+ dir <<<<  C:\gibtsnicht -ErrorVariable MeinFehler
   + CategoryInfo          : ObjectNotFound: (C:\gibtsnicht:String) [Get-ChildItem], ItemNotFoundException
   + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand


# Variable leeren
$MeinFehler = $null
# Falscher Befehl
dir C:\gibtsnicht -ErrorVariable [color="Red"][b]$[/b][/color]MeinFehler

# Variableninhalt ausgeben
$meinFehler

#Inhalt von $MeinFehler
(Es wird kein Inhalt ausgegeben)

 

Gruß

Bernd

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

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
Melde dich an, um diesen Inhalt zu abonnieren  

×