C# 調用PowerShell方法


PowerShell應為編寫和運行都很方便,所以為了重復利用,經常寫了一些小方法或者PS代碼片段。使用的時候可能會很難找到自己想要的那個方法,如果要是有一個界面把這些代碼管理起來並且調用,那就很爽了

1.創建一個powershell的方法,供C#調用,方法很簡單,兩個數的加法運算

1 function Sum
2 {
3 param([int]$first, [int]$second)
4 $result = $first + $second
5 return $result
6 }

 

 2. 在C#的控制台程序中創建一個私有方法,調用powershell

首先定義一個powershell存放路徑的全局變量

 1 private static string script =File.ReadAllText(@"Path\Sum.ps1");
 2 private static void CallPS1()
 3 {
 4     using (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 
15              new Dictionary<string, int>()
16              {
17                  {"first", 5},
18                  {"second", 4}
19              }
20          );
21 
22          foreach (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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM