Publish-Module

将指定模块从本机计算机发布到联机库。

语法

Publish-Module
       -Name <String>
       [-RequiredVersion <Version>]
       -NuGetApiKey <String>
       [-Repository <String>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-Module
       -Path <String>
       -NuGetApiKey <String>
       [-Repository <String>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

说明

cmdlet Publish-Module 使用 API 密钥将模块发布到基于 NuGet 的联机库,该密钥作为用户个人资料的一部分存储在库中。 可根据模块的名称或包含模块的文件夹路径指定要发布的模块。

按名称指定模块时, Publish-Module 会发布通过运行 Get-Module -ListAvailable <Name>找到的第一个模块。 如果指定要发布的模块的最低版本, Publish-Module 则发布版本大于或等于指定的最低版本的第一个模块。

示例

示例 1:发布模块

在此示例中,MyDscModule 通过使用 API 密钥指示模块所有者的联机库帐户发布到联机库。 如果 MyDscModule 不是指定名称、版本、说明和作者的有效清单模块,则会发生错误。

Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"

示例 2:发布包含库元数据的模块

在此示例中,MyDscModule 通过使用 API 密钥指示模块所有者的库帐户发布到联机库。 提供的附加元数据显示在库中模块的网页上。 所有者为模块添加两个搜索标记,并将其关联到 Active Directory;添加了简短的发行说明。 如果 MyDscModule 不是指定名称、版本、说明和作者的有效清单模块,则会发生错误。

Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73" -LicenseUri "https://contoso.com/license" -Tag "Active Directory","DSC" -ReleaseNote "Updated the ActiveDirectory DSC Resources to support adding users."

参数

-Confirm

在运行 Publish-Module之前提示你进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatVersion

仅接受 由 ValidateSet 属性指定的有效值。

有关详细信息,请参阅 ValidateSet 属性声明ValidateSetAttribute

Type:Version
Accepted values:2.0
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IconUri

指定模块图标的 URL。 指定的图标显示在模块的库网页上。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseUri

指定要发布的模块的许可条款的 URL。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定要发布的模块的名称。 Publish-Module 在 中 $Env:PSModulePath搜索指定的模块名称。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NuGetApiKey

指定要用于将模块发布到联机库的 API 密钥。 API 密钥是联机库中配置文件的一部分,可在库中的用户帐户页中找到。 API 密钥是特定于 NuGet 的功能。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定要发布的模块的路径。 此参数接受包含模块的文件夹的路径。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ProjectUri

指定有关此项目的网页的 URL。

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReleaseNotes

指定一个字符串,其中包含你希望此版本的模块用户可用的发行说明或注释。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repository

指定已通过运行 Register-PSRepository注册的存储库的友好名称。 存储库必须具有 PublishLocation,这是一个有效的 NuGet URI。 可以通过运行 Set-PSRepository来设置 PublishLocation

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

指定要发布的单个模块的确切版本。

Type:Version
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

将一个或多个标记添加到要发布的模块。 示例标记包括 DesiredStateConfiguration、DSC、DSCResourceKit 或 PSModule。 用逗号分隔多个标记。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行后 Publish-Module 会发生什么情况。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

PSModuleInfo

输出

None

Publish-Module 如果成功发布模块,则不显示任何输出。

备注

Publish-Module 在 PowerShell 3.0 或更高版本的 PowerShell、Windows 7 或 Windows 2008 R2 及更高版本的 Windows 上运行。

发布模块需要在库页面显示的模块的元数据。 所需元数据包括模块名称、版本、说明和作者。 大多数元数据取自模块清单,但某些元数据可以在参数中 Publish-Module 指定,例如 TagReleaseNoteIconUriProjectUriLicenseUri。 有关详细信息,请参阅影响PowerShell 库 UI 的包清单值