C#调⽤PowerShell⽅法
PowerShell应为编写和运⾏都很⽅便,所以为了重复利⽤,经常写了⼀些⼩⽅法或者PS代码⽚段。使⽤的时候可能会很难到⾃⼰想要的那个⽅法,如果要是有⼀个界⾯把这些代码管理起来并且调⽤,那就很爽了
1.创建⼀个powershell的⽅法,供C#调⽤,⽅法很简单,两个数的加法运算
1function Sum
2 {
3param([int]$first, [int]$second)
4$result = $first + $second
5return$result
6 }
2. 在C#的控制台程序中创建⼀个私有⽅法,调⽤powershell
⾸先定义⼀个powershell存放路径的全局变量
1private static string script =File.ReadAllText(@"Path\Sum.ps1");
2private static void CallPS1()
3 {
4using (Runspace runspace = RunspaceFactory.CreateRunspace())
5        {
6          runspace.Open();
7
8          PowerShell ps = PowerShell.Create();
9          ps.Runspace = runspace;
10          ps.AddScript(script);
11          ps.Invoke();
12
13          ps.AddCommand("Sum").AddParameters(
14
15new Dictionary<string, int>()
16              {
17                  {"first", 5},
powershell创建目录18                  {"second", 4}
19              }
20          );
21
22foreach (PSObject result in ps.Invoke())
23          {
24              Console.WriteLine("CallPS1()");
25              Console.WriteLine(result);
26          }
27
28 }
29
30        }
调⽤⽅法需要添加⼀个引⽤System.Management.Automation.dll 如果不到可以到这个路径下到:
C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。