本文介绍 PowerShell 库如何使用包中的元数据。 对于模块,元数据存储在模块清单中。 对于脚本,元数据使用基于注释的关键字进行存储。 以下 cmdlet 用于创建或更新此元数据:
由模块清单控制的 PowerShell 库功能元素
以下列表显示了由模块清单控制的 PowerShell 库包页 UI 的元素。
标题 - 发布到库的包的名称。
版本 - 显示的版本是元数据中的版本字符串,如果指定了预发行标签。 指定的预发行字符串将追加到 ModuleVersion。 有关模块中预发行字符串的信息,请参阅 预发行模块版本。
描述 - 这是模块清单中的 描述 。
要求接受许可证 - 模块可以通过设置
RequireLicenseAcceptance = $true、提供 LicenseURI 并在模块文件夹的根目录中提供license.txt文件来要求用户接受许可证。 有关详细信息,请参阅需要接受许可证。发行说明 - 此信息来自 ReleaseNotes 部分的
PSData\PrivateData。所有者 - 所有者是 PowerShell 库中可以更新包的用户列表。 所有者列表不包含在包清单中。 其他文档介绍了 如何管理项目所有者。
作者 - 这作为 作者包含在模块清单中。 “作者”字段通常用于指定与包关联的公司或组织。
版权 - 这是模块清单中的 版权 字段。
FileList - 将包发布到 PowerShell 库时创建文件列表。 清单信息无法控制。 PowerShell 库
.nuspec创建显示在每个包的文件列表中的文件。 此文件未与系统上的包一起安装。 这是包的 NuGet 包清单,可以忽略。标签 - 标记 包含在模块清单中
PrivateData\PSData。 标记具有特定要求和含义,如 “标记详细信息 ”部分所述。Cmdlet - 这是使用 CmdletsToExport 在模块清单中提供的。 最佳做法是显式列出 cmdlet 名称,而不是使用 通配符
*。 具有列表可以提高加载模块的性能。函数 - 这是使用 FunctionsToExport 在模块清单中提供的。 最佳做法是显式列出 cmdlet 名称,而不是使用 通配符
*。 具有列表可以提高加载模块的性能。DSC 资源 - 这是使用 DscResourcesToExport 在清单中提供的。 仅 PowerShell 5.0 及更高版本中的模块支持此值。
角色功能 - 当模块具有一个或多个角色功能 (
.psrc) 文件时,将列出角色。 这些文件由 JEA 使用。 有关详细信息,请参阅 角色功能。PowerShell 版本 - 对于为 PowerShell 5.0 及更低版本设计的模块,这是使用 标记进行控制的。 对于桌面,请使用标签PSEdition_Desktop,对于核心,请使用标签PSEdition_Core。 对于为 PowerShell 5.1 及更高版本设计的模块,清单中有一个 CompatiblePSEditions 键。 有关详细信息,请参阅 对模块的 PSEdition 支持。
依赖项 - 这是使用 RequiredModules 在清单中提供的。
最低 PowerShell 版本 - 这是使用 PowerShellVersion 在清单中提供的。
版本历史记录 - 显示已发布到库的模块版本列表。 使用 “删除” 功能隐藏的包不会显示在版本历史记录中,除非你是包所有者。
项目网站 - 通过指定 ProjectURI,为模块清单部分中的
PrivateData\PSData模块提供项目网站。许可证 - 通过指定 LicenseURI,为模块清单部分中的
PrivateData\PSData模块提供许可证链接。重要
如果未通过 LicenseURI 或包中提供许可证,则 PowerShell 库的使用条款适用于包。 有关详细信息,请参阅 使用条款。
图标 - 通过指定 IconURI,为模块清单部分中的
PrivateData\PSData模块提供链接。 URI 应指向具有透明背景的 85x85 图像。 URI 必须 是指向图像文件的直接链接, 并且不得 转到网页或 PowerShell 库包中的文件。
由脚本元数据控制的 PowerShell 库功能元素
以下列表显示了由脚本文件中基于注释的元数据控制的 PowerShell 库包页 UI 的元素。
标题 - 这是发布到库的包的名称
版本 - 显示的版本是元数据中的版本字符串,如果指定了预发行标签。 该值来自
.VERSION元数据注释块中的关键字。 发布预发行脚本时,将预发行字符串附加到版本。 有关在模块中指定预发行字符串的信息,请参阅 脚本的预发行版本。说明 - 此信息来自
.DESCRIPTION脚本文件的基于注释的帮助中的关键字。需要接受许可证 - 脚本不支持接受许可证。 但是,支持脚本依赖于需要接受许可证的模块的方案。 有关详细信息,请参阅 要求接受脚本的许可证。
发行说明 - 此信息来自
.RELEASENOTES脚本文件的基于注释的元数据中的关键字。所有者 - 所有者是 PowerShell 库中可以更新包的用户列表。 所有者列表不包含在包清单中。 有关详细信息,请参阅 管理项目所有者。
作者 - 此信息来自
.AUTHOR脚本文件的基于注释的元数据中的关键字。 “作者”字段通常用于指定与包关联的公司或组织。版权 - 此信息来自
.COPYRIGHT脚本文件的基于注释的元数据中的关键字。FileList - 将包发布到 PowerShell 库时创建文件列表。 清单信息无法控制。 PowerShell 库
.nuspec创建显示在每个包的文件列表中的文件。 此文件未与系统上的包一起安装。 这是包的 NuGet 包清单,可以忽略。标签 - *此信息来自
.TAGS脚本文件的基于注释的元数据中的关键字。 标记具有特定要求和含义,如 “标记详细信息 ”部分所述。PowerShell 版本 - 对于为 PowerShell 5.0 及更低版本设计的模块,这是使用 标记进行控制的。 对于桌面,请使用标签PSEdition_Desktop,对于核心,请使用标签PSEdition_Core。 对于为 PowerShell 5.1 及更高版本设计的模块,清单中有一个 CompatiblePSEditions 键。 有关详细信息,请参阅 对模块的 PSEdition 支持。
版本历史记录 - 显示已发布到库的模块版本列表。 使用 “删除” 功能隐藏的包不会显示在版本历史记录中,除非你是包所有者。
项目网站 - 此信息来自
.PROJECTURI脚本文件的基于注释的元数据中的关键字。许可证 - 此信息来自
.LICENSEURI脚本文件的基于注释的元数据中的关键字。重要
如果未通过包或
.LICENSEURI包内提供许可证,则 PowerShell 库的使用条款适用于包。 有关详细信息,请参阅 使用条款。图标 - 此信息来自
.ICONURI脚本文件的基于注释的元数据中的关键字。 URI 应指向具有透明背景的 85x85 图像。 URI 必须 是指向图像文件的直接链接, 并且不得 转到网页或 PowerShell 库包中的文件。
编辑包详细信息
PowerShell 库的“编辑包”页允许发布者更改为包显示的多个字段,具体而言:
- Title
- Description
- 概要
- 图标 URL
- 项目主页 URL
- 作者
- 版权
- 标记
- 发行说明
- 需要许可证
您应该只在库中编辑此信息,以更正旧版本模块显示的内容。 下载包的用户将看到元数据与 PowerShell 库不匹配。 每当您更改库中的信息时,都应发布具有相同更改的新版本包。
标记详细信息
标签是消费者用来查找包的简单字符串。 当标签在相关包中一致使用时,它们最有价值。 使用同一词的变体,例如数据库和数据库或测试和测试,几乎没有什么好处。 标记是不区分大小写的单字字符串,不能包含空格。 如果您认为用户会搜索某个短语,请将其添加到包描述中,以便可以在搜索结果中找到它。 使用帕斯卡大小写、连字符、下划线或句点来提高可读性。 在创建容易拼写错误的长、复杂和不寻常的标签时要小心。
PowerShell 库和 PowerShellGet cmdlet 对 和 PSEdition_DesktopPSEdition_Core 标记具有特殊含义。 请参阅前面关于 PowerShell 版本的讨论。
如前所述,当标签是特定的,并且在许多包中一致使用时,它们会提供最大的价值。 作为尝试查找要使用的最佳标记的发布者,最简单的方法是在 PowerShell 库中搜索你正在考虑的标记。 理想情况下,返回的包与您对该关键字的使用一致。
下表显示了一些最常用的标记。 首选标记应返回最佳搜索结果。
| 首选标签 | 备选方案和注意事项 |
|---|---|
| 活动目录 | AD 本身当前不使用 |
| Appveyor | |
| 自动化 | |
| AWS | |
| 蔚蓝 | |
| AzureAD | |
| Azure Automation (Azure自动化) | |
| AzureRm | 主要用于 AzureRM 模块 |
| 备份 | |
| 构建 | |
| ChatOps | |
| 云 | |
| 颜色 | |
| 配置 | |
| 渐强建造 | 当您导出模块时,Crescendo 会自动添加此标签 |
| 数据库 | 数据库(复数)不太理想 |
| DBA | |
| 部署 | 部署的使用频率稍低 |
| DevOps | |
| DNS | |
| Docker | |
| DSC | DesiredStateConfiguration 不太理想,它太长了 |
| DSC资源 | |
| DSCResourceKit | |
| Excel | |
| 交流 | |
| Firewall | |
| GIT | |
| GitHub | |
| Gitlab 的 | |
| HTML | |
| Hyper-V | HyperV 作为标签不太常见 |
| IaaS | |
| IIS | |
| Json | |
| Linux | |
| Log | 首选将 Log 用作事物 |
| 伐木 | 首选将日志记录用作作 |
| MacOS | |
| 监测 | |
| MSI | |
| 网络 | 网络类似,使用频率较低 |
| Office365 的 | 拼写 Office 是可取的。 O365 不太常用,但较短 |
| 包管理 | |
| 纠缠 | |
| Posh机器人 | |
| 报表 | 举报是一回事 |
| 报告 | 举报是一种行动,举报是一种东西 |
| ResourceManager | “Arm”用于描述处理器组,不应用于 Azure 资源管理器 |
| REST | |
| 安全性 | 防守不太精准 |
| SharePoint | |
| SQL | |
| SQLServer | |
| 存储 | |
| 测试 | 测试不太理想 |
| 版本控制 | 版本不太精确,但使用频率更高 |
| VSTS | |
| Windows操作系统 | |
| WinRM | |
| WMI | |
| 邮政编码 |