本节书摘来自异步社区《Windows PowerShell实战指南(第2版)》一书中的第3章,第3.1节,作者:【美】Don Jones(道·琼斯) , Jeffery Hicks(杰弗瑞·希克斯)著,更多章节内容可以访问云栖社区“异步社区”公众号查看
第3章 使用帮助系统
在这本书的第1章,我们提到由于图形用户界面具有更强的可发现性,所以更容易学习和使用。但对于像PowerShell这样的命令行接口-CLIs(command-line interfaces)的学习却往往要困难一些,因为它们缺乏可发现性这个特性。事实上,PowerShell拥有出色的可发现性,但是它们并不是那么明显。其中一个主要的可发现性的功能是它的帮助系统。
3.1 帮助系统:发现命令的方法
请忍受1分钟的时间让我们走上讲台给你讲述下面的内容。
我们工作在一个不是特别重视阅读的行业,但是我们有一个缩写RTFM(Read The Friendly Manual)。当我们希望他们可以“阅读易于使用的手册”时,就能巧妙地把命令传递给用户。大多数管理员更加倾向于直接上手、依赖于GUI工具的提示、上下文菜单等这些GUI的可发现性工具来领会如何操作。这也是我们工作的方式。我们假设你也是以同样的方式进行工作的。但是我们来认清一件事情:
如果你不愿意花时间去阅读PowerShell的帮助文档,那么你就无法高效使用PowerShell,也很难进一步学习如何使用它,更不用说使用它管理类似Windows或Exchange等产品,最终你无法摆脱使用GUI的方式。
让我们澄清一下,虽然上面一段看上去很蠢,但绝对是真理。想象一下,当你使用活动目录和计算机或是其他管理控制台时没有帮助提示、菜单、上下文菜单会怎么样。好比学习PowerShell而不去花时间去学习帮助文件也是如此。这就好像你去宜家不阅读手册就去组装家具,那么你必然会经历挫折、困惑以及感到无能为力。为什么呢?
如果你需要执行一项任务,但是却不知道应该使用什么命令,帮助系统可以帮助你找到这个命令,而不是使用Google或者Bing。
如果你在运行一个命令的时候返回错误信息,帮助系统可以告诉你如何正确运行命令而不出现错误。
如果你想将多个命令组合在一起来执行一项复杂的任务,帮助系统可以帮你找到哪些命令是可以和其他命令结合使用。你不需要在Google或者Bing搜索示例,只需要学习它们是怎么使用的,以便你可以创建出自己的示例和解决方案。
我们意识到我们的讲述过于强调帮助的重要性,但我们看到学生在课堂上或者在工作中面临的问题:如果他们能腾出几分钟坐下来、深呼吸和阅读帮助,90%的问题都能得到解决。阅读这一章,将帮助大家理解正在阅读的帮助文档。
从现在开始,我们来介绍几个鼓励你阅读帮助文档的原因。
虽然我们将在我们的示例中向你展示许多命令(我们几乎从未展示一个命令的完整功能和选项),但是你也应该阅读我们展示每个命令的帮助,这样你才会熟悉每个命令所能够完成的额外工作所能够完成的。
在本书的实验里,我们将提示你使用什么命令来完成任务,但是我们不会提示语法细节。为了完成这些实验,你必须自己使用帮助系统来找到相应命令的语法。
我们向你保证,掌握帮助系统是成为PowerShell专家的一个关键。但你不会在帮助文档中找到每一个细节。很多高级资料并没有记录在帮助系统,但为了有效的日常管理,你需要熟练运用帮助系统。本书会帮助你深入理解该系统,并和内置帮助结合使用,可以教会你在帮助文档中没有具体解释的部分。
是时候走下讲台了。
Command对比Cmdlet
PowerShell 包含了很多不同类型的可执行命令,有些叫作Cmdlet,有些叫作函数,还有一些被称为工作流,等等。它们的共同点都是命令,帮助系统中都对它们进行了展示。每个Cmdlet在PowerShell中都是唯一的,你运行的大多数命令都属于Cmdlet。但在谈论一般类的可执行程序的时候,我们会使用“命令”来表示,从而保证一致性。