Hindari memotong pesan kesalahan dalam kesalahan Powershell


11

Saya mendapatkan kesalahan Powershell seperti ini:

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

Apakah ada cara saya bisa menghindari perintah yang memicu kesalahan (yaitu, $Disk = Get-WmiObject MSCluster_Disk ...) terpotong di pesan kesalahan?

Jawaban:


14

Ini dapat ditemukan di objek kesalahan. $Erroradalah serangkaian kesalahan, dan [0]merupakan yang terbaru. Itu sebenarnya benda yang bisa diinterogasi ...

($Error[0]).InvocationInfo.Line

Akan memberi Anda baris penuh dalam skrip yang menghasilkan kesalahan. The InvocationInfoproperti tidak akan ada kesalahan dari baris perintah.

Properti bagus lainnya yang bisa Anda dapatkan adalah PSScriptRootyang memberi Anda path ke file skrip, ScriptNameyang memberi Anda nama file, dan ScriptLineNumberyang memberi Anda baris dalam skrip yang gagal.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.