C# 调用PowerShell方法
2013-06-13 09:33
232 查看
C# 调用PowerShell方法
PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了1.创建一个powershell的方法,供C#调用,方法很简单,两个数的加法运算
function Sum
{
param([int]$first, [int]$second)
$result = $first + $second
return $result
}
2. 在C#的控制台程序中创建一个私有方法,调用powershell
首先定义一个powershell存放路径的全局变量
private static string script =File.ReadAllText(@"Path\Sum.ps1");
private static void CallPS1()
{
using (Runspace runspace = RunspaceFactory.CreateRunspace())
{
runspace.Open();
PowerShell ps = PowerShell.Create();
ps.Runspace = runspace;
ps.AddScript(script);
ps.Invoke();
ps.AddCommand("Sum").AddParameters(
new Dictionary<string, int>()
{
{"first", 5},
{"second", 4}
}
);
foreach (PSObject result in ps.Invoke())
{
Console.WriteLine("CallPS1()");
Console.WriteLine(result);
}
}
}
调用方法需要添加一个引用System.Management.Automation.dll
如果找不到可以到这个路径下找到:C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll
相关文章推荐
- C# 调用PowerShell方法
- C# 调用PowerShell方法
- C#中定义调用方法
- C#源代码—声明委托,通过委托对象调用所指向的方法
- 不用AJAX实现前台JS调用后台C#方法(小技巧)
- C#中方法,方法声明,方法调用和方法重载!
- [转]C# FormWindow Class 公开调用方法 12种
- C#.NET调用WSDL接口及方法
- C++如何调用C#的DLL方法
- c#调用c++程序(DLL方法,以及opencv,运行开源的人脸识别seetaface)
- C# 制作Com组件:java调用.net DLL的方法
- .Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#)
- js与C#之间相互调用的一些方法
- WinForm中嵌入WebBrowser,并且支持C#和JS方法的相互调用
- C#调用java类、jar包方法。
- C# 制作Com组件:java调用.net DLL的方法
- C#调用C++方法,C#使用c++方法返回类或结构体
- 天轰穿C# -vs2010 - 04面向对象的编程之调用方法和属性【原创】
- [Window PowerShell05]-C# 调用PowerShell脚本
- C# 使用MarshalByRefObject跨程序调用方法