Powershell hatasının hata mesajını kısmaktan kaçının


11

Böyle bir Powershell hatası alıyorum:

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

Hatayı (yani, $Disk = Get-WmiObject MSCluster_Disk ...) hata mesajında ​​kesilmesini tetikleyen komuttan kaçınabilmemin bir yolu var mı ?

Yanıtlar:


14

Bu hata nesnesinde bulunabilir. $Errorbir hata dizisidir ve [0]en yenisidir. Bu aslında sorgulanabilecek bir nesne ...

($Error[0]).InvocationInfo.Line

Komut dosyasında hatayı oluşturan tam satırı verecektir. InvocationInfoMülkiyet komut satırından hataları var olmayacak.

Alabileceğiniz diğer güzel özellikler PSScriptRoot, size komut dosyası dosyasının yolunu ScriptNameveren, size dosya adını ScriptLineNumberveren ve komut dosyasında başarısız olan satırı veren değerlerdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.