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
Sorties
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.