博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速找出System.Management.Automation.dll,c#调用powershell
阅读量:5841 次
发布时间:2019-06-18

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

public static void InvokeSystemPS(string cmd)        {            List
ps = new List
(); ps.Add("Set-ExecutionPolicy RemoteSigned"); ps.Add("Set-ExecutionPolicy -ExecutionPolicy Unrestricted"); ps.Add("& " + cmd); Runspace runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); Pipeline pipeline = runspace.CreatePipeline(); foreach (var scr in ps) { pipeline.Commands.AddScript(scr); } pipeline.Invoke();//Execute the ps script runspace.Close(); }
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
() { {
"first", 5}, {
"second", 4} } ); foreach (PSObject result in ps.Invoke()) { Console.WriteLine("CallPS1()"); Console.WriteLine(result); } } }调用方法需要添加一个引用System.Management.Automation.dll
powershell命令行找System.Management.Automation.dll命令 : [psobject]
.Assembly.Location

转载地址:http://uwtcx.baihongyu.com/

你可能感兴趣的文章
Android中如何反编译apk文件
查看>>
关于web api 中 日期格式问题解决方案
查看>>
4、总结一下,以软件开发生命周期来说明测试的使用情况。
查看>>
6 地址管理 webapi
查看>>
POJ1088解题报告
查看>>
docker使用
查看>>
构建高性能java程序-使用mapped file创建超大的矩阵
查看>>
grpc与json格式互转
查看>>
通过js实现整屏滑动+全屏翻页+动画展示+线性图
查看>>
初窥Flask
查看>>
数据库表级锁和行级锁详解
查看>>
PHP生成条形码
查看>>
oo第四单元及课程总结
查看>>
python之路---22 初始模块 random time collections functools
查看>>
决策树-预测隐形眼镜类型 (ID3算法,C4.5算法,CART算法,GINI指数,剪枝,随机森林)...
查看>>
软件测试面试题-网站
查看>>
Mybatis常见面试题(转)
查看>>
python if else while for
查看>>
面试 : C语言 功底 被 鄙视了
查看>>
C++ 对象的赋值和复制 基本的
查看>>