Partilhar via


Publish-Module

Publica um módulo especificado do computador local numa galeria online.

Syntax

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>]
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>]

Description

O Publish-Module cmdlet publica um módulo numa galeria online baseada em NuGet através de uma chave de API, armazenada como parte do perfil de um utilizador na galeria. Pode especificar o módulo a publicar pelo nome do módulo ou pelo caminho para a pasta que contém o módulo.

Quando especifica um módulo por nome, Publish-Module publica o primeiro módulo que seria encontrado ao executar Get-Module -ListAvailable <Name>. Se especificar uma versão mínima de um módulo a publicar, Publish-Module publica o primeiro módulo com uma versão maior ou igual à versão mínima que especificou.

A publicação de um módulo requer metadados apresentados na página da galeria do módulo. Os metadados necessários incluem o nome do módulo, a versão, a descrição e o autor. Embora a maioria dos metadados seja retirada do manifesto do módulo, alguns metadados têm de ser especificados em Publish-Module parâmetros, como Etiqueta, ReleaseNote, IconUri, ProjectUri e LicenseUri, porque estes parâmetros correspondem aos campos numa galeria baseada em NuGet.

Os parâmetros que assumem os números da versão do módulo esperam cadeias formatadas como números de versão.

  • Os números de versão padrão têm um formato de x.y.z onde x, y e z são números
  • As versões de pré-lançamento têm um formato de x.y.z-<prerelease_label> onde a <prerelease_label> cadeia é arbitrária atribuída a essa versão.

Exemplos

Exemplo 1: Publicar um módulo

Neste exemplo, MyDscModule é publicado na galeria online com a chave de API para indicar a conta de galeria online do proprietário do módulo. Se MyDscModule não for um módulo de manifesto válido que especifique um nome, versão, descrição e autor, ocorre um erro.

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

Exemplo 2: Publicar um módulo com metadados de galeria

Neste exemplo, MyDscModule é publicado na galeria online com a chave de API para indicar a conta de galeria do proprietário do módulo. Os metadados adicionais fornecidos são apresentados na página Web do módulo na galeria. O proprietário adiciona duas etiquetas de pesquisa para o módulo, relacionando-o com o Active Directory; é adicionada uma breve nota de versão. Se MyDscModule não for um módulo de manifesto válido que especifique um nome, versão, descrição e autor, ocorre um erro.

$parameters = @{
    Name        = "MyDscModule"
    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

Parâmetros

-AllowPrerelease

Permite que os módulos marcados como pré-lançamento sejam publicados.

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

-Confirm

Pede-lhe confirmação antes de executar o Publish-Module.

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

-Credential

Especifica uma conta de utilizador que tenha direitos para publicar um módulo para um fornecedor ou origem de pacotes especificado.

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

-Exclude

Define ficheiros a excluir do módulo publicado.

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

-Force

Força o comando a ser executado sem pedir a confirmação do utilizador.

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

-FormatVersion

Aceita apenas valores válidos especificados pelo atributo ValidateSet .

Para obter mais informações, veja ValidateSet Attribute Declaration e ValidateSetAttribute.

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

-IconUri

Especifica o URL de um ícone para o módulo. O ícone especificado é apresentado na página Web da galeria do módulo.

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

-LicenseUri

Especifica o URL dos termos de licenciamento do módulo que pretende publicar.

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

-Name

Especifica o nome do módulo que pretende publicar. Publish-Module procura o nome do módulo especificado em $Env:PSModulePath.

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

-NuGetApiKey

Especifica a chave de API que pretende utilizar para publicar um módulo na galeria online. A chave de API faz parte do seu perfil na galeria online e pode ser encontrada na página da sua conta de utilizador na galeria. A chave de API é uma funcionalidade específica do NuGet.

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

-Path

Especifica o caminho para o módulo que pretende publicar. Este parâmetro aceita o caminho para a pasta que contém o módulo. A pasta tem de ter o mesmo nome que o módulo.

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

-ProjectUri

Especifica o URL de uma página Web sobre este projeto.

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

-ReleaseNotes

Especifica uma cadeia que contém notas de versão ou comentários que pretende que estejam disponíveis para os utilizadores desta versão do módulo.

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

-Repository

Especifica o nome amigável de um repositório que foi registado ao executar Register-PSRepository. O repositório tem de ter uma PublishLocation, que é um URI NuGet válido. A PublishLocation pode ser definida ao executar Set-PSRepository.

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

-RequiredVersion

Especifica a versão exata de um único módulo a publicar.

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

-SkipAutomaticTags

Remove comandos e recursos de serem incluídos como etiquetas. Ignora a adição automática de etiquetas a um módulo.

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

-Tags

Adiciona uma ou mais etiquetas ao módulo que está a publicar. As etiquetas de exemplo incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Separe várias etiquetas com vírgulas.

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

-WhatIf

Mostra o que aconteceria se as Publish-Module execuções fossem executadas. O cmdlet não é executado.

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

Entradas

String

PSCredential

Saídas

Object

Notas

O PowerShell inclui os seguintes aliases para Publish-Module:

  • Todas as plataformas:
    • pumo

Publish-Module é executado no PowerShell 3.0 ou versões posteriores do PowerShell, no Windows 7 ou Windows 2008 R2 e versões posteriores do Windows.

Importante

A partir de abril de 2020, o Galeria do PowerShell já não suporta as versões 1.0 e 1.1 do Transport Layer Security (TLS). Se não estiver a utilizar o TLS 1.2 ou superior, receberá um erro ao tentar aceder ao Galeria do PowerShell. Utilize o seguinte comando para garantir que está a utilizar o TLS 1.2:

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

Para obter mais informações, veja o anúncio no blogue do PowerShell.

A publicação de um módulo requer metadados apresentados na página da galeria do módulo. Os metadados necessários incluem o nome do módulo, a versão, a descrição e o autor. A maioria dos metadados é obtida do manifesto do módulo, mas alguns metadados podem ser especificados em Publish-Module parâmetros, como Etiqueta, ReleaseNote, IconUri, ProjectUri e LicenseUri. Para obter mais informações, veja Valores de manifesto de pacote que afetam a IU do Galeria do PowerShell.