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 l’applet de commande.
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 |
-Copyright
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.psd1
exemple . 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-Module
PowerShellGet , et Save-Module
Update-Module
Install-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. L’applet de commande 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.
Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne une chaîne représentant le manifeste du module.
Notes
New-ModuleManifest
s’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.