强大的PowerShell帮助系统

还记得我们之前说过PowerShell中最常用也是最基本的命令Get-Help,当我们遇到新命令或者想知道一些PowerShell基本特性功能时,自带的帮助查询命令可算的上是我们的启蒙老师了。

今天要说的话题就帮助有关,因为早在PowerShell 3.0中,PowerShell Team为PowerShell构建了完善全新的帮助系统机制。这个全新的机制就是PowerShell的帮助文档信息都是可以通过互联网进行下载、更新并且是可扩展的。而在这之前,所有的帮助命令都是以包的形式集成在PowerShell安装包中,你需要查看某个命令都会从内部生产的帮助文件里提取生成后得到。

因此,过去这样的获取帮助信息的机制并不在适合日益更新的PowerShell Cmdlet命令行,有时命令多了一个参数,或者新增了某个命令用法对帮助文档的更新就显得不是那么灵活了。在支持了从互联网自动更新帮助信息的机制后,大大提高了PowerShell使用者。

在早前的一些PowerShell版本中,当你第一次使用Get-Help查询某个命令的帮助信息时,会默认提示你使用Update-Help 命令先更新帮助文档。Update-Help的主要作用就是自动更新系统内的PowerShell命令的帮助信息。直接在PowerShell里键入这个命令就可以自动下载最新的帮助文档数据到你的电脑里(注:需要以Administrator权限开启PowerShell)。
强大的PowerShell帮助系统_第1张图片
在下载帮助文件数据时,帮助系统会自动检测电脑上的帮助文档版本是否存在以及存在的版本是否低于网络上的版本号,如果满足更新条件就会自动开始下载对应命令模块包的帮助文档。

因为我们的系统里时常安装了很多模块包,而下载又会消耗一定时间有时候还会因为玩过问题出错,所以我们可以搭配-Module参数直接指定要更新的软件模块包。
这里写图片描述
不过也并非安装在你电脑里的所有模块都是有可用的帮助文档的,因为有些模块可能来自于第三方,所以在确保能下载正确的更新文档前,我们可以用一条命令检索下当前有哪些可用的模块,然后配合过滤HelpInfoUri 属性过滤出哪些模块包是支持可更新的。
强大的PowerShell帮助系统_第2张图片
当然,PowerShell的帮助系统还不仅仅支持传统意义的联网下载,PowerShell帮助系统还支持离线下载,比如我当前的环境是没有网络的又或者网速太慢,那就可以把已经下载的帮助文件指向到目标存放系统路径上,这有点类似共享文件夹的方式。

PS /> Save-Help -DestinationPath /Users/HelpFiles -UICulture en-Us -Force

到此,我介绍的还仅仅是些基本的更新帮助系统的主要特性,大家可以更深入的去挖掘这些命令,基于这些特性去创建一些有趣的操作,比如,可以创建一个计划任务定期为指定的模块自动在后台更新帮助信息,这样你就可以永远第一时间获取最新的帮助文档。

你可能感兴趣的:(PowerShell)