Partager via


Publish-Module

Publie un module spécifié à partir de l’ordinateur local sur une galerie en ligne.

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

L’applet Publish-Module de commande publie un module dans une galerie basée sur NuGet en ligne à l’aide d’une clé API, stockée dans le profil d’un utilisateur dans la galerie. Vous pouvez indiquer le module à publier par son nom ou par le chemin d’accès au dossier le contenant.

Lorsque vous spécifiez un module par son nom, Publish-Module publie le premier module qui serait trouvé en exécutant Get-Module -ListAvailable <Name>. Si vous spécifiez une version minimale d’un module à publier, Publish-Module publie le premier module avec une version supérieure ou égale à la version minimale que vous avez spécifiée.

La publication d’un module nécessite des métadonnées affichées dans la page de la galerie pour le module. Les métadonnées requises incluent le nom du module, la version, la description et l’auteur. Bien que la plupart des métadonnées proviennent du manifeste du module, certaines métadonnées doivent être spécifiées dans Publish-Module des paramètres, tels que Tag, ReleaseNote, IconUri, ProjectUri et LicenseUri, car ces paramètres correspondent aux champs d’une galerie Basée sur NuGet.

Les paramètres qui acceptent des numéros de version de module attendent des chaînes mises en forme en tant que numéros de version.

  • Les numéros de version standard ont un format où x.y.z x, y et z sont des nombres
  • Les versions préliminaires ont un format où x.y.z-<prerelease_label> est <prerelease_label> une chaîne arbitraire affectée à cette mise en production.

Exemples

Exemple 1 : Publier un module

Dans cet exemple, MyDscModule est publié dans la galerie en ligne à l’aide de la clé API pour indiquer le compte de galerie en ligne du propriétaire du module. Si MyDscModule n’est pas un module de manifeste valide qui spécifie un nom, une version, une description et un auteur, une erreur se produit.

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

Exemple 2 : Publier un module avec les métadonnées de la galerie

Dans cet exemple, MyDscModule est publié dans la galerie en ligne à l’aide de la clé API pour indiquer le compte de galerie du propriétaire du module. Les métadonnées supplémentaires fournies sont affichées sur la page web du module dans la galerie. Le propriétaire ajoute deux balises de recherche pour le module, le reliant à Active Directory ; une brève note de publication est ajoutée. Si MyDscModule n’est pas un module de manifeste valide qui spécifie un nom, une version, une description et un auteur, une erreur se produit.

$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

Paramètres

-AllowPrerelease

Autorise la publication de modules marqués comme préversion.

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

-Confirm

Vous invite à confirmer avant d’exécuter le Publish-Module.

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

-Credential

Spécifie un compte d’utilisateur qui dispose des droits de publication d’un module pour un fournisseur ou une source de package spécifié.

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

-Exclude

Définit les fichiers à exclure du module publié.

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

-Force

Force l’exécution de la commande sans demander la confirmation de l’utilisateur.

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

-FormatVersion

Accepte uniquement les valeurs valides spécifiées par l’attribut ValidateSet .

Pour plus d’informations, consultez ValidateSet Attribute Declaration et ValidateSetAttribute.

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

-IconUri

Spécifie l’URL d’une icône pour le module. L’icône spécifiée s’affiche sur la page web de la galerie pour le module.

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

-LicenseUri

Spécifie l’URL des termes du contrat de licence pour le module que vous souhaitez publier.

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

-Name

Spécifie le nom du module que vous souhaitez publier. Publish-Module recherche le nom de module spécifié dans $Env:PSModulePath.

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

-NuGetApiKey

Spécifie la clé API que vous souhaitez utiliser pour publier un module dans la galerie en ligne. La clé API fait partie de votre profil dans la galerie en ligne et se trouve sur la page de votre compte d’utilisateur dans la galerie. La clé API est une fonctionnalité propre à NuGet.

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

-Path

Spécifie le chemin d’accès au module que vous souhaitez publier. Ce paramètre accepte le chemin d’accès au dossier qui contient le module. Le dossier doit avoir le même nom que le module.

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

-ProjectUri

Spécifie l’URL d’une page web relative à ce projet.

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

-ReleaseNotes

Spécifie une chaîne contenant des notes de publication ou des commentaires que vous souhaitez mettre à la disposition des utilisateurs de cette version du module.

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

-Repository

Spécifie le nom convivial d’un dépôt qui a été inscrit en exécutant Register-PSRepository. Le dépôt doit avoir un PublishLocation, qui est un URI NuGet valide. La propriété PublishLocation peut être définie en exécutant Set-PSRepository.

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

-RequiredVersion

Spécifie la version exacte d’un seul module à publier.

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

-SkipAutomaticTags

Supprime les commandes et les ressources d’être incluses en tant que balises. Ignore l’ajout automatique d’étiquettes à un module.

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

-Tags

Ajoute une ou plusieurs balises au module que vous publiez. Les exemples de balises incluent DesiredStateConfiguration, DSC, DSCResourceKit ou PSModule. Séparez plusieurs balises par des virgules.

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

-WhatIf

Montre ce qui se passerait si le s’exécute Publish-Module . L’applet de commande n’est pas exécutée.

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

Entrées

String

PSCredential

Sorties

Object

Notes

PowerShell inclut les alias suivants pour Publish-Module:

  • Toutes les plateformes :
    • pumo

Publish-Module s’exécute sur PowerShell 3.0 ou versions ultérieures de PowerShell, sur Windows 7 ou Windows 2008 R2 et versions ultérieures de Windows.

Important

Depuis avril 2020, PowerShell Gallery ne prend plus en charge les versions 1.0 et 1.1 de Transport Layer Security (TLS). Si vous n'utilisez pas TLS 1.2 ou une version plus récente, vous recevez une erreur lorsque vous tentez d'accéder à PowerShell Gallery. Utilisez la commande suivante pour vous assurer que vous utilisez TLS 1.2 :

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

Pour plus d’informations, consultez l’annonce sur le blog PowerShell.

La publication d’un module nécessite des métadonnées affichées dans la page de la galerie pour le module. Les métadonnées requises incluent le nom du module, la version, la description et l’auteur. La plupart des métadonnées sont extraites du manifeste du module, mais certaines métadonnées peuvent être spécifiées dans Publish-Module des paramètres, tels que Tag, ReleaseNote, IconUri, ProjectUri et LicenseUri. Pour plus d’informations, consultez Valeurs de manifeste de package qui ont un impact sur l’interface utilisateur PowerShell Gallery.