快速找出System.Management.Automation.dll,c#调用powershell
public static void InvokeSystemPS(string cmd)
{
List<string> ps = new List<string>();
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代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了
.创建一个powershell的方法,供C#调用,方法很简单,两个数的加法运算
function Sum
{
param([int]$first, [int]$second)
$result = $first + $second
return $result
}
 . 在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", },
                        {"second", }
                    }
                    );
                foreach (PSObject result in ps.Invoke())
                {
                    Console.WriteLine("CallPS1()");
                    Console.WriteLine(result);
                }
            }
        }
调用方法需要添加一个引用System.Management.Automation.dll 
powershell命令行找System.Management.Automation.dll命令 : [psobject].Assembly.Location快速找出System.Management.Automation.dll,c#调用powershell的更多相关文章
- python——快速找出两个电子表中数据的差异
		
最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...
 - 快速找出故障机器(single number)
		
简单起见,假设每个机器存储一个标号为ID的记录(ID是小于十亿的整数),假设每份数据都保存两个备份,这样就有两个机器储存了同样的数据. 1.在某个时间,如果得到一个数据文件ID的列表,是否能够快速地找 ...
 - 快速找出网站中可能存在的XSS漏洞实践
		
笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...
 - 快速找出网站中可能存在的XSS漏洞实践(一)
		
一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...
 - 编程之美 set 12 快速找出故障机器
		
题目 1. 所有的 ID 都出现 2 次, 只有一个例外, 找到那个例外的 ID 2. 所有的 ID 都出现两次, 只有两个例外, 找出例外的那两个 总计 1. 剑指 offer 上有这两道题的解法, ...
 - 如何快速找出Linux中的重复文件
		
md5sum | sort | uniq -w32 --all-repeated=separate [1]find -not -empty -type f -printf “%s\n” :find是查 ...
 - C#快速找出磁盘内的所有文件
		
本文只针对NTFS格式化的磁盘文件快速检索,速度不是非常快,是让你震惊. 一般用文件遍历的方法检索一个50G的文件夹需要几十分钟甚至一个小时的时间,而用本方法只需几秒. using System; u ...
 - python的自省函数, 快速找出BUG的良器
		
python内置的好多自省函数, 合理使用可快速查找相关提示, 快速找到问题点, 以下开始具体说明 1. dir() 列出对象的所有属性和方法 如: dir(list) 可以列出列表的所有属性 ...
 - 怎么快速找出帝国CMS数据库配置文件路径及迁移网站后修改技巧!
		
首先,我们要了解一下帝国CMS整个目录结构,只有了解清楚结构,我们才有可能快速找到自己想要的文件,比如:帝国CMS数据库配置文件路径! 帝国CMS目录结构介绍 / 系统根目录├d/ 附件和数据存放目录 ...
 
随机推荐
- 3dmax 物体的真正局部空间原点
			
假设在3dmax中创建一个 长x宽x高=1cm x 1cm x 1cm 的单位立方体,则默认局部坐标系原点在底面中心,进入 “层次”面板->轴->调整轴,按下“仅影响轴”,再点“居中到对象 ...
 - [Linux] 一次SSH认证失败引发的关于通过日志查错误的思考
			
一.缘由: 早上在用SSH公钥认证打通所有的机器,有一台机器在完成一些列操作后密钥登陆失败,其他机器一切正常. 错误如下:Public-key authentication with the serv ...
 - NGUI学习笔记(六):ScrollView、Grid和Table
			
下面我们来看看游戏UI开发中比较核心的开发,我称为列表开发,比如背包和各种形式不一的列表等,下面我们来看几个具体的样例: 基本上就是一些重复的制作好的多个UI控件进行排列,同时可以支持滚动,当然, ...
 - iOS开发之地域选择
			
代码地址: https://github.com/boundlessocean/AreaPickViewDome.git 效果: 第一步: 将BLAreaPickerView 导入工程 第 ...
 - Solr学习之四-Solr配置说明之二
			
上一篇的配置说明主要是说明solrconfig.xml配置中的查询部分配置,在solr的功能中另外一个重要的功能是建索引,这是提供快速查询的核心. 按照Solr学习之一所述关于搜索引擎的原理中说明了建 ...
 - 利用对象思想来绘制canvas帧动画
			
绘制思路: 1.封装一个对象出来: 2.属性: width . height imgSr speed dir3.行为: render changeDir html文件: <script> ...
 - 说说http协议中的编码和解码
			
http://www.csdn1 2 3.com/html/itweb/20130730/29422_29378_29408.htm ****************************** 一. ...
 - hive 启动 Specified key was too long; max key length is 767 bytes解决办法
			
解决方案: 在mysql机器的上命令行中运行: alter database hivemanual character set latin1; 问题解决.
 - Django 笔记(来源于讲师)以及常见问题的解决
			
写1.Django加载静态文件 1.首先在项目的根目录下,新建static文件夹 2在settings.py中加入这两句话.表明从项目的跟目录找static文件夹 3.在HTML文件中导入{% loa ...
 - 设置将Maven的jar包发布到lib
			
2,设置将Maven的jar包发布到lib下. Add -> Java Build Path Entries -> Maven Dependencies -> Finish 设置完成 ...