Пример #1
0
        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();
 }