LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中执行PowerShell 脚本

admin
2021年5月31日 8:50 本文热度 2959

在C#中调用powershell脚本,需要引用的namespace如下:

using System.Management.Automation;
using System.Management.Automation.Runspaces;

添加System.Management.Automation.dll的引用,需要使用浏览,如果不知道位置,可以先在本机查找下。

代码如下:

 1         //RunPowershell(@".\x.ps1", "");
2 private Collection<PSObject> RunPowershell(string filePath, string parameters)
3 {
4 RunspaceConfiguration runspaceConfiguration = RunspaceConfiguration.Create();
5 Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConfiguration);
6 runspace.Open();
7 RunspaceInvoke scriptInvoker = new RunspaceInvoke(runspace);
8 Pipeline pipeline = runspace.CreatePipeline();
9 Command scriptCommand = new Command(filePath);
10 Collection<CommandParameter> commandParameters = new Collection<CommandParameter>();
11
12 string[] tempParas = parameters.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
13 for (int i = 0; i < tempParas.Length; i += 2)
14 {
15 CommandParameter commandParm = new CommandParameter(tempParas[i], tempParas[i + 1]);
16 commandParameters.Add(commandParm);
17 scriptCommand.Parameters.Add(commandParm);
18 }
19
20 pipeline.Commands.Add(scriptCommand);
21 Collection<PSObject> psObjects;
22 psObjects = pipeline.Invoke();
23
24 if (pipeline.Error.Count > 0)
25 {
26 throw new Exception("脚本执行失败");
27 }
28
29 runspace.Close();
30
31 return psObjects;
32 }

  powershell脚本执行的结果存在Collection<PSObject>集合中。


该文章在 2021/5/31 8:50:52 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved