Partager via


Publish-Module

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

Syntaxe

ModuleNameParameterSet (Par défaut)

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

ModulePathParameterSet

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 de commande Publish-Module publie un module dans une galerie NuGet en ligne à l’aide d’une clé API, stockée dans le cadre du profil d’un utilisateur dans la galerie. Vous pouvez spécifier le module à publier par le nom du module ou par le chemin d’accès au dossier contenant le module.

Lorsque vous spécifiez un module par nom, Publish-Module publie le premier module 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 sur 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 soient extraites 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 NuGet.

Les paramètres qui prennent les numéros de version du module s’attendent à ce que les 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> la <prerelease_label> chaîne arbitraire affectée à cette version est arbitraire.

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 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 des métadonnées de 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, en l’associant à Active Directory ; une brève note de publication est ajoutée. Si MyDscModule n’est pas un module 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

Permet aux modules marqués comme préversions d’être publiés.

Propriétés des paramètres

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ModuleNameParameterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

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

Propriétés des paramètres

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Credential

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

Propriétés des paramètres

Type:PSCredential
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Exclude

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

Propriétés des paramètres

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ModuleNameParameterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Force

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

Propriétés des paramètres

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-FormatVersion

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

Pour plus d’informations, consultez de déclaration d’attribut ValidateSet et ValidateSetAttribute.

Propriétés des paramètres

Type:Version
Valeur par défaut:None
Valeurs acceptées:2.0
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés des paramètres

Type:Uri
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LicenseUri

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

Propriétés des paramètres

Type:Uri
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Name

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

Propriétés des paramètres

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ModuleNameParameterSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants: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é spécifique à NuGet.

Propriétés des paramètres

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés des paramètres

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ModulePathParameterSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-ProjectUri

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

Propriétés des paramètres

Type:Uri
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés des paramètres

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Repository

Spécifie le nom convivial d’un référentiel qui a été inscrit en exécutant Register-PSRepository. Le référentiel doit avoir un PublishLocation, qui est un URI NuGet valide. Le PublishLocation peut être défini en exécutant Set-PSRepository.

Propriétés des paramètres

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-RequiredVersion

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

Propriétés des paramètres

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ModuleNameParameterSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SkipAutomaticTags

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

Propriétés des paramètres

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés des paramètres

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Montre ce qui se passerait si le Publish-Module fonctionne. L’applet de commande ne s’exécute pas.

Propriétés des paramètres

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

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 TLS (Transport Layer Security) 1.0 et 1.1. Si vous n’utilisez pas TLS 1.2 ou version ultérieure, vous recevez une erreur lors de la tentative d’accès à 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 dans le blog PowerShell.

La publication d’un module nécessite des métadonnées affichées sur 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 des paramètres Publish-Module, tels que tag, ReleaseNote, IconUri, ProjectUriet LicenseUri. Pour plus d’informations, consultez Valeurs du manifeste de package qui ont un impact sur l’interface utilisateur de PowerShell Gallery.