Publish-Module

Publica um módulo especificado do computador local em uma 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 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 usando o nome do módulo ou o 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 que são exibidos na página da galeria para o módulo. Os metadados necessários incluem o nome, a versão, a descrição e o autor do módulo. Embora a maioria dos metadados seja obtida 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.

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

Solicita a 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 usuário que tem direitos para publicar um módulo para um provedor de pacote ou fonte especificado.

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

-Exclude

Define arquivos a serem excluídos 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 solicitar a confirmação do usuário.

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, consulte 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 a URL de um ícone para o módulo. O ícone especificado é exibido na página da 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 a URL dos termos de licenciamento para o módulo que você deseja 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 você deseja publicar. Publish-Module pesquisa 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 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.

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 você deseja publicar. Esse parâmetro aceita o caminho para a pasta que contém o módulo.

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

-ProjectUri

Especifica a URL de uma página da 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 de caracteres que contém notas de versão ou comentários que você deseja que estejam disponíveis para os usuários 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 registrado executando Register-PSRepository. O repositório deve ter um PublishLocation, que é um URI do NuGet válido. O PublishLocation pode ser definido executando 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 ser publicado.

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 marcas. Ignora a adição automática de marcas 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 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.

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

-WhatIf

Mostra o que aconteceria se a execução Publish-Module fosse executada. 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

Observações

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 dará mais suporte às versões 1.0 e 1.1 do protocolo TLS. Se você não estiver usando o TLS 1.2 ou posterior, receberá um erro ao tentar acessar a Galeria do PowerShell. Use o seguinte comando para garantir que esteja usando o TLS 1.2:

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

Para obter mais informações, confira o comunicado no blog do PowerShell.

A publicação de um módulo requer metadados que são exibidos na página da galeria para o módulo. Os metadados necessários incluem o nome, a versão, a descrição e o autor do módulo. A maioria dos metadados é obtida do manifesto do módulo, mas alguns metadados podem ser especificados em Publish-Module parâmetros, 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 do Galeria do PowerShell.