本文告诉大家如何在 dotnet core 通过 Host PowerShell 的方法使用 PowerShell 脚本




本文提供的方法需要在 dotnet core 2.1 和以上的版本,对于 dotnet core 2.1 以下暂时只能通过命令行调用 PowerShell.exe 的方法调用

在使用之前请创建一个 dotnet core 程序然后安装下面几个 Nuget 库

通过 System.Management.Automation.PowerShell 可以快速使用 PowerShell 脚本

使用 PowerShell.Create() 创建一个 PowerShell 类,在 PowerShell 类先添加脚本,然后就可以运行,运行函数会返回运行的返回的内容

        public static void Execute(string command)
{
using (var ps = PowerShell.Create())
{
var results = ps.AddScript(command).Invoke();
foreach (var result in results)
{
Console.Write(result.ToString());
}
}
}

如使用下面的脚本

([System.Management.Automation.ActionPreference], [System.Management.Automation.AliasAttribute]).FullName

可以直接调用上面封装的函数

            Execute("([System.Management.Automation.ActionPreference], [System.Management.Automation.AliasAttribute]).FullName");

在命令行使用 dotnet run 可以看到输出

System.Management.Automation.ActionPreferenceSystem.Management.Automation.AliasAttribute

本文使用的代码请看 github

官方例子

https://stackoverflow.com/a/47777636/6116637

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系

最新文章

  1. Fibonacci 数列算法分析
  2. mysql存储过程中的异常处理
  3. 疯狂java学习笔记之面向对象(九) - 抽象和接口
  4. URAL1018 Binary Apple Tree(树形DP)
  5. CentOS 命令模式下设置静态IP
  6. Linux摄像头驱动学习之:(六)UVC-基本框架代码分析
  7. Circle(codevs 3134)
  8. 1^b+2^b+3^b+...+n^b数列
  9. ios delegate 代理模式 观察者模式 不同视图间的通信
  10. Html+jquery mobile
  11. PHP 'ext/soap/php_xml.c'不完整修复多个任意文件泄露漏洞
  12. 根据地址查询经纬度.html
  13. PHP中的数组方法及访问方法总结
  14. 如何使用 Barracuda 防火墙设置/保护 Azure 应用程序
  15. Python美女[从新手到高手]--阅读"见个面问题 HashMap 储存方法"联想
  16. 3.从AbstractQueuedSynchronizer(AQS)说起(2)——共享模式的锁获取与释放
  17. accept 文件描述符用尽处理
  18. PCB名詞解釋:通孔、盲孔、埋孔(转载)
  19. 服务器二:epoll
  20. sublime markdown 设置

热门文章

  1. iOS将image转90,180,270度的方法
  2. day39-Spring 05-Spring的AOP:不带有切点的切面
  3. 程序跳转到itunes商店
  4. AtCoder Regular Contest 090 D - People on a Line
  5. 【windows系统下的navicat与ubuntu中的mysql的连接方法】
  6. 部署zabbix3.2.7,升级到3.4、proxy部署
  7. Unicode与FFFE(记一个蛋疼的项目)
  8. java中URLEncode和URLDecode
  9. 巨蟒python全栈开发-第11阶段 ansible_project6
  10. nodeJs学习-05 案例:http/fs/querystring/url