public static string ExtractErrorFromErrorRecord(this Runspace runspace, ErrorRecord record) { Pipeline pipeline = runspace.CreatePipeline("$input", false); pipeline.Commands.Add("out-string"); Collection<PSObject> result; using (PSDataCollection<object> inputCollection = new PSDataCollection<object>()) { inputCollection.Add(record); inputCollection.Complete(); result = pipeline.Invoke(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.Substring(0, str.Length - 2); } } return String.Empty; }
public static Collection<PSObject> Invoke(this Runspace rs, string cmd, params object[] objs) { return rs.CreatePipeline(string.Format(cmd, objs)).Invoke(); }
public static Collection<PSObject> Invoke(this Runspace rs, string cmd) { return rs.CreatePipeline(cmd).Invoke(); }