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?

James L.
quelle

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.

JNK
quelle