Vermeiden Sie das Abschneiden der Fehlermeldung im Powershell-Fehler


11

Ich erhalte einen Powershell-Fehler wie folgt:

PS C:\mydirectory> $Error[0]
Get-WmiObject : 
At line:143 char:13
+           $Disk = Get-WmiObject MSCluster_Disk -ComputerName $Resource.OwnerNode -Auth    ...
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
+ FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

Gibt es eine Möglichkeit, zu vermeiden, dass der Befehl, der den Fehler ausgelöst hat (dh $Disk = Get-WmiObject MSCluster_Disk ...), in der Fehlermeldung abgeschnitten wird?

Antworten:


14

Dies kann im Fehlerobjekt gefunden werden. $Errorist eine Reihe von Fehlern und [0]ist die neueste. Das ist eigentlich ein Objekt, das abgefragt werden kann ...

($Error[0]).InvocationInfo.Line

Gibt Ihnen die vollständige Zeile im Skript, das den Fehler generiert hat. Die InvocationInfoEigenschaft ist für Fehler in der Befehlszeile nicht vorhanden.

Andere nette Eigenschaften, die Sie erhalten können, sind PSScriptRootder Pfad zur Skriptdatei, ScriptNameder Dateiname und ScriptLineNumberdie fehlgeschlagene Zeile im Skript.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.