[玩转系统] 如何向 cmdlet 帮助主题添加语法
作者:精品下载站 日期:2024-12-14 02:32:03 浏览:13 分类:玩电脑
如何向 cmdlet 帮助主题添加语法
笔记
手动编写基于 XML 的帮助非常困难。 PlatyPS 模块允许您在 Markdown 中编写帮助,然后将其转换为基于 XML 的帮助。这使得编写和维护帮助变得更加容易。 PlatyPS 还可以为您创建可更新的帮助包。有关详细信息,请参阅使用 PlatyPS 创建基于 XML 的帮助。
在开始为 cmdlet 帮助文件中的语法图编写 XML 之前,请阅读本节以清楚地了解需要提供的数据类型,例如参数属性以及该数据在语法中的显示方式图表..
参数属性
必需的
- 如果为 true,则该参数必须出现在使用该参数集的所有命令中。
- 如果为 false,则该参数在使用该参数集的所有命令中都是可选的。
位置
- 如果命名,则需要参数名称。
管道输入
- 如果为 true (ByValue),您可以通过管道将输入输入到参数。即使属性名称和对象类型与预期类型不匹配,输入也会与参数关联(“绑定到”)。 PowerShell 参数绑定组件尝试将输入转换为正确的类型,并且仅当类型无法转换时命令才会失败。参数集中只能有一个参数可以按值关联。
Path
,则仅当对象具有名为 path 的属性时,通过管道传输到 cmdlet 的对象才会与该参数关联。通配符
- 如果为 true,则用户为参数值键入的文本可以包含通配符。
参数值属性
必需的
- 如果为 true,则每当在命令中使用参数时都必须使用指定的值。
- 如果为 false,则参数值是可选的。通常,仅当某个值是参数的多个有效值之一时(例如枚举类型),该值才是可选的。
参数值的 Required 属性与参数的 Required 属性不同。
参数的 required 属性指示在调用 cmdlet 时是否必须包含该参数(及其值)。相反,仅当参数包含在命令中时才使用参数值的必需属性。它指示该特定值是否必须与参数一起使用。
通常,占位符参数值是必需的,而文字参数值则不是必需的,因为它们是可能与参数一起使用的多个值之一。
收集语法信息
以 cmdlet 名称开头。
SYNTAX Get-Tech
列出 cmdlet 的所有参数。在每个参数名称前键入连字符 (
-
)。将参数分成参数集(某些 cmdlet 可能只有一个参数集)。在此示例中,Get-Tech cmdlet 有两个参数集。SYNTAX Get-Tech -name -type Get-Tech -ID -list -type
使用 cmdlet 名称启动每个参数集。
首先列出默认参数集。默认参数由 cmdlet 类指定。
对于每个参数集,首先列出其唯一参数,除非有必须首先出现的位置参数。在上一示例中,Name 和 ID 参数是两个参数集的唯一参数(每个参数集必须有一个该参数集唯一的参数)。这使得用户更容易确定他们需要为参数集提供哪些参数。
按照参数在命令中出现的顺序列出参数。如果顺序不重要,请将相关参数放在一起,或者先列出最常用的参数。
如果 cmdlet 支持 ShouldProcess,请务必列出WhatIf 和Confirm 参数。
不要在语法图中列出常用参数(例如 Verbose、Debug 和 ErrorAction)。
Get-Help
cmdlet 在显示帮助主题时会为您添加该信息。添加参数值。在 PowerShell 中,参数值由其 .NET 类型表示。但是,类型名称可以缩写,例如 System.String 的“string”。
SYNTAX Get-Tech -name string -type basic advanced Get-Tech -ID int -list -type basic advanced
只要含义明确,就使用缩写类型,例如 string 表示 System.String,int 表示 System.Int32 >。
列出枚举的所有值,例如上例中的
-type
参数,可以设置为basic或advanced。开关参数(例如上例中的
-list
)没有值。与作为文字的参数值相比,向作为占位符的参数值添加尖括号。
SYNTAX Get-Tech -name <string> -type basic advanced Get-Tech -ID <int> -list -type basic advanced
将可选参数及其值括在方括号中。
SYNTAX Get-Tech -name <string> [-type basic advanced] Get-Tech -ID <int> [-list] [-type basic advanced]
-
将可选参数名称(对于位置参数)括在方括号中。位置参数的名称(例如以下示例中的 Name 参数)不必包含在命令中。
SYNTAX Get-Tech [-name] <string> [-type basic advanced] Get-Tech -ID <int> [-list] [-type basic advanced]
如果参数值可以包含多个值(例如 Name 参数中的名称列表),请直接在参数值后面添加一对方括号。
SYNTAX Get-Tech [-name] <string[]> [-type basic advanced] Get-Tech -ID <int[]> [-list] [-type basic advanced]
如果用户可以从参数或参数值(例如 Type 参数)中进行选择,请将选项括在大括号中,并用异或符号 (;) 分隔它们。
SYNTAX Get-Tech [-name] <string[]> [-type {basic | advanced}] Get-Tech -ID <int[]> [-list] [-type {basic | advanced}]
如果参数值必须使用特定格式(例如引号或括号),请在语法中显示格式。
SYNTAX Get-Tech [-name] <"string[]"> [-type {basic | advanced}] Get-Tech -ID <int[]> [-list] [-type {basic | advanced}]
对语法图 XML 进行编码
XML 的语法节点紧接在描述节点之后开始,以 </maml:description>
标记结束。有关收集语法图中使用的数据的信息,请参阅收集语法信息。
添加语法节点
cmdlet 帮助主题中显示的语法图是根据 XML 语法节点中的数据生成的。语法节点包含在一对 <command:syntax>
标记中。 cmdlet 的每个参数集都包含在一对 <command:syntaxitem>
标记中。您可以添加的 <command:syntaxitem>
标记的数量没有限制。
以下示例显示了一个语法节点,该节点具有两个参数集的语法项节点。
<command:syntax>
<command:syntaxItem>
...
<!--Parameter Set 1 (default parameter set) parameters go here-->
...
</command:syntaxItem>
<command:syntaxItem>
...
<!--Parameter Set 2 parameters go here-->
...
</command:syntaxItem>
</command:syntax>
将 cmdlet 名称添加到参数集数据
cmdlet 的每个参数集在语法项节点中指定。每个语法项节点都以一对包含 cmdlet 名称的 <maml:name>
标记开头。
以下示例包括一个语法节点,该节点具有两个参数集的语法项节点。
<command:syntax>
<command:syntaxItem>
<maml:name>Cmdlet-Name</maml:name>
</command:syntaxItem>
<command:syntaxItem>
<maml:name>Cmdlet-Name</maml:name>
</command:syntaxItem>
</command:syntax>
添加参数
添加到语法项节点的每个参数都在一对 <command:parameter>
标记内指定。参数集中包含的每个参数都需要一对 <command:parameter>
标记,PowerShell 提供的常用参数除外。
开始 <command:parameter>
标记的属性决定参数在语法图中的显示方式。有关参数属性的信息,请参阅参数属性。
笔记
<command:parameter>
标记支持其内容从不显示的子元素 <maml:description>
。参数描述在XML的参数节点中指定。为了避免语法项 bodes 和参数节点中的信息不一致,请省略 (<maml:description>
或将其留空。
以下示例包括具有两个参数的参数集的语法项节点。
<command:syntaxItem>
<maml:name>Cmdlet-Name</maml:name>
<command:parameter required="true" globbing="true"
pipelineInput="true (ByValue)" position="1">
<maml:name>ParameterName1</maml:name>
<command:parameterValue required="true">
string[]
</command:parameterValue>
</command:parameter>
<command:parameter required="true" globbing="true"
pipelineInput="true (ByPropertyName)">
<maml:name>ParameterName2</maml:name>
<command:parameterValue required="true">
int32[]
</command:parameterValue>
</command:parameter>
</command:syntaxItem>
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag