Unikaj obcięcia komunikatu o błędzie w błędzie Powershell


11

Otrzymuję błąd Powershell taki jak ten:

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

Czy istnieje sposób, aby uniknąć $Disk = Get-WmiObject MSCluster_Disk ...skracania polecenia, które spowodowało błąd (tj. ), W komunikacie o błędzie?

Odpowiedzi:


14

Można to znaleźć w obiekcie błędu. $Errorto tablica błędów i [0]jest najnowsza. To właściwie obiekt, który można przesłuchać ...

($Error[0]).InvocationInfo.Line

Podaje pełną linię w skrypcie, który wygenerował błąd. InvocationInfoNieruchomość nie będzie istnieć za błędy z linii poleceń.

Inne ładne właściwości, które można uzyskać, to PSScriptRootścieżka do pliku skryptu, ScriptNamenazwa pliku i ScriptLineNumberwiersz w skrypcie, który się nie powiódł.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.