Tránh cắt thông báo lỗi trong lỗi Powershell


11

Tôi đang gặp lỗi Powershell như thế này:

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

Có cách nào để tôi có thể tránh lệnh gây ra lỗi (nghĩa là $Disk = Get-WmiObject MSCluster_Disk ...) bị cắt ngắn trong thông báo lỗi không?

Câu trả lời:


14

Điều này có thể được tìm thấy trong các đối tượng lỗi. $Errorlà một loạt các lỗi, và [0]là gần đây nhất. Đó thực sự là một đối tượng có thể bị thẩm vấn ...

($Error[0]).InvocationInfo.Line

Sẽ cung cấp cho bạn dòng đầy đủ trong tập lệnh tạo ra lỗi. Các InvocationInfobất động sản sẽ không tồn tại cho các lỗi từ dòng lệnh.

Các thuộc tính đẹp khác mà bạn có thể nhận được là PSScriptRootcung cấp cho bạn đường dẫn đến tệp tập lệnh, ScriptNamecung cấp cho bạn tên tệp và ScriptLineNumbercung cấp cho bạn dòng trong tập lệnh bị lỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.