首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Windows PowerShell入门总结

工作上的powershell的框架基本搞定了,最近一直在研究powershell调用-->c#调用-->JavaAccessBridge API--> Automate java applet UI-->Automate value send and button click and so on。目前已能获取到java applet,持续探索中,还要去看c++,c#源码,w(゚Д゚)w,所以更新可能依旧会放缓…

powershell入门的知识点差不多到这里就讲完了,不过肯定会有所遗漏,毕竟我都是想到哪写到哪,也没啥结构和条理,(^▽^),这篇就对前面讲的内容做个回顾和总结。

关于PowerShell_ISE

关于powershell_ISE的的窗口结构图,之前一直截的都是里面的图,今天详细讲下。

20-powershell_ISE

最上面的是console的标题,这里显示的是我们上篇讲过的prompt函数改的标题。

再下面是各个菜单,具体干嘛的大家自己探索下就知道了,这里有个Add-ons(中文是附加工具),你可以理解为插件,我还在研究中,以后有机会会专门讲这一块,有些兴趣的可以看下这个网站

https://social.technet.microsoft.com/wiki/contents/articles/2969.windows-powershell-ise-add-on-tools.aspx

再往下是脚本编辑区,你可以在这里调试你的各个code,然后保存为ps1 script(我们可以看到这块默认标题就是Untitled1.ps1)。F5是运行当前块里面的所有代码(一行一行往下),你可以开多个脚本编辑区,变量在多个脚本编辑区共享。F8是运行选中的的代码(没有选中任何部分时,运行当前这一行的代码)

再往下就是代码输出区域,当然你也可以在这里直接输入代码然后运行。

在右边的区域是命令快速编辑区,你可以通过关键词找到需要运行的cmdlets,ISE会提供找到的cmdlets的参数形式供你输入(这一块我平时用的不多)

上面3个区域的位置可以通过选择菜单栏里面蓝色框来调整。

最下面的左边是状态,比如running,completed…,右边是鼠标的位置(行,列),窗口比例。

关于ISE 和console的细微区别请看这个网站,不过稍微有点老了,了解下大概即可。https://blogs.msdn.microsoft.com/powershell/2009/04/17/differences-between-the-ise-and-powershell-console/

脚本

我们从网上下载或者从别的计算机copy过来的脚本一般没法直接运行,可以直接右键文件属性,然后勾选解除锁定

20-unblock-file

如果是一整个文件夹,可以用powershell的Unblock-File命令批量解除锁定

脚本运行时参数

powershell的有些参数是只有运行脚本时才有值的,而且在不同的作用域下,值还不一样。

个人常用的运行脚本时参数

关于这个$PSScriptRoot有个很有趣的现象,之前在公司时发现,在ISE中打开脚本按F5运行,这个值也是空的,在console运行脚本就可以,如下所示。

20-PSScriptRoot result

但是我在写这篇文章的时候,在家又测试了一下,发现怎么F5又可以有值了,然后多次测试,发现了这个还真蛮有意思的:当参数前面有[Parameter()]这个关键修饰限定词时(下面的一个或多个),在ISE 中按F5执行脚本,参数中的$PSScriptRoot就是空的string

如下所示$path前面有[Parameter(Position=0)]修饰限定词。

但是去掉它([Parameter()])时,F5执行就有值了,不知道这个是不是powershell的bug还是故意这么设计的…

差不多就这么多吧,下一篇开始要讲稍微难一点的了,会有实际的脚本示例了。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券