前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# 调用PowerShell方法

C# 调用PowerShell方法

作者头像
数据分析
发布2018-03-01 16:23:46
3.4K0
发布2018-03-01 16:23:46
举报
文章被收录于专栏:数据分析数据分析

PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了

1.创建一个powershell的方法,供C#调用,方法很简单,两个数的加法运算

代码语言:javascript
复制
1 function Sum
2 {
3 param([int]$first, [int]$second)
4 $result = $first + $second
5 return $result
6 }

 2. 在C#的控制台程序中创建一个私有方法,调用powershell

首先定义一个powershell存放路径的全局变量

代码语言:javascript
复制
 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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-06-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档