Partager via


New-ModuleManifest

Crée un manifeste de module.

Syntaxe

New-ModuleManifest
   [-Path] <String>
   [-NestedModules <Object[]>]
   [-Guid <Guid>]
   [-Author <String>]
   [-CompanyName <String>]
   [-Copyright <String>]
   [-RootModule <String>]
   [-ModuleVersion <Version>]
   [-Description <String>]
   [-ProcessorArchitecture <ProcessorArchitecture>]
   [-PowerShellVersion <Version>]
   [-CLRVersion <Version>]
   [-DotNetFrameworkVersion <Version>]
   [-PowerShellHostName <String>]
   [-PowerShellHostVersion <Version>]
   [-RequiredModules <Object[]>]
   [-TypesToProcess <String[]>]
   [-FormatsToProcess <String[]>]
   [-ScriptsToProcess <String[]>]
   [-RequiredAssemblies <String[]>]
   [-FileList <String[]>]
   [-ModuleList <Object[]>]
   [-FunctionsToExport <String[]>]
   [-AliasesToExport <String[]>]
   [-VariablesToExport <String[]>]
   [-CmdletsToExport <String[]>]
   [-DscResourcesToExport <String[]>]
   [-CompatiblePSEditions <String[]>]
   [-PrivateData <Object>]
   [-Tags <String[]>]
   [-ProjectUri <Uri>]
   [-LicenseUri <Uri>]
   [-IconUri <Uri>]
   [-ReleaseNotes <String>]
   [-Prerelease <String>]
   [-RequireLicenseAcceptance]
   [-ExternalModuleDependencies <String[]>]
   [-HelpInfoUri <String>]
   [-PassThru]
   [-DefaultCommandPrefix <String>]
   [-WhatIf]
   [-Confirm] 
   [<CommonParameters>]

Description

L’applet New-ModuleManifest de commande crée un fichier manifeste de module (.psd1), remplit ses valeurs et enregistre le fichier manifeste dans le chemin spécifié.

Les auteurs de modules peuvent utiliser cette applet de commande afin de créer un manifeste pour leur module. Un manifeste de module est un .psd1 fichier qui contient une table de hachage. Les clés et valeurs de la table de hachage décrivent le contenu et les attributs du module, définissent les conditions préalables, et déterminent la façon dont les composants sont traités. Les manifestes ne sont pas obligatoires pour un module.

New-ModuleManifest crée un manifeste qui inclut toutes les clés de manifeste couramment utilisées, ce qui vous permet d’utiliser la sortie par défaut comme modèle de manifeste. Pour ajouter ou modifier des valeurs, ou pour ajouter des clés de module que cette applet de commande n’ajoute pas, ouvrez le fichier résultant dans un éditeur de texte.

Chaque paramètre, à l’exception de Path et PassThru, crée une clé de manifeste de module et sa valeur. Dans un manifeste de module, seule la clé ModuleVersion est requise. Sauf indication dans la description du paramètre, si vous omettez un paramètre de la commande, New-ModuleManifest crée une chaîne de commentaire pour la valeur associée qui n’a aucun effet.

Dans PowerShell 2.0, New-ModuleManifest vous invite à entrer les valeurs des paramètres couramment utilisés qui ne sont pas spécifiés dans la commande, en plus des valeurs de paramètre requises. À compter de PowerShell 3.0, New-ModuleManifest les invites s’affichent uniquement lorsque les valeurs de paramètre requises ne sont pas spécifiées.

Si vous envisagez de publier votre module dans PowerShell Gallery, le manifeste doit contenir des valeurs pour certaines propriétés. Pour plus d’informations, consultez Métadonnées requises pour les éléments publiés dans PowerShell Gallery dans la documentation gallery.

Exemples

Exemple 1 - Créer un manifeste de module

Cet exemple crée un manifeste de module dans le fichier spécifié par le paramètre Path . Le paramètre PassThru envoie la sortie au pipeline et au fichier.

La sortie indique les valeurs par défaut de toutes les clés du manifeste.

New-ModuleManifest -Path C:\ps-test\Test-Module\Test-Module.psd1 -PassThru

#
# Module manifest for module 'Test-Module'
#
# Generated by: ContosoAdmin
#
# Generated on: 7/12/2019
#

@{

# Script module or binary module file associated with this manifest.
# RootModule = ''

# Version number of this module.
ModuleVersion = '0.0.1'

# Supported PSEditions
# CompatiblePSEditions = @()

# ID used to uniquely identify this module
GUID = 'e1826c6e-c420-4eef-9ac8-185e3669ca6a'

# Author of this module
Author = 'ContosoAdmin'

# Company or vendor of this module
CompanyName = 'Unknown'

# Copyright statement for this module
Copyright = '(c) ContosoAdmin. All rights reserved.'

# Description of the functionality provided by this module
# Description = ''

# Minimum version of the PowerShell engine required by this module
# PowerShellVersion = ''

# Name of the PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = @()

# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = '*'

# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
# FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        # Tags = @()

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        # ProjectUri = ''

        # A URL to an icon representing this module.
        # IconUri = ''

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # Prerelease string of this module
        # Prerelease = ''

        # Flag to indicate whether the module requires explicit user acceptance for install/update/save
        # RequireLicenseAcceptance = $false

        # External dependent modules of this module
        # ExternalModuleDependencies = @()

    } # End of PSData hashtable

} # End of PrivateData hashtable

# HelpInfo URI of this module
# HelpInfoURI = ''

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}

Exemple 2 : Créer un manifeste avec certains paramètres préremplis

Cet exemple crée un manifeste de module. Il utilise les paramètres PowerShellVersion et AliasesToExport pour ajouter des valeurs aux clés de manifeste correspondantes.

$moduleSettings = @{
    PowerShellVersion = 1.0
    Path   = 'C:\ps-test\ManifestTest.psd1'
    AliasesToExport   = @(
      'JKBC'
      'DRC'
      'TAC'
    )
}
New-ModuleManifest @moduleSettings

Exemple 3 : Créer un manifeste qui nécessite d’autres modules

Cet exemple utilise un format de chaîne pour spécifier le nom du module BitsTransfer et le format de table de hachage pour spécifier le nom, un GUID et une version du module PSScheduledJob .

$moduleSettings = @{
  RequiredModules = ("BitsTransfer", @{
    ModuleName="PSScheduledJob"
    ModuleVersion="1.0.0.0";
    GUID="50cdb55f-5ab7-489f-9e94-4ec21ff51e59"
  })
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

Cet exemple montre comment utiliser les formats de table de chaîne et de hachage du paramètre ModuleList, RequiredModules et NestedModules . Vous pouvez combiner des chaînes et des tables de hachage dans la même valeur de paramètre.

Exemple 4 : Créer un manifeste qui prend en charge l’aide pouvant être mise à jour

Cet exemple utilise le paramètre HelpInfoUri pour créer une clé HelpInfoUri dans le manifeste du module. La valeur du paramètre et la clé doivent commencer par http ou https. Cette valeur indique au système d'aide actualisable où trouver le fichier XML d'informations HelpInfo sur l'aide actualisable du module.

$moduleSettings = @{
  HelpInfoUri = 'http://https://go.microsoft.com/fwlink/?LinkID=603'
  Path = 'C:\ps-test\ManifestTest.psd1'
}
New-ModuleManifest @moduleSettings

Pour plus d’informations sur l’aide pouvant être mise à jour, consultez about_Updatable_Help. Pour plus d’informations sur le fichier XML HelpInfo, consultez Prise en charge de l’aide pouvant être mise à jour.

Exemple 5 - Obtention d’informations sur le module

Cet exemple montre comment obtenir les valeurs de configuration d’un module. Les valeurs du manifeste de module sont reflétées dans les valeurs des propriétés de l’objet module.

L’applet Get-Module de commande est utilisée pour obtenir le module Microsoft.PowerShell.Diagnostics à l’aide du paramètre List . La commande envoie le module à l’applet Format-List de commande pour afficher toutes les propriétés et valeurs de l’objet module.

Get-Module Microsoft.PowerShell.Diagnostics -List | Format-List -Property *

LogPipelineExecutionDetails : False
Name                        : Microsoft.PowerShell.Diagnostics
Path                        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics\Micro
                              soft.PowerShell.Diagnostics.psd1
Definition                  :
Description                 :
Guid                        : ca046f10-ca64-4740-8ff9-2565dba61a4f
HelpInfoUri                 : https://go.microsoft.com/fwlink/?LinkID=210596
ModuleBase                  : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\Microsoft.PowerShell.Diagnostics
PrivateData                 :
Version                     : 3.0.0.0
ModuleType                  : Manifest
Author                      : Microsoft Corporation
AccessMode                  : ReadWrite
ClrVersion                  : 4.0
CompanyName                 : Microsoft Corporation
Copyright                   : Microsoft Corporation. All rights reserved.
DotNetFrameworkVersion      :
ExportedFunctions           : {}
ExportedCmdlets             : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
ExportedCommands            : {[Get-WinEvent, Get-WinEvent], [Get-Counter, Get-Counter], [Import-Counter,
                              Import-Counter], [Export-Counter, Export-Counter]...}
FileList                    : {}
ModuleList                  : {}
NestedModules               : {}
PowerShellHostName          :
PowerShellHostVersion       :
PowerShellVersion           : 3.0
ProcessorArchitecture       : None
Scripts                     : {}
RequiredAssemblies          : {}
RequiredModules             : {}
RootModule                  :
ExportedVariables           : {}
ExportedAliases             : {}
ExportedWorkflows           : {}
SessionState                :
OnRemove                    :
ExportedFormatFiles         : {C:\Windows\system32\WindowsPowerShell\v1.0\Event.format.ps1xml,
                              C:\Windows\system32\WindowsPowerShell\v1.0\Diagnostics.format.ps1xml}
ExportedTypeFiles           : {C:\Windows\system32\WindowsPowerShell\v1.0\GetEvent.types.ps1xml}

Paramètres

-AliasesToExport

Spécifie les alias exportés par le module. Les caractères génériques sont autorisés.

Vous pouvez utiliser ce paramètre pour limiter les alias exportés par le module. Il peut supprimer des alias de la liste des alias exportés, mais il ne peut pas ajouter d’alias à la liste.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé AliasesToExport avec la valeur * (tout), ce qui signifie que tous les alias définis dans le module sont exportés par le manifeste.

Type:String[]
Position:Named
Valeur par défaut:* (all)
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-Author

Spécifie l'auteur du module.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé Author avec le nom de l’utilisateur actuel.

Type:String
Position:Named
Valeur par défaut:Name of the current user
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ClrVersion

Spécifie la version minimale du Common Language Runtime (CLR) de Microsoft .NET Framework dont le module a besoin.

Remarque

Ce paramètre est valide pour l’édition PowerShell Desktop uniquement, comme Windows PowerShell 5.1, et s’applique uniquement aux versions de .NET Framework inférieures à 4.5. Cette exigence n’a aucun effet sur les versions plus récentes de PowerShell ou de .NET Framework.

Type:Version
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CmdletsToExport

Spécifie les applets de commande exportées par le module. Les caractères génériques sont autorisés.

Vous pouvez utiliser ce paramètre pour limiter les applets de commande exportées par le module. Il peut supprimer des applets de commande de la liste des applets de commande exportées, mais elle ne peut pas ajouter d’applets de commande à la liste.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé CmdletsToExport avec la valeur (tout), ce qui signifie que toutes les applets de * commande définies dans le module sont exportées par le manifeste.

Type:String[]
Position:Named
Valeur par défaut:* (all)
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-CompanyName

Identifie la société ou le fournisseur qui a créé le module.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé CompanyName avec la valeur « Unknown ».

Type:String
Position:Named
Valeur par défaut:"Unknown"
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CompatiblePSEditions

Spécifie les PSEditions compatibles du module. Pour plus d’informations sur PSEdition, consultez Modules avec les éditions PowerShell compatibles.

Type:String[]
Valeurs acceptées:Desktop, Core
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter la commande cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Spécifie une déclaration de copyright pour le module.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé copyright avec une valeur d’emplacement de (c) <year> <username>. All rights reserved. <year> l’année en cours et <username> est la valeur de la clé Auteur .

Type:String
Position:Named
Valeur par défaut:(c) <year> <username>. All rights reserved.
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DefaultCommandPrefix

Spécifie un préfixe qui est ajouté aux noms de toutes les commandes du module lorsqu’elles sont importées dans une session. Entrez une chaîne de préfixe. Les préfixes empêchent les conflits de noms de commande dans la session d'un utilisateur.

Les utilisateurs de module peuvent remplacer ce préfixe en spécifiant le paramètre Préfixe de l’applet Import-Module de commande.

Ce paramètre a été introduit dans PowerShell 3.0.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Description

Décrit le contenu du module.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DotNetFrameworkVersion

Spécifie la version minimale de Microsoft .NET Framework dont le module a besoin.

Remarque

Ce paramètre est valide pour l’édition PowerShell Desktop uniquement, comme Windows PowerShell 5.1, et s’applique uniquement aux versions de .NET Framework inférieures à 4.5. Cette exigence n’a aucun effet sur les versions plus récentes de PowerShell ou de .NET Framework.

Type:Version
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DscResourcesToExport

Spécifie les ressources DSC (Desired State Configuration) que le module exporte. Les caractères génériques sont autorisés.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-ExternalModuleDependencies

Une liste de modules externes dont dépend ce module.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-FileList

Spécifie tous les éléments qui sont inclus dans le module.

Cette clé est conçue pour agir en tant qu'inventaire de module. Les fichiers répertoriés dans la clé sont inclus lorsque le module est publié, mais toutes les fonctions ne sont pas exportées automatiquement.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-FormatsToProcess

Spécifie les fichiers de mise en forme (.ps1xml) qui s’exécutent lorsque le module est importé.

Lorsque vous importez un module, PowerShell exécute l’applet Update-FormatData de commande avec les fichiers spécifiés. Étant donné que les fichiers de mise en forme ne sont pas limités, ils affectent tous les états de session de la session.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-FunctionsToExport

Spécifie les fonctions exportées par le module. Les caractères génériques sont autorisés.

Vous pouvez utiliser ce paramètre pour limiter les fonctions exportées par le module. Elle peut supprimer des fonctions de la liste des alias exportés, mais elle ne peut pas ajouter de fonctions à la liste.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé FunctionsToExport avec la valeur * (tout), ce qui signifie que toutes les fonctions définies dans le module sont exportées par le manifeste.

Type:String[]
Position:Named
Valeur par défaut:* (all)
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-Guid

Spécifie un identificateur unique pour le module. Le GUID peut être utilisé pour distinguer les modules du même nom.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé GUID dans le manifeste et génère un GUID pour la valeur.

Pour créer un GUID dans PowerShell, tapez [guid]::NewGuid().

Type:Guid
Position:Named
Valeur par défaut:A GUID generated for the module
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-HelpInfoUri

Spécifie l’adresse Internet du fichier XML HelpInfo pour le module. Entrez un URI (Uniform Resource Identifier) qui commence par http ou https.

Le fichier XML HelpInfo prend en charge la fonctionnalité d’aide pouvant être mise à jour qui a été introduite dans PowerShell 3.0. Il contient des informations sur l'emplacement des fichiers d'aide téléchargeables pour le module, et les numéros de version des fichiers d'aide les plus récents pour chacun des paramètres régionaux pris en charge.

Pour plus d’informations sur l’aide pouvant être mise à jour, consultez about_Updatable_Help. Pour plus d’informations sur le fichier XML HelpInfo, consultez Prise en charge de l’aide pouvant être mise à jour.

Ce paramètre a été introduit dans PowerShell 3.0.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques: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
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-LicenseUri

Spécifie l’URL des termes de licence pour le module.

Type:Uri
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ModuleList

Répertorie tous les modules qui sont inclus dans ce module.

Entrez chaque nom de module sous forme de chaîne ou sous forme de table de hachage avec les clés ModuleName et ModuleVersion . La table de hachage peut également avoir une clé GUID facultative. Vous pouvez combiner des chaînes et des tables de hachage dans la valeur du paramètre.

Cette clé est conçue pour agir en tant qu'inventaire de module. Les modules répertoriés dans la valeur de cette clé ne sont pas traités automatiquement.

Type:Object[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ModuleVersion

Spécifie la version du module.

Ce paramètre n’est pas obligatoire, mais une clé ModuleVersion est requise dans le manifeste. Si vous omettez ce paramètre, New-ModuleManifest crée une clé ModuleVersion avec la valeur 1.0.

Type:Version
Position:Named
Valeur par défaut:1.0
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-NestedModules

Spécifie les modules de script (.psm1) et les modules binaires (.dll) importés dans l’état de session du module. Les fichiers de la clé NestedModules s’exécutent dans l’ordre dans lequel ils sont répertoriés dans la valeur.

Entrez chaque nom de module sous forme de chaîne ou sous forme de table de hachage avec les clés ModuleName et ModuleVersion . La table de hachage peut également avoir une clé GUID facultative. Vous pouvez combiner des chaînes et des tables de hachage dans la valeur du paramètre.

En règle générale, les modules imbriqués contiennent les commandes dont le module racine a besoin pour son traitement interne. Par défaut, les commandes des modules imbriqués sont exportées à partir de l’état de session du module dans l’état de session de l’appelant, mais le module racine peut restreindre les commandes qu’il exporte. Par exemple, à l’aide d’une Export-ModuleMember commande.

Les modules imbriqués dans l’état de session du module sont disponibles pour le module racine, mais ils ne sont pas retournés par une Get-Module commande dans l’état de session de l’appelant.

Les scripts (.ps1) répertoriés dans la clé NestedModules sont exécutés dans l’état de session du module, et non dans l’état de session de l’appelant. Pour exécuter un script dans l’état de session de l’appelant, répertoriez le nom du fichier de script dans la valeur de la clé ScriptsToProcess dans le manifeste.

Type:Object[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PassThru

Écrit le manifeste de module résultant dans la console et crée un .psd1 fichier. Par défaut, cette applet de commande ne génère aucune sortie.

Type:SwitchParameter
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie le chemin d'accès et le nom de fichier du nouveau manifeste de module. Entrez un chemin d’accès et un nom de fichier avec une .psd1 extension de nom de fichier, par $pshome\Modules\MyModule\MyModule.psd1exemple . Le paramètre Path est requis.

Si vous spécifiez le chemin d’accès à un fichier existant, New-ModuleManifest remplace le fichier sans avertissement, sauf si le fichier a l’attribut en lecture seule.

Le manifeste doit se trouver dans le répertoire du module et le nom du fichier manifeste doit être identique au nom du répertoire du module, mais avec une .psd1 extension de nom de fichier.

Remarque

Vous ne pouvez pas utiliser de variables, telles que $PSHOME ou $HOME, en réponse à une invite pour obtenir une valeur de paramètre Path . Pour utiliser une variable, incluez le paramètre Path dans la commande.

Type:String
Position:1
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PowerShellHostName

Spécifie le nom du programme hôte PowerShell requis par le module. Entrez le nom du programme hôte, tel que l’hôte Windows PowerShell ISE ou ConsoleHost. Les caractères génériques ne sont pas autorisés.

Pour trouver le nom d’un programme hôte, dans le programme, tapez $Host.Name.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PowerShellHostVersion

Spécifie la version minimale du programme hôte PowerShell qui fonctionne avec le module. Entrez un numéro de version, par exemple 1.1.

Type:Version
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PowerShellVersion

Spécifie la version minimale de PowerShell qui fonctionne avec ce module. Par exemple, vous pouvez entrer 1.0, 2.0 ou 3.0 comme valeur du paramètre. Il doit être au format X.X. Par exemple, si vous envoyez 5, PowerShell génère une erreur.

Type:Version
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Prerelease

Chaîne de préversion de ce module. L’ajout d’une chaîne de préversion identifie le module en tant que version préliminaire. Lorsque le module est publié dans PowerShell Gallery, ces données sont utilisées pour identifier les packages de préversion. Pour acquérir des packages de préversion à partir de la galerie, vous devez utiliser le paramètre AllowPrerelease avec les commandes Find-ModulePowerShellGet , et Save-ModuleUpdate-ModuleInstall-Module.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PrivateData

Spécifie les données transmises au module lorsqu’elles sont importées.

Type:Object
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ProcessorArchitecture

Spécifie l'architecture de processeur dont le module a besoin. Les valeurs valides sont x86, AMD64, IA64, MSIL et None (inconnues ou non spécifiées).

Type:ProcessorArchitecture
Valeurs acceptées:None, MSIL, X86, IA64, Amd64, Arm
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ProjectUri

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

Type:Uri
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ReleaseNotes

Spécifie les notes de publication.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RequiredAssemblies

Spécifie les fichiers d’assembly (.dll) requis par le module. Entrez les noms de fichiers d'assembly. PowerShell charge les assemblys spécifiés avant de mettre à jour des types ou des formats, d’importer des modules imbriqués ou d’importer le fichier de module spécifié dans la valeur de la clé RootModule .

Utilisez ce paramètre pour répertorier tous les assemblys requis par le module, y compris les assemblys qui doivent être chargés pour mettre à jour les fichiers de mise en forme ou de type répertoriés dans les clés FormatsToProcess ou TypesToProcess, même si ces assemblys sont également répertoriés en tant que modules binaires dans la clé NestedModules.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RequiredModules

Spécifie les modules qui doivent être dans l'état de session global. Si les modules requis ne sont pas dans l’état de session global, PowerShell les importe. Si les modules requis ne sont pas disponibles, la Import-Module commande échoue.

Entrez chaque nom de module sous forme de chaîne ou sous forme de table de hachage avec les clés ModuleName et ModuleVersion . La table de hachage peut également avoir une clé GUID facultative. Vous pouvez combiner des chaînes et des tables de hachage dans la valeur du paramètre.

Dans PowerShell 2.0, Import-Module n’importe pas automatiquement les modules requis. Elle vérifie simplement que les modules obligatoires se trouvent dans l'état de session global.

Type:Object[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RequireLicenseAcceptance

Indicateur pour indiquer si le module nécessite l’acceptation explicite de l’utilisateur pour l’installation, la mise à jour ou l’enregistrement.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-RootModule

Spécifie le fichier principal ou racine du module. Entrez le nom de fichier d’un script (), un module de.ps1 script (.psm1), un manifeste de module(.psd1), un assembly (.dll), un fichier XML de définition d’applet de commande (.cdxml) ou un workflow (.xaml). Quand le module est importé, les membres exportés à partir du fichier de module racine sont importés dans l'état de session de l'appelant.

Si un module a un fichier manifeste et qu’aucun fichier racine n’a été désigné dans la clé RootModule , le manifeste devient le fichier principal du module et le module devient un module manifeste (ModuleType = Manifeste).

Pour exporter des membres depuis .psm1 ou .dll des fichiers dans un module qui a un manifeste, les noms de ces fichiers doivent être spécifiés dans les valeurs des clés RootModule ou NestedModules dans le manifeste. Sinon, leurs membres ne sont pas exportés.

Remarque

Dans PowerShell 2.0, cette clé a été appelée ModuleToProcess. Vous pouvez utiliser le nom du paramètre RootModule ou son alias ModuleToProcess .

Type:String
Alias:ModuleToProcess
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ScriptsToProcess

Spécifie les fichiers de script (.ps1) qui s’exécutent dans l’état de session de l’appelant lorsque le module est importé. Vous pouvez utiliser ces scripts pour préparer un environnement, tout comme vous pouvez utiliser un script de connexion.

Pour spécifier des scripts qui s’exécutent dans l’état de session du module, utilisez la clé NestedModules .

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Tags

Spécifie un tableau de balises.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-TypesToProcess

Spécifie les fichiers de type (.ps1xml) qui s’exécutent lorsque le module est importé.

Lorsque vous importez le module, PowerShell exécute l’applet Update-TypeData de commande avec les fichiers spécifiés. Étant donné que les fichiers de type ne sont pas délimités, ils affectent tous les états de session de la session.

Type:String[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-VariablesToExport

Spécifie les variables exportées par le module. Les caractères génériques sont autorisés.

Vous pouvez utiliser ce paramètre pour limiter les variables exportées par le module. Elle peut supprimer des variables de la liste des variables exportées, mais elle ne peut pas ajouter de variables à la liste.

Si vous omettez ce paramètre, New-ModuleManifest crée une clé VariablesToExport avec la valeur * (tout), ce qui signifie que toutes les variables définies dans le module sont exportées par le manifeste.

Type:String[]
Position:Named
Valeur par défaut:* (all)
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:True

-WhatIf

Affiche ce qui se passe si New-ModuleManifest des exécutions sont exécutées. La commande cmdlet n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

String

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne une chaîne représentant le manifeste du module.

Notes

New-ModuleManifests’exécutant sur des plateformes Windows et non-Windows crée des fichiers de manifeste de module (.psd1) encodés en UTF8NoBOM.

Les manifestes de module sont généralement facultatifs. Toutefois, un manifeste de module est nécessaire pour exporter un assembly installé dans le Global Assembly Cache.

Pour ajouter ou modifier des fichiers dans le $pshome\Modules répertoire, démarrez PowerShell avec l’option Exécuter en tant qu’administrateur .

Remarque

À compter de PowerShell 6.2, PowerShell tente de charger tous les fichiers DLL répertoriés dans la propriété FileList du manifeste du module. Les DLL natives se trouve dans fileList ne parviennent pas à se charger dans le processus et l’erreur est ignorée. Toutes les DLL managées sont chargées dans le processus. Ce comportement a été supprimé dans PowerShell 7.1.

Dans PowerShell 2.0, de nombreux paramètres New-ModuleManifest étaient obligatoires, même s’ils n’étaient pas obligatoires dans un manifeste de module. À compter de PowerShell 3.0, seul le paramètre Path est obligatoire.

Une session est une instance de l’environnement d’exécution PowerShell. Une session peut avoir un ou plusieurs états de session. Par défaut, une session possède uniquement un état de session global, mais chaque module importé a son propre état de session. Les états de session permettent aux commandes de s'exécuter dans un module sans affecter l'état de session global.

L’état de session de l’appelant est l’état de session dans lequel un module est importé. En règle générale, il fait référence à l’état de session global, mais lorsqu’un module importe des modules imbriqués, l’appelant est le module et l’état de session de l’appelant est l’état de session du module.