Как я могу получить powershell описания исключения в строку?

Я хочу иметь доступ к тому же сообщению, что Powershell печатает при отправке ошибочной записи на поток вывода

Пример:

Это - сообщение об исключении В C:\Documents and Settings\BillBillington\Desktop\psTest\exThrower.ps1:1 char:6 + бросок <<<<(Новый Объект ArgumentException ("Это - исключение")); + CategoryInfo: OperationStopped: (:) [], ArgumentException + FullyQualifiedErrorId: Это - исключение

Я, когда получение последнего ErrorRecord путем выполнения $Error [0] я, может казаться, не выясняю, как получить эту информацию простым путем

Я нашел эту функцию 'Ошибки Твердости' от общественных расширений здесь, которая делает примерно, что я хочу, но она печатает огромный полуформатированный список материала, мне не нужно это, я должен затем разделить

Действительно ли там способом получить доступ является сообщение, что использование Powershell или сбой, о котором более простом способе получить хеш значений я забочусь о том, таким образом, я могу поместить их в строку в формате моего выбора?

10
задан Willbill 4 August 2010 в 10:33
поделиться

2 ответа

Если вы хотите немного более короткое сообщение (иногда более удобное для пользователя?), Чем предлагает @tomasr, это подойдет:

$error[0].ToString() + $error[0].InvocationInfo.PositionMessage

Вы получите что-то вроде:

Cannot find path 'C:\TEMP\_100804_135716\missing' because it does not exist.
At C:\TEMP\_100804_135716\test.ps1:5 char:15
+   Get-ChildItem <<<<  missing

Эта техническая информация будет исключена:

+ CategoryInfo          : ObjectNotFound: (C:\TEMP\_100804_135716\missing:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
15
ответ дан 3 December 2019 в 14:05
поделиться

Как насчет:

$x = ($error[0] | out-string)

Это то, что вы хотели?

18
ответ дан 3 December 2019 в 14:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: