影响 PowerShell 库 UI 的包元数据值

本文介绍 PowerShell 库如何使用包中的元数据。 对于模块,元数据存储在模块清单中。 对于脚本,元数据使用基于注释的关键字进行存储。 以下 cmdlet 用于创建或更新此元数据:

以下列表显示了由模块清单控制的 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 库包页 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 的
Google
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
邮政编码