人人都值得学一点PowerShell实现自动化(1)在VisualStudio上使用PowerShell

最近学PowerShell的知识比较多,也开始有一点点可以分享的知识给大家输出,学一门语言,理当首先找准一个好用的IDE来帮助我们提高学习效率,本文给大家介绍如何在宇宙第一的IDE-Visual Studio上写PowerShell脚本。

关于PowerShell的基础知识哪里学

笔者前面介绍Azure的自动化运维时,已经引出了本系列的主角PowerShell,因为在Azure上,使用PowerShell较比使用其他语言再开发,要来得更简单快捷。

PowerShell的定位也就是运维人员等非专业程序员使用的脚本语言,很多命令已经提前封装好,就像我们想让电脑给我们做什么,只需给电脑一句命令,它就帮我们做完一件事情,非常简单高效。

至于怎么学,之前介绍的两本书,很不错,有兴趣上路的朋友们不妨买来看看,还能够买到纸质版。

同样地国内唯一一个比较全的免费网络资料是在PowerTips上可以看到,站主翻译了一本书放到网页上供大家学习,是上面实战指南的不错的补充。建议非程序员学习的路径按实战指南的思路用着学的方式来完成,而不是一头砸进无底深坑的语言方面学习。

https://www.pstips.net/powershell-online-tutorials

使用什么样的IDE最合适编写PowerShell代码?

在微软原本已提供的PowerShell控制台和PowerShell ISE对于交互式的敲打代码已经非常友好,但最近认真找了一轮IDE后,发现最佳的IDE还是在Visual Studio上最好。

当然使用PowerShell ISE和Visual Studio一起使用,可能更佳,特别是PowerShell ISE可以使用拿命令帮助窗体,直接类似以Excel函数向导一样,给我们提供界面式输入参数,即可生成执行的语句。

在Visual Studio上使用,需要安装一个扩展,是PowerShell的MVP写的,非常棒。

安装好之后,就可以创建PowerShell项目了。

Visual Studio上使用PowerShell的优势所在

在Visaul Studio上,我们可以轻松地对脚本进行断点调试(当然在PowerShell ISE也可以调试,但笔者不会用,但也足够地把握相信绝对不是Visual Studio的体验可比的)。

在高度的过程中,我们可以类似其他dotNET语言一样,可以轻松地看到调试过程中的中间变量的各种属性值。

因为PowerShell同样是面向对象的语言,在dotNET语言体系中,C#和VB.NET等可以实现的,PowerShell也可以轻松实现。所以其调试过程中,也一样可以看到很丰富的托管对象属性。这一点估计在PowerShell ISE上没法做到。

同样地我们要发挥PowerShell脚本语言的特性,无需编译后即可运行,类似于Jupyter Notebook的即写即得结果地交互式体验,我们在VS上一样可以调出PowerShell控制台进行交互式查询编写代码。

并且交互式过程中,保持着之前脚本运行过程的变量值,运行脚本后,设置断点,再用交互式窗口再根据所需重新执行其他语句测试检验等操作,非常舒服流畅。

结语

这么多的程序语言,我们应该学哪个?每学一门语言,从学习到可以实际应用,都是一个漫长的过程。

但PowerShell,绝对是值得推荐的语言之一,和使用VBA的群体的需求类似,都是满足用中学,不需要学习周期很长,马上可以使用上来,并且PowerShell一般是一个语句操作一个场景需求,只需弄明白怎么使用这些语句即可用起来,甚至连一般语言里的循环、选择、变量等知识都不需要。

相信笔者吧,这是一门投入产出比很高的语言,不需要终点指向专业程序员道路,人人都可以学着用起来,微软自身和社区轮子也是非常多。

笔者未来聚焦在数据领域的分享,不限于Excel,会分享更多Sqlserver、dotNET、Azure、PowerBI等话题,升级数据分析的能力,欢迎继续关注。*

关于Excel催化剂

Excel催化剂插件使用最新的布署技术,实现一次安装,日后所有更新自动更新完成,无需重复关注更新动态,手动下载安装包重新安装,只需一次安装即可随时保持最新版本!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190824A0BLCR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券