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

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

关于PowerShell的基础知识哪里学

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

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

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

640?wx_fmt=png

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

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

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

640?wx_fmt=png
640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

Visual Studio上使用PowerShell的优势所在

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

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

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

结语

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

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

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

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

关于Excel催化剂

Excel催化剂先是一微信公众号的名称,后来顺其名称,正式推出了Excel插件,插件将持续性地更新,更新的周期视本人的时间而定争取一周能够上线一个大功能模块。Excel催化剂插件承诺个人用户永久性免费使用!

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

Excel催化剂插件下载链接:https://pan.baidu.com/s/1Iz2_NZJ8v7C9eqhNjdnP3Q

640?wx_fmt=png
联系作者
640?wx_fmt=png
公众号

取名催化剂,因Excel本身的强大,并非所有人能够立马享受到,大部分人还是在被Excel软件所虐的阶段,就是头脑里很清晰想达到的效果,而且高手们也已经实现出来,就是自己怎么弄都弄不出来,或者更糟的是还不知道Excel能够做什么而停留在不断地重复、机械、手工地在做着数据,耗费着无数的青春年华岁月。所以催生了是否可以作为一种媒介,让广大的Excel用户们可以瞬间点燃Excel的爆点,无需苦苦地挣扎地没日没夜的技巧学习、高级复杂函数的烧脑,最终走向了从入门到放弃的道路。

最后Excel功能强大,其实还需树立一个观点,不是所有事情都要交给Excel去完成,也不是所有事情Excel都是十分胜任的,外面的世界仍然是一个广阔的世界,Excel只是其中一枚耀眼的明星,还有其他更多同样精彩强大的技术、工具等。*Excel催化剂也将借力这些其他技术,让Excel能够发挥更强大的爆发!

关于Excel催化剂作者

姓名:李伟坚,从事数据分析工作多年(BI方向),一名同样在路上的学习者。

技术路线从一名普通用户,通过Excel软件的学习,从此走向数据世界,非科班IT专业人士。

擅长技术领域:Excel等Office家族软件、VBA&VSTO的二次开发、Sqlserver数据库技术、Sqlserver的商业智能BI技术、Powerbi技术、云服务器布署技术等等。

2018年开始职业生涯作了重大调整,从原来的正职工作,转为自由职业者,暂无固定收入,暂对前面道路不太明朗,苦重新回到正职工作,对Excel催化剂的运营和开发必定受到很大的影响(正职工作时间内不可能维护也不可能随便把工作时间内的成果公布于外,工作外的时间也十分有限,因已而立之年,家庭责任重大)。

和广大拥护者一同期盼:Excel催化剂一直能运行下去,我所惠及的群体们能够给予支持(多留言鼓励下、转发下朋友圈推荐、小额打赏下和最重点的可以和所在公司及同行推荐推荐,让我的技术可以在贵司发挥价值,实现双赢(初步设想可以数据顾问的方式或一些小型项目开发的方式合作)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[2021.1.17多校省选模拟4]T1(莫比乌斯反演/组合数学/枚举倍数)

[2021.1.17多校省选模拟4]T1 一般人都会想着去枚举直线的斜率,但是枚举斜率之后就会产生多条直线,并且这些直线的长度不一,难以快速求解,所以我们考虑换一种方法枚举。 枚举最远点对的横纵坐标之差,这样很容易计算这…

程序员35岁不转型就退休,是真的吗?

周六下午,DevOps群里,有人贴出来这么一张图:据说,这张图来自于谷歌,Google程序员之间存在这一条鄙视链,站在顶端的是C工程师,其次是Java工程师,再次是Python工程师,接下来…

.net测试篇之Moq框架简单使用

Moq简介Moq是.net平台下的一个非常流行的模拟库,只要有一个接口它就可以动态生成一个对象,底层使用的是Castle的动态代理功能.它的流行赖于依赖注入模式的兴起,现在越来越多的分层架构使用依赖注入的方式来解耦层与层之间的关系.最为常见的是数据层和业务逻辑层之间的依赖注入,…

A. 树与路径(树论/多项式/分治FFT)

A. 树与路径 首先考虑一个dp的方法,对于这种链划分的题目,有一个很重要的思想就是按照每个点的角度考虑,实际上链划分就是匹配问题,每个点只能出一条边和入一条边,所以我们拆点之后就是匹配,这也是网络流最…

.NET Core on K8S学习实践系列文章索引(持续更新)

近期在学习Kubernetes,基于之前做笔记的习惯,已经写了一部分文章,因此给自己立一个2019年的flag:完成这个《.NET Core on K8S学习实践》系列文章!这个系列会持续更新,先发个草稿列表,后续更新&a…

TomatoLog-1.1.0实现ILoggerFactory

TomatoLogTomatoLog 是一个基于 .NETCore 平台的产品。The TomatoLog 是一个中间件,包含客户端、服务端,非常容易使用和部署。客户端实现了ILoggerFactory,使用服务注入成功后即可使用,对业务入侵非常小,也支持通过客户…

Docker(二)-在Docker中部署Nginx实现负载均衡(视频)

一、前言在前面的文章中我们已经介绍了如何在Centos7系统中安装Docker以及利用Docker进行Asp.Net Core应用的部署。在本文中,我们将继续介绍利用Docker部署Nginx服务实现负载均衡,我们通过视频方式向大家进行演示。注:查看公众号历史文章&…

P4389 付公主的背包(生成函数/多项式)

P4389 付公主的背包 https://www.luogu.com.cn/problem/solution/P4389 经典生成函数问题 求解无限背包问题,我们可以将每个物品看作一个多项式,那么最后的结果就是这些多项式的卷积的系数,然后我们实际上就可以考虑分治NTT了,但…

Docker系列之镜像瘦身(五)

本节我们来讲讲在我们在构建镜像过程中不出问题,同时使得最后所构建的镜像文件大小尽可能最小。缓存(cache)Docker的优势之一在于提供了缓存,加速镜像迭代构建,我们知道构建镜像使用docker build命令,也就是说通过docker build的缓…

一张图了解.Net Core和.NetFx和.Net Standard和Xamarin关系

一张图了解.Net Core和.Net Framework和.Net Standard和Xamarin关系总结.NET Standard是一项API规范,每一个特定的版本,都定义了必须实现的基类库。.NET Core是一个托管框架,针对构建控制台、云、ASP.NET Core和UWP应用程序进行了优化。每一种…

Java修炼之路——基础篇——String

String 1:字符串的不可变性 什么是不可变对象?不可变对象是指创建后无法变更的对象 String为什么是不可变的?String类为final,并且内部字符数组也为final。所以String对象是不可变对象。 String类为什么要设计为不可变&#xff1…

VS, VS Code, VS Online, VS xxx, 你都分清了吗?

首先说说部分童鞋容易混淆的 Visual Studio 和 Visual Studio Code 吧。其实,它们俩的关系,就相当于 Java 和 JavaScript,没啥关系。再说说 Visual Studio Online。这就复杂了。历史上,出现过两个 Visual Studio Online&#xff0…

Java修炼之路——基础篇——Java关键字

1:transient 当对象被序列化时,transient阻止其修饰的对象进行序列化;当反序列化时,此对象的值不会被恢复。 2:instanceof 判断引用指向的对象,是不是某个类及其子类的实例对象; class Person …

.NetCore从零开始使用Skywalking分布式追踪系统

将本文从0开始搭建两个webapi项目,使用Skywalking来追踪他们之间的调用关系及响应时间。开发环境为VisualStudio20191:安装Skywalking,可参考:https://www.cnblogs.com/sunyuliang/p/11422576.html,本列中搭建好后的Skywalking服务…

通过Service访问应用 (1)

目录通过Service访问应用 通过Pod IP访问应用 通过ClusterIP Service在集群内部访问 通过Service访问应用通过之前的操作,应用部署完成了,我们的Demo网站已经成功启动了,那么如何访问网站呢?通过Pod IP访问应用我们可以通过Pod IP…

13张PPT带你了解主动式消息队列处理集群

前言偷偷和你们说,我搞了一份内部资料,该内部资料共有13张PPT,据作者透露,该PPT至少花了整整1周时间才编写完成,其内容简洁明了,内容深度足够,易于初学者理解,也给深度开发人员分享了…

.Net Core 三大Redis客户端对比和使用心得

前言稍微复杂一点的互联网项目,技术选型都可能会涉及Redis,.NetCore的生态越发完善,支持.NetCore的Redis客户端越来越多,下面三款常见的Redis客户端,相信大家平时或多或少用到一些,结合平时对三款客户端的使…

队长开卖自家产“翠香”猕猴桃

猕猴桃品种有很多,但不是所有的果子都叫翠香。这两天我在公众号里卖了这个翠香猕猴桃,可能是有同学以为是做广告卖水果,其实是家里的亲戚猕猴桃成熟了,辛苦一年下来地里一共结了3000斤猕猴桃,遇到了一个难题就是如何把…

Java修炼之路——基础篇——Java集合类

集合类的全景图 常用集合类特性 1. Collection:每个位置对应一个元素1.1: List 存放有序元素,允许重复元素,允许元素为null1.1.1: ArrayList:内部结构为数组;初始容量为10;插入、删除的移动速度慢&#x…

小卓.NET中文编程特点介绍

大家好,我在介绍一下我的全新编程语言-卓语言。小卓编程是卓语言的一个开发工具,可以在里面实现绘图、动画、事件响应等等功能。关于中文编程,一直以来都有争议。我针对以往中文编程的缺点而开发了一种全新的编程语言。首先 &…