博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 调用PowerShell方法
阅读量:5155 次
发布时间:2019-06-13

本文共 1317 字,大约阅读时间需要 4 分钟。

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

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

1 function Sum2 {3 param([int]$first, [int]$second)4 $result = $first + $second5 return $result6 }

 

 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
()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

转载于:https://www.cnblogs.com/BoyceYang/archive/2013/06/13/3133454.html

你可能感兴趣的文章
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
校门外的树2 contest 树状数组练习 T4
查看>>
面试整理:Python基础
查看>>
Python核心编程——多线程threading和队列
查看>>
Program exited with code **** 相关解释
查看>>
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
Caroline--chochukmo
查看>>
iOS之文本属性Attributes的使用
查看>>
从.Net版本演变看String和StringBuilder性能之争
查看>>
Excel操作 Microsoft.Office.Interop.Excel.dll的使用
查看>>
解决Ubuntu下博通网卡驱动问题
查看>>