3000+个Cmdlet全景解读:office-docs-powershell参考文档的结构、语法与参数规范

📅 2026/8/22 14:49:11
3000+个Cmdlet全景解读:office-docs-powershell参考文档的结构、语法与参数规范
3000个Cmdlet全景解读office-docs-powershell参考文档的结构、语法与参数规范【免费下载链接】office-docs-powershellPowerShell Reference for Office Products - Short URL: aka.ms/office-powershell项目地址: https://gitcode.com/gh_mirrors/of/office-docs-powershelloffice-docs-powershell 是微软 Office 产品线的PowerShell Cmdlet 官方参考文档源码库收录了 Exchange、Microsoft Teams、Skype for Business、Whiteboard 等产品共计2800 篇 Cmdlet 参考文档。这篇指南带你用 3 个步骤看懂它的目录结构、Cmdlet 文档的固定骨架以及那套符号即语法的书写规范从此把任意一篇 Cmdlet 参考文档读成字典。 项目全景3000 篇文档如何组织整个仓库按产品划分目录每个产品目录内部又分成两大板块板块作用举例docs-conceptual/概念性教程如何连接、如何鉴权、语法规范等exchange-cmdlet-syntax.md*-ps/Cmdlet 参考正文一个 Cmdlet 一个 .md 文件Get-Mailbox.md各产品的 Cmdlet 参考文档数量一览均为.md文件产品目录文档数量Exchangeexchange/exchange-ps/exchange/1405Skype for Businessskype/skype-ps/skype/900Microsoft Teamsteams/teams-ps/teams/547Office Web Appsofficewebapps/officewebapps-ps/19SPMTspmt/spmt-ps/spmt/9Whiteboardwhiteboard/whiteboard-ps/whiteboard/7除正文外每个产品目录还有几个幕后文件docfx.json文档站构建配置决定哪些内容参与发布。例如 exchange/docfx.json 把docs-conceptual与exchange-ps分别构建到不同位置mapping/monikerMapping.json将 Cmdlet 名称映射到产品线moniker用于区分同名命令toc.yml/ 模块同名 md 文件目录导航。例如 teams.md 就是 Teams 全部 500 个 Cmdlet 的总目录repo_docs/贡献者工作手册如 NEW_CMDLETS.md 和 UPDATE_CMDLETS.md。 一个关键设计这些网页版 Cmdlet 参考文档同时会被转换回命令行的Get-Help帮助所以全文档采用极其严格的统一模板——这也是你只需学会读一篇就能读懂全部 2800 篇的原因。 Cmdlet 文档标准结构固定 8 个区块以 Get-Mailbox.md 为例每篇 Cmdlet 参考文档都由相同的 8 个区块组成顺序雷打不动YAML 元数据块文件头部---之间external help file该 Cmdlet 对应的命令行帮助 XML 文件online version网页版地址正是它让Get-Help Get-Mailbox -Online能打开本页面applicable适用产品环境如 Exchange Server 2019、Exchange Onlineschema: 2.0.0所有文档固定为 2.0.0 模式版本author/ms.author/ms.reviewer文档负责人与审核人。SYNOPSIS概述一句话说明命令用途例如 Get-Mailbox 的概述就是查看邮箱对象及其属性SYNTAX语法按参数组分块列出完整命令行形态DESCRIPTION描述详细说明含运行所需权限等注意事项EXAMPLES示例代码块在前、解释在后可含多个示例PARAMETERS参数每个参数独立小节附一小段元数据类型、是否必填、位置、默认值、是否接受管道输入、是否接受通配符INPUTS / OUTPUTS输入/输出命令可接收与返回的对象NOTES / RELATED LINKS备注/相关链接补充说明与延伸阅读。以 Teams 的 Add-TeamUser.md 为例其参数小节长这样——每个参数都配有Type、Required、Position、Accept pipeline input等元数据扫一眼就知道-GroupId和-User必填、-Role可选且默认为 Member### -Role Member or Owner. Type: String Required: False Position: Named Default value: Member Accept pipeline input: True (ByPropertyName) Accept wildcard characters: False✍️ 语法符号速查4 个符号读懂任意 CmdletExchange 系列的 Cmdlet 语法使用一套统一的符号约定完整规则见 exchange-cmdlet-syntax.md符号含义示例-参数名-Identity 参数可取的值-Location ServerName[ ]整对带方括号可选仅参数名带方括号位置参数可省略参数名[-ResultSize Unlimited]、[[-Identity] MailboxId]\|值之间二选一-Enabled $true \| $falseCommonParameters所有 Cmdlet 通用的公共参数如-Verbose、-WhatIf结尾固定出现举个最容易混淆的例子Get-Mailbox [[-Identity] MailboxIdParameter]中Identity是位置参数且可选因此下面两种写法等价Get-Mailbox -Identity userexample.comGet-Mailbox userexample.com⚠️ 补充两条实用规则值中含空格时务必加引号单引号或双引号均可双引号内$会被当作变量如需字面输出要用反引号转义。 参数组Parameter Sets为什么有些参数不能混用SYNTAX 区块常常分成多个参数组。参数组是一组可以共同使用的参数同一组内随意搭配不同组之间互斥。以New-SystemMessage为例它有两个参数组第一组用-DsnCode-Internal定义错误码第二组用-QuotaMessageType定义配额类型。因此-DsnCode与-QuotaMessageType不能出现在同一条命令里而-Language、-Text等两组共有的参数则随时可用。判断技巧写命令前先确认你选的参数属于哪个参数组把参数组当作套餐整体选用即可。️ 如何更新 Cmdlet 文档platyPS 自动生成这些文档不是手敲的而是用开源工具platyPS从 PowerShell 会话中导出生成。想贡献一篇新 Cmdlet 文档标准流程是安装 platyPSInstall-Module -Name platyPS并连接到对应产品的 PowerShell 环境运行New-MarkdownHelp -Command Cmdlet名 -OutputFolder 路径导出骨架文件按上述 8 区块模板补充 SYNOPSIS、DESCRIPTION、示例与参数说明官方建议直接抄作业——仿照同产品其他 Cmdlet 的写法Fork 仓库、提交文件、发起 Pull Request审核通过后发布到 Microsoft Learn 文档站。详细步骤可阅读 NEW_CMDLETS.md快速上手修改现有文档则参考仓库根目录的 README.md。整个fork → 编辑 → 提交 Pull Request → 审核合并的协作流程如下图所示如果想本地阅读或参与维护可克隆仓库约 2900 个文档文件git clone https://gitcode.com/gh_mirrors/of/office-docs-powershell 小结3 句话记住这套 PowerShell 参考文档找文档进产品目录如exchange/exchange-ps/exchange/一个 Cmdlet 一个同名.md文件总目录在同目录的模块 md 文件里读文档认住 SYNOPSIS → SYNTAX → EXAMPLES → PARAMETERS 四大区块用4 个符号 参数组规则读懂任意命令写文档platyPS 生成骨架 严格 2.0.0 模板 Fork/PR 流程网页帮助与Get-Help命令行帮助同源。掌握这套规范后无论面对 Exchange 的 1400 篇还是 Teams 的 547 篇 PowerShell Cmdlet 参考文档你都能像查字典一样快速定位答案。【免费下载链接】office-docs-powershellPowerShell Reference for Office Products - Short URL: aka.ms/office-powershell项目地址: https://gitcode.com/gh_mirrors/of/office-docs-powershell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考