public string ExtractErrorFromErrorRecord(ErrorRecord record)
{
Pipeline pipeline = _runspace.CreatePipeline(command: "$input", addToHistory: false);
pipeline.Commands.Add("out-string");
Collection<PSObject> result;
using (var inputCollection = new PSDataCollection<object>())
{
inputCollection.Add(record);
inputCollection.Complete();
result = InvokeCore(pipeline, inputCollection);
}
if (result.Count > 0)
{
string str = result[0].BaseObject as string;
if (!string.IsNullOrEmpty(str))
{
// Remove \r\n, which is added by the Out-String cmdlet.
return str.TrimEnd(new [] { '\r', '\n' });
}
}
return String.Empty;
}