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 a ser publicado, Publish-Module publicará o primeiro módulo com uma versão maior ou igual à versão mínima especificada.
A publicação de um módulo requer metadados 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 a campos em uma galeria baseada em NuGet.
Exemplos
Exemplo 1: publicar um módulo
Neste exemplo, MyDscModule é publicado na galeria online usando a chave de 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 especifica um nome, versão, descrição e autor, ocorrerá um erro.
Exemplo 2: publicar um módulo com metadados da galeria
Neste exemplo, MyDscModule é publicado na galeria online usando a chave de 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 marcas de pesquisa para o módulo, relacionando-o ao Active Directory; uma breve nota de versão é adicionada. Se MyDscModule não for um módulo de manifesto válido que especifica um nome, versão, descrição e autor, ocorrerá um erro.
Publish-Module -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."
Parâmetros
-AllowPrerelease
Permite que os módulos marcados como pré-lançamento sejam publicados.
Especifica a chave de API que você deseja usar 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 usuário na galeria. A chave de API é uma funcionalidade específica do NuGet.
Especifica uma cadeia de caracteres que contém notas de versão ou comentários que você deseja estar disponível para os usuários desta versão do módulo.
Especifica o nome amigável de um repositório que foi registrado executando Register-PSRepository. O repositório deve ter um PublishLocation, que é um URI nuGet válido.
O PublishLocation pode ser definido executando .
Adiciona uma ou mais marcas ao módulo que você está publicando. As marcas de exemplo incluem DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Separe várias marcas com vírgulas.
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.
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 dá mais suporte ao TLS (Transport Layer Security) versões 1.0 e 1.1. 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:
Para obter mais informações, consulte o comunicado no blog do PowerShell.
A publicação de um módulo requer metadados 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 é obtida do manifesto do módulo, mas alguns metadados podem ser especificados em parâmetros Publish-Module, como Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri. Para obter mais informações, consulte Valores de manifesto do pacote que afetam a interface do usuário da Galeria do PowerShell.