C# 调用PowerShell方法
时间:2022-04-29
本文章向大家介绍C# 调用PowerShell方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PowerShell应为编写和运行都很方便,所以为了重复利用,经常写了一些小方法或者PS代码片段。使用的时候可能会很难找到自己想要的那个方法,如果要是有一个界面把这些代码管理起来并且调用,那就很爽了
1.创建一个powershell的方法,供C#调用,方法很简单,两个数的加法运算
1 function Sum
2 {
3 param([int]$first, [int]$second)
4 $result = $first + $second
5 return $result
6 }
2. 在C#的控制台程序中创建一个私有方法,调用powershell
首先定义一个powershell存放路径的全局变量
1 private static string script =File.ReadAllText(@"PathSum.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:windowsassemblyGAC_MSILSystem.Management.Automation1.0.0.0__31bf3856ad364e35System.Management.Automation.dll
- sql server实现自定义分割月功能
- jdbc基础 (三) 大文本、二进制数据处理
- 如何修改自增列值以及相应的解决方法
- linux下安装openssh-server
- jdbc基础 (二) 通过properties配置文件连接数据库
- SQL Server 存储过程的几种常见写法分析
- servlet请求转发、包含以及重定向
- servlet设置缓存时间以及文件的下载
- 用python做科学计算之pandas入门简介
- Servlet响应的中文字符集问题
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
- JDBC
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
- LOJ#6280. 数列分块入门 4
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 使用 Scroller 实现平滑滚动功能的示例代码
- Android文件操作工具类详解
- Android之RecycleView实现指定范围的拖动效果
- Android 通过代码安装 APK的方法详解
- Android ListView实现无限循环滚动
- ignite:一个漂亮的多用户SS/SSR面板
- FreshRSS:开源免费的RSS阅读器
- 使用snap快速安装RocketChat你的聊天服务器
- CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能
- Baidu Sitemap Generator在PHP7无法生成XML的解决方法
- MFC实现的Socket通信
- 128-在线翻译
- C语言CGI编程二 - 编写cmd后门
- android 获取视频第一帧作为缩略图的方法
- Flutter利用注解生成可自定义的路由的实现