Partilhar via


Publish-Module

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

Sintaxe

ModuleNameParameterSet (Predefinição)

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

Description

O cmdlet Publish-Module publica um módulo em uma galeria online baseada em NuGet, usando uma chave de API, armazenada como parte do perfil de um usuário na galeria. Você pode especificar o módulo a ser publicado pelo nome do módulo ou pelo caminho para a pasta que contém o módulo.

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

A publicação de um módulo requer metadados que são exibidos 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 devem ser especificados em Publish-Module parâmetros, como Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri, porque esses parâmetros correspondem aos campos em uma galeria baseada em NuGet.

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

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

Exemplos

Exemplo 1: Publicar um módulo

Neste exemplo, MyDscModule é publicado na galeria online usando a chave API para indicar a conta da 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, ocorrerá 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 usando a chave API para indicar a conta da galeria do proprietário do módulo. Os metadados adicionais fornecidos são exibidos na página da Web do módulo na galeria. O proprietário adiciona duas tags de pesquisa para o módulo, relacionando-o ao Ative Directory; Uma breve nota de lançamento é adicionada. Se MyDscModule não for um módulo de manifesto válido que especifique um nome, versão, descrição e autor, ocorrerá 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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ModuleNameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Confirm

Solicita confirmação antes de executar o Publish-Module.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Especifica uma conta de usuário que tem direitos para publicar um módulo para um provedor de pacote ou fonte especificado.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Exclude

Define os arquivos a serem excluídos do módulo publicado.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ModuleNameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Force

Força o comando a ser executado sem pedir a confirmação do usuário.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-FormatVersion

Aceita apenas valores válidos especificados pelo atributo ValidateSet.

Para obter mais informações, consulte Declaração de Atributo ValidateSet e ValidateSetAttribute.

Propriedades dos parâmetros

Tipo:Version
Default value:None
Valores aceites:2.0
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-IconUri

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

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LicenseUri

Especifica a URL dos termos de licenciamento para o módulo que você deseja publicar.

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Name

Especifica o nome do módulo que você deseja publicar. Publish-Module procura o nome do módulo especificado no $Env:PSModulePath.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ModuleNameParameterSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-NuGetApiKey

Especifica a chave de API que você deseja usar para publicar um módulo na galeria online. A chave 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 da API é uma funcionalidade específica do NuGet.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

Especifica o caminho para o módulo que você deseja publicar. Este parâmetro aceita o caminho para a pasta que contém o módulo. A pasta deve ter o mesmo nome que o módulo.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ModulePathParameterSet
Position:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-ProjectUri

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

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ReleaseNotes

Especifica uma cadeia de caracteres contendo notas de versão ou comentários que você deseja que estejam disponíveis para os usuários desta versão do módulo.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Repository

Especifica o nome amigável de um repositório que foi registrado executando Register-PSRepositoryo . O repositório deve ter um PublishLocation , que é um URI NuGet válido. O PublishLocation pode ser definido executando Set-PSRepository.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-RequiredVersion

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

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ModuleNameParameterSet
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-SkipAutomaticTags

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

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Tags

Adiciona uma ou mais tags ao módulo que você está publicando. Exemplos de tags incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Separe várias tags com vírgulas.

Propriedades dos parâmetros

Tipo:

String[]

Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se o Publish-Module fosse executado. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

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, a Galeria do PowerShell não suporta mais as versões 1.0 e 1.1 do Transport Layer Security (TLS). Se você não estiver usando o TLS 1.2 ou superior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que você esteja usando o TLS 1.2:

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

Para obter mais informações, consulte o de anúncio de no blog do PowerShell.

A publicação de um módulo requer metadados que são exibidos 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 é retirada do manifesto do módulo, mas alguns metadados podem ser especificados em Publish-Module parâmetros, como Tag, ReleaseNote, IconUri, ProjectUrie LicenseUri. Para obter mais informações, consulte Valores de manifesto do pacote que afetam a interface do usuário da Galeria do PowerShell.