《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令

3.4 使用帮助找命令

从技术上来说,帮助系统不知道Shell中存在哪些命令。它只知道有哪些可用的帮助主题。某些命令可能并没有帮助文档,这会导致帮助系统不能确认这个命令是否存在。幸好微软几乎每个发布的Cmdlet都包含一个帮助主题,这意味着你通常不会发现不同。另外,帮助系统也包含了除特定Cmdlet之外的其他信息,包括背景概念和其他基础信息。

跟大多数命令一样,Get-Help(等同于Help)有几个参数。其中一个最为重要的参数是-Name。这个参数指定你想要访问帮助的主题名称,并且它是一个定位参数,所以你不用必须输入-Name,可以只提供需要查看命令的名称。它也支持通配符,这让帮助系统更加容易找到命令。

例如,你想操作系统事件日志,但是你却不知道使用什么命令,你决定搜索帮助主题包含的事件日志,可以运行下面两个命令中的任何一个。

Help log
Help event

第一个命令在你的计算机返回如下列表:

Name               Category     Module
----               --------     ------ 
Clear-EventLog         Cmdlet      Microsoft.PowerShell.M...
Get-EventLog           Cmdlet       Microsoft.PowerShell.M...
Limit-EventLog          Cmdlet       Microsoft.PowerShell.M...
New-EventLog           Cmdlet      Microsoft.PowerShell.M...
Remove-EventLog         Cmdlet      Microsoft.PowerShell.M...
Show-EventLog           Cmdlet       Microsoft.PowerShell.M...
Write-EventLog           Cmdlet       Microsoft.PowerShell.M...
Get-AppxLog           Function     Appx
Get-DtcLog            Function     MsDtc
Reset-DtcLog           Function     MsDtc
Set-DtcLog            Function     MsDtc
Get-LogProperties        Function     PSDiagnostics
Set-LogProperties        Function     PSDiagnostics
about_Eventlogs         HelpFile
about_Logical_Operators    HelpFile

注意:
你可以注意到,前面的这个列表的Appx、MsDtc模块包含命令(和函数)等。即使你还没有加载这些模块扩展到内存,帮助系统也一样会显示所有模块。这可以帮助你发现电脑上被遗漏的命令。它可以发现那些安装在适当位置所有扩展中的命令。对此,我们会在第7章进行讨论。
前面的列表中有许多关于事件日志的函数,它们都基于“动词-名词”这个命名格式,但是最后出现了两个关于帮助主题的特殊Cmdlets命令。这两个“about”主题提供了关于某个命令的背景信息。最后一个看起来跟事件日志没有什么关系,但是它被搜索到是因为其中有一个单词“logical”的其中一部分包含了“log”。只要有可能,我们尽量使用“event”或者“log”来搜索,而不是使用“eventlog”,因为我们可以返回尽可能多的结果。

一旦发现从名称看起来可能是你所需的Cmdlet时(比如说,后面示例中Get-EventLog看起来就是做这件事的),你就可以查看该Cmdlet的帮助文档进行确认。

Help Get-EventLog 
不要忘记使用Tab键来补全命令!它可以让你只输入部分命令名,按下Tab键,接着Shell会完成与你刚刚输入最为接近匹配的命令。你可以连续按Tab键来选择其他匹配的命令。

动手实验:输入Help Get-Ev,接着按下Tab键。第一次匹配到的是Get-Event,这并不是你想要的;再次按下Tab键就匹配到Get-EventLog,这就是你想要的命令。你可以敲回车键来确认这个命令并显示这个命令对应的帮助信息。如果你使用ISE,你不需要敲Tab键。所有匹配的命令都会以列表的形式呈现,你可以选择其中一个并敲回车键,这样就完成了命令的输入。
你也可以使用最为重要的“*”通配符,它可以在Help后面占用零个或多个字符。如果PowerShell只找到一个匹配你输入的命令,它并不是以列表的形式返回这个单一项,而是直接显示这一单项的具体帮助内容。

动手实验:运行Help Get-EventL*命令,你应该可以看到关于Get-EventLog的帮助信息,而不是返回一个匹配的帮助主题列表。
如果你一直跟随本书的示例进行实验,那么现在你就应该在看Get-Eventlog的帮助文档了。这个文档被称为概要帮助,这意味着它只有简单的命令描述和语法提示。这些信息是非常有用的,当你需要快速认识一个命令的使用,并且我们通过这个帮助文档来进行示例讲解。

补充说明

有些时候,我们想分享的信息虽然不错,但不是至关重要的Shell知识。我们将把这些信息放到“超越自我”部分,正如现在这个部分。如果你跳过这段,你并没有什么损失,但是如果你阅读了,你通常会学会以另外一种方式来解决问题,或者得到额外深入理解PowerShell的机会。

我们前面提到过Help命令并不是为了搜索Cmdlet命令,而是为了搜索帮助主题。因为每个Cmdlet都有一个帮助文件,我们可以说,这些搜索是检索相同的结果集。但是你也可以直接使用Get-Command命令来搜索Cmdlet命令(或者它的别名Gcm)。

跟Help这个命令一样,Get-Command接受通配符,意味着你可以运行Gcm event 来查看所有名称包含“event”的命令。不管怎么样,这个返回的列表将包含不止Cmdlet命令,还会包含一些不一定有用的外部命令,如netevent.dll。

一个比较好的方式是使用“-名词”或者“-动词”参数。因为只有Cmdlet名的名称有名词和动词,返回的结果将会限制为Cmdlet命令。Get-Command -noun event将会返回一个关于事件命令的列表;Get-Command-verb Get将会返回一个具有检索能力的列表。你也可以使用-CommandType参数来指定命令的类型。比如,Get-Command log -type Cmdlet将会返回一个所有命令名称包含“log”的命令列表,并且这个列表不会包括任何其他扩展应用程序或者扩展命令。

时间: 2024-11-03 22:19:03

《Windows PowerShell实战指南(第2版)》——3.4 使用帮助找命令的相关文章

《Windows PowerShell实战指南(第2版)》——3.2 可更新的帮助

3.2 可更新的帮助 当你第一次使用帮助时,你也许会很惊讶,因为里面什么都没有.不要着急,我们会为你讲解. 微软在PowerShell v3中加入了一个新的特性,叫作"可更新的帮助".PowerShell可以通过互联网进行下载更新.修正和扩展. 不过,为了做到可更新,微软不能把任何帮助放到安装包中.当你需要查看一个命令的帮助时,你可以得到一个自动生成的简易版的帮助,还可以通过这些信息来提示你怎么更新帮助文档,类似下面的信息. PS C:\> help Get-Service NA

《Windows PowerShell实战指南(第2版)》——1.5 安装Windows PowerShell

1.5 安装Windows PowerShell 从Windows Server 2008.Windows Server 2008 R2.Windows 7操作系统开始,我们已经可以使用第三版的Windows PowerShell.Windows Vista操作系统无法支持第三版,但是可以使用第二版PowerShell.最近发布的几个操作系统中已经预装了Windows PowerShell.如果采用老版本的操作系统,那么必须手动去安装PowerShell.当然,新版本的操作系统可能会采用更新版本

《Windows PowerShell实战指南(第2版)》——1.4 搭建自己的实验环境

1.4 搭建自己的实验环境 在本书的学习过程中,你会进行大量的PowerShell的动手实验,那么你必须构建一个属于你自己的实验环境(请记住,不要在公司的生产环境中进行测试). 你需要在带有PowerShell的Windows中运行本书中大部分示例以及完成每章节的动手实验.环境可以是Windows Vista,Windows 7,Windows Server 2008,Windows Server 2008 R2,Windows 8或者是Windows Server 2012.但是需要注意的是,

《Windows PowerShell实战指南(第2版)》——第2章 初识PowerShell 2.1选择你的“武器”

第2章 初识PowerShell 本章将协助读者选择一种最适合的PowerShell界面(不错,你可以做出选择).如果你曾经使用过PowerShell,可以直接跳过本章,但是你阅读依旧可以从本章中找到一些对你有帮助的信息. 2.1 选择你的"武器" 微软提供了两种(如果你是很严谨的人,可以认为是四种)使用PowerShell的方式.图2.1显示了[开始]菜单中的[所有程序]界面,其中包含四种PowerShell图标.可以通过图中划线部分快速找到这些图标. 提示: 在旧版本的Window

《Windows PowerShell实战指南(第2版)》——导读

**前言**我们已经从事PowerShell教学和写作很长时间.当Don开始规划本书的第一版时,他意识到大多数PowerShell作者和讲师--包括他自己--会强迫学生将Shell作为一门编程语言学习.大多数PowerShell书籍都会通过三章或者四章进入"脚本"主题,而现在越来越多的PowerShell学习者对面向编程的学习方法避之不及.这些学生只是想将Shell作为Shell使用,至少在一开始是这样的.我们只是希望提供符合该要求的学习体验. 所以Don希望尝试这种方法.通过在Win

《Windows PowerShell实战指南(第2版)》——3.3 查看帮助

3.3 查看帮助 Windows的PowerShell 提供了Get-Help这个Cmdlet命令来访问帮助系统.你可能看到很多示例(特别是在互联网)都是使用"Help"或"Man"这个关键字来代替Get-Help.Man和Help根本都不是原始的Cmdlet命令,而是对核心Cmdlet命令进行包装的函数. Help的工作原理跟Get-Help是一样的,但它可以把输出的信息通过管道传送给More命令.这样你就可以以分屏这样友好的方式来查看帮助的内容,而不是一次性打印

《Windows PowerShell实战指南(第2版)》——第1章 背景介绍 1.1为什么要重视PowerShell

第1章 背景介绍 自从2006年第一版Windows PowerShell面世以来,我们就一直在致力于对该技术进行教学推广.那时候,PowerShell的大部分使用者都是长期使用VBScript的用户,而且他们也非常期待能通过对VBScript的熟悉来学习PowerShell.于是,开展培训以及编写PowerShell书籍的作者都采用了一种和其他编程语言教学一样的方式来教学PowerShell. 但是从2009年开始发生了一些改变.越来越多没有VBScript经验的人开始学习PowerShell

《Windows PowerShell实战指南(第2版)》——3.5 详解帮助

3.5 详解帮助 PowerShell的Cmdlet帮助文件有一些特殊的约定.从这些帮助文件中提取大量信息的关键是你需要明白自己在寻找的是什么,并学会更高效地使用这些Cmdlet命令. 3.5.1 参数集和通用参数 大部分命令可以有很多不同的使用方式,这依赖于你需要用它们来干什么.例如,下面是Get-EventLog的语法帮助部分. SYNTAX Get-EventLog [-AsString] [-ComputerName <string[]>] [-List][<CommonPara

《Windows PowerShell实战指南(第2版)》——第3章 使用帮助系统 3.1 帮助系统:发现命令的方法

第3章 使用帮助系统 在这本书的第1章,我们提到由于图形用户界面具有更强的可发现性,所以更容易学习和使用.但对于像PowerShell这样的命令行接口-CLIs(command-line interfaces)的学习却往往要困难一些,因为它们缺乏可发现性这个特性.事实上,PowerShell拥有出色的可发现性,但是它们并不是那么明显.其中一个主要的可发现性的功能是它的帮助系统. 3.1 帮助系统:发现命令的方法 请忍受1分钟的时间让我们走上讲台给你讲述下面的内容. 我们工作在一个不是特别重视阅读