第三版和第二版的不同
在第三版中增加了很多实用的技巧和经验,比第二版的层次更加的丰富,增加了很多不容易注意到的知识点,这些知识点掌握了之后,可以很好的避免在实际的应用中踩坑。
关于本书的介绍请参考
http://www.pstips.net/learn-powershell-3-in-a-month-of-lunches.html
关于PowerShell与cmd有何不同
https://www.zhihu.com/question/22611859
个人备注:
Powershell是一个面向对象的脚本编写工具,在powershell中,输出的内容均为对象,可以去调用它的属性和方法,也可以使用PS自己写function(函数),Powershell是一个高级的脚本编写语言,底层已经封装好了大量可用的cmdlet和函数、类。可以在powershell中使用WMI、调用C#接口、调用cmd命令、输出xml、json等等。未来微软几乎所有主流的服务器产品都将基于powershell去做远程或者本地的管理。目前powershell已经有对应的开源版本powershell core,可以去管理Linux平台。powershell是Windows平台进行自动化运维和配置管理的首选工具。
Get-wmiobject与get-ciminstance的优缺点
传统的WMI方式去管理操作系统,面临的问题是:语法复杂、难以理解、参数难以查询。当WMI需要去管理多个远程的操作系统时,有两个弊端:
1)需要使用RPC进行通讯,而不是基于HTTPS;
2)远程执行是串行的,也就是说需要一台台去执行操作,效率低下;
使用CIM的方式,优点是:
1)采用WS-MAN协议;
2)远程执行是并行的,可以用于分布式计算,并行执行完成后,返回结果;
CIM的弊端在于不支持比较老的早期的操作系统版本和PowerShell版本。
关于PowerShell命令别名
不建议在交付的脚本或者代码中频繁使用别名,因为可读性较低,难以理解。
write-host和write-output的区别
简单来说,write-host是绕过了powershell的默认管道输出机制,直接把要输出的信息打印到了屏幕上;而write-output则是通过powershell默认的管道将输出打印到屏幕上。这就解释了为什么在powershell studio图形化编程中,可以把write-output的输出进一步输出到richtextbox中,而write-host不行。不行的原因是write-host直接输出到屏幕的内容程序是无法捕获的。
关于powershell的隐式远程处理
其实说白了利用的还是会话建立远程管道,然后通过远程管道在目标计算机上导入对应的管理模块。好处是脚本或者工具在执行的时候无需安装对应的模块或管理工具,因为命令是通过远程会话传输到目标服务器上执行的,本地只是一个反序列化以后的结果而已。弊端是反序列化之后的输出没有属性和方法可供继续调用。
此次阅读的是Powershell实战指南的第三版,之前阅读第二版的时候,针对前七章做了思维导图,需要的可移步到:
链接: https://pan.baidu.com/s/1HiX8u4eZSsuwnct0NBXHJQ 提取码: gzue
更多资讯请关注下方微信公众号:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。