我收到如下 Powershell 错误:
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
有什么方法可以避免触发错误的命令(即$Disk = Get-WmiObject MSCluster_Disk ...
)在错误消息中被截断?
答案1
这可以在错误对象中找到。$Error
是一个错误数组,并且[0]
是最新的。这实际上是一个可以查询的对象……
($Error[0]).InvocationInfo.Line
将为您提供脚本中生成错误的完整行。InvocationInfo
对于来自命令行的错误,该属性不存在。
您可以获得的其他不错的属性包括:PSScriptRoot
为您提供脚本文件的路径、ScriptName
文件名以及ScriptLineNumber
脚本中失败的行。