C# 调用powershell 执行命令

14 篇文章 0 订阅
1 篇文章 0 订阅
使用要添加引用System.Management.Automation.dll; 此DLL在C:\Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\v1.0
private static string RunScript(string scriptText)
{

// create Powershell runspace

Runspace runspace = RunspaceFactory.CreateRunspace();

// open it

runspace.Open();

// create a pipeline and feed it the script text

Pipeline pipeline = runspace.CreatePipeline();

pipeline.Commands.AddScript(scriptText);

pipeline.Commands.Add("Out-String");

// execute the script

Collection<PSObject> results = pipeline.Invoke();

// close the runspace

runspace.Close();

// convert the script result into a single string

StringBuilder stringBuilder = new StringBuilder();

foreach (PSObject obj in results)
{

stringBuilder.AppendLine(obj.ToString());

}

return stringBuilder.ToString();

}
public void RunScript(List<string> scripts)
    {
       try
        {
            Runspace runspace = RunspaceFactory.CreateRunspace();
            runspace.Open();
            Pipeline pipeline = runspace.CreatePipeline();
            foreach (var scr in scripts)
            {
                pipeline.Commands.AddScript(scr);
            } 
            //返回结果   
            var results = pipeline.Invoke();
            runspace.Close();
            
        }
        catch (Exception e)
        {
            Log.WriteLog(DateTime.Now.ToString() + "日志记录:执行ps命令异常:" + e.Message);
        }


    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值