El cmdlet Publish-Module publica un módulo en una galería basada en NuGet en línea mediante una clave de API, almacenada como parte del perfil de un usuario en la galería. Puede especificar el módulo para publicarlo por el nombre del módulo o por la ruta de acceso a la carpeta que contiene el módulo.
Al especificar un módulo por nombre, Publish-Module publica el primer módulo que se encontraría ejecutando Get-Module -ListAvailable <Name>. Si especifica una versión mínima de un módulo que se va a publicar, Publish-Module publica el primer módulo con una versión mayor o igual que la versión mínima especificada.
La publicación de un módulo requiere metadatos que se muestran en la página de la galería del módulo. Los metadatos necesarios incluyen el nombre del módulo, la versión, la descripción y el autor. Aunque la mayoría de los metadatos se toman del manifiesto del módulo, algunos metadatos deben especificarse en Publish-Module parámetros, como Tag, ReleaseNote, IconUri, ProjectUri y LicenseUri, ya que estos parámetros coinciden con los campos de una galería basada en NuGet.
Ejemplos
Ejemplo 1: Publicación de un módulo
En este ejemplo, MyDscModule se publica en la galería en línea mediante la clave de API para indicar la cuenta de la galería en línea del propietario del módulo. Si MyDscModule no es un módulo de manifiesto válido que especifica un nombre, una versión, una descripción y un autor, se produce un error.
Ejemplo 2: Publicación de un módulo con metadatos de la galería
En este ejemplo, MyDscModule se publica en la galería en línea mediante la clave de API para indicar la cuenta de la galería del propietario del módulo. Los metadatos adicionales proporcionados se muestran en la página web del módulo de la galería. El propietario agrega dos etiquetas de búsqueda para el módulo, en relación con Active Directory; Se agrega una breve nota de versión. Si MyDscModule no es un módulo de manifiesto válido que especifica un nombre, una versión, una descripción y un autor, se produce un error.
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 publicar módulos marcados como versión preliminar.
Especifica la clave de API que desea usar para publicar un módulo en la galería en línea. La clave de API forma parte de su perfil en la galería en línea y se puede encontrar en la página de la cuenta de usuario de la galería. La clave de API es una funcionalidad específica de NuGet.
Especifica el nombre descriptivo de un repositorio que se ha registrado mediante la ejecución Register-PSRepositoryde . El repositorio debe tener un PublishLocation, que es un URI de NuGet válido.
El publishLocation de se puede establecer ejecutando .
Agrega una o varias etiquetas al módulo que está publicando. Las etiquetas de ejemplo incluyen DesiredStateConfiguration, DSC, DSCResourceKit o PSModule. Separe varias etiquetas con comas.
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Publish-Module se ejecuta en PowerShell 3.0 o versiones posteriores de PowerShell, en Windows 7 o Windows 2008 R2 y versiones posteriores de Windows.
Importante
A partir de abril de 2020, la Galería de PowerShell ya no admite las versiones 1.0 y 1.1 de seguridad de la capa de transporte (TLS). Si no usa TLS 1.2 o superior, recibirá un error al intentar acceder a la Galería de PowerShell. Use el comando siguiente para asegurarse de que usa TLS 1.2:
Para obtener más información, consulte el anuncio en el blog de PowerShell.
La publicación de un módulo requiere metadatos que se muestran en la página de la galería del módulo. Los metadatos necesarios incluyen el nombre del módulo, la versión, la descripción y el autor. La mayoría de los metadatos se toman del manifiesto del módulo, pero algunos metadatos se pueden especificar en parámetros Publish-Module, como Tag, ReleaseNote, IconUri, ProjectUriy LicenseUri. Para obtener más información, consulte Valores de manifiesto del paquete que afectan a la interfaz de usuario de la Galería de PowerShell.