Я пытаюсь напечатать текст ошибки, когда в моей функции контроллера обнаружена ошибка во время выполнения.В моей функции есть строка, куда я добавляю
items.Add(shell.Streams.Error.ToString());
Но добавляемый текст печатает тип
'{System.Management.Automation.PSDataCollection<System.Management.Automation.ErrorRecord>}'
Ошибка, которую я получаю, когда ставлю точку остановаи проанализируйте представление результатов:
{Невозможно найти объект с идентификатором: '3180af9e-3c0e-41ff-94fe-3af'}
Я попытался ввести ошибкув строку.
public List<string> PowerShellExecutorGrd(string scriptPath, string arg)
{
var items = new List<string>();
using (var shell = PowerShell.Create())
{
shell.Commands.AddCommand(scriptPath).AddArgument(arg);
var results = shell.Invoke();
System.Diagnostics.Debug.WriteLine(shell.HadErrors.ToString());
if (shell.HadErrors == false) {
if (results.Any()) {
foreach (var psObj in results){
items.Add(Server.HtmlEncode(psObj.ToString().Trim('{','}')));
}
}
else
{
items.Add(shell.Streams.Error.ToString());
}
};
return items;
}
}
Сообщение об ошибке должно быть
«Не удается найти объект с идентификатором:« 3180af9e-3c0e-41ff-94fe-3af '»вместо System.Management.Automation.PSDataCollection