Publish-Module

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

语法

ModuleNameParameterSet (默认值)

Publish-Module
    -Name <String>
    [-RequiredVersion <String>]
    [-NuGetApiKey <String>]
    [-Repository <String>]
    [-Credential <PSCredential>]
    [-FormatVersion <Version>]
    [-ReleaseNotes <String[]>]
    [-Tags <String[]>]
    [-LicenseUri <Uri>]
    [-IconUri <Uri>]
    [-ProjectUri <Uri>]
    [-Exclude <String[]>]
    [-Force]
    [-AllowPrerelease]
    [-SkipAutomaticTags]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ModulePathParameterSet

Publish-Module
    -Path <String>
    [-NuGetApiKey <String>]
    [-Repository <String>]
    [-Credential <PSCredential>]
    [-FormatVersion <Version>]
    [-ReleaseNotes <String[]>]
    [-Tags <String[]>]
    [-LicenseUri <Uri>]
    [-IconUri <Uri>]
    [-ProjectUri <Uri>]
    [-Force]
    [-SkipAutomaticTags]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Publish-Module cmdlet 使用 API 密钥(作为用户配置文件的一部分存储在库中)将模块发布到基于 NuGet 的联机库。 可以指定要按模块名称发布的模块,也可以指定包含模块的文件夹的路径。

这是 Publish-PSResource 中 cmdlet 的代理 cmdlet。 有关详细信息,请参阅 Publish-PSResource

示例

示例 1:发布模块

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

Publish-Module -Path c:\projects\MyDscModule\1.0.0 -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"

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

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

$parameters = @{
    Path        = 'c:\projects\MyDscModule\1.0.0'
    NuGetApiKey = '11e4b435-6cb4-4bf7-8611-5162ed75eb73'
    LicenseUri  = 'http://contoso.com/license'
    Tag         = 'Active Directory','DSC'
    ReleaseNote = 'Updated the ActiveDirectory DSC Resources to support adding users.'
}
Publish-Module @parameters

参数

-AllowPrerelease

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

ModuleNameParameterSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Confirm

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

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Credential

指定有权为指定的包提供程序或源发布模块的用户帐户。

参数属性

类型:PSCredential
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Exclude

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

ModuleNameParameterSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Force

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-FormatVersion

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:Version
默认值:None
接受的值:2.0
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-IconUri

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:Uri
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-LicenseUri

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:Uri
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Name

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ModuleNameParameterSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-NuGetApiKey

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

代理 cmdlet 将此参数映射到 . 的 Publish-PSResource 参数。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

指定要发布的模块的路径。 此参数接受包含模块的文件夹的路径。 文件夹必须与模块具有相同的名称。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ModulePathParameterSet
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-ProjectUri

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:Uri
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-ReleaseNotes

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Repository

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

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-RequiredVersion

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

ModuleNameParameterSet
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SkipAutomaticTags

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Tags

代理 cmdlet 忽略此参数,因为它不受支持 Publish-PSResource

参数属性

类型:

String[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-WhatIf

显示 Publish-Module 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

String

PSCredential

输出

Object

备注

PowerShell 包含以下与 Publish-Module相关的别名:

  • 所有平台:
    • pumo

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

PowerShell 库不再支持传输层安全性(TLS)版本 1.0 和 1.1。 必须使用 TLS 1.2 或更高版本。 使用以下命令确保使用的是 TLS 1.2:

[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

发布模块需要模块的库页上显示的元数据。 所需的元数据包括模块名称、版本、说明和作者。 必须在模块清单中定义元数据。 有关详细信息,请参阅 影响 PowerShell 库 UI 的包清单值