Evite truncar a mensagem de erro no erro do PowerShell

11

Estou recebendo um erro do PowerShell assim:

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

Existe uma maneira de evitar que o comando que acionou o erro (ou seja $Disk = Get-WmiObject MSCluster_Disk ...) seja truncado na mensagem de erro?

James L
fonte

Respostas:

14

Isso pode ser encontrado no objeto de erro. $Erroré uma matriz de erros e [0]é a mais recente. Na verdade, é um objeto que pode ser interrogado ...

($Error[0]).InvocationInfo.Line

Fornecerá a linha completa no script que gerou o erro. A InvocationInfopropriedade não existirá para erros da linha de comandos.

Outras boas propriedades que você pode obter são: o PSScriptRootque fornece o caminho para o arquivo de script, ScriptNameo nome do arquivo e ScriptLineNumbera linha do script que falhou.

JNK
fonte