Ocorreu um erro no objeto Powershell da consulta

6

Os objetos de erro do Powershell contêm muitos dados, mas não consigo rastrear o tempo de ocorrência de um determinado erro. Usar $Error[0] | fl -f recupera muitas informações, mas nenhuma que pareça ser uma data em que o erro foi gerado. Ocorre-me que estes dados seriam / deveriam fazer parte do objeto de erro e eu simplesmente não consigo encontrar a propriedade exata.

Eu poderia obter uma aproximação aproximada usando os blocos try / catch e capturando o tempo, mas preciso do mais preciso possível de um registro de data e hora. Alguém sabe onde / se o horário da ocorrência é armazenado no objeto $ Error?

    
por Colyn1337 27.02.2017 / 20:05

2 respostas

4

Tanto quanto sei, não há data e hora que façam parte do objeto de erro. Se você quiser o datetime, basta adicionar um Get-Date no seu bloco catch ou o que quer que seja e adicioná-lo à sua saída, registra qualquer método de saída que você esteja usando para o resto do erro.

O formato 'o' tem muita precisão e formato útil para arquivos de log.

PS C:\users> Get-Date  -Format o
2017-02-27T11:57:31.3946789-08:00
    
por 27.02.2017 / 20:56
3

Os objetos de erro do PowerShell não contêm informações de data / hora.

Fonte: Registros de erros do Windows PowerShell

A classe InvocationInfo também não contém essa informação.

Se você quiser esses metadados, precisará colocá-los em algum lugar quando catch um erro de finalização. Isso não ajudará muito com erros não terminados, no entanto.

Pode ajudar se você explicar mais detalhadamente seu caso de uso.

    
por 28.02.2017 / 17:16