Export-ModuleMember
Spécifie les membres du module exportés.
Syntaxe
Export-ModuleMember
[[-Function] <String[]>]
[-Cmdlet <String[]>]
[-Variable <String[]>]
[-Alias <String[]>]
[<CommonParameters>]
Description
L’applet de commande Export-ModuleMember
Si un module de script n’inclut pas de commande Export-ModuleMember, les fonctions et les alias du module de script sont exportés, mais les variables ne le sont pas. Lorsqu’un module de script inclut commandes Export-ModuleMember, seuls les membres spécifiés dans les commandes Export-ModuleMember sont exportés. Vous pouvez également utiliser Export-ModuleMember pour supprimer ou exporter des membres que le module de script importe à partir d’autres modules.
Une commande Export-ModuleMember est facultative, mais il s’agit d’une bonne pratique. Même si la commande confirme les valeurs par défaut, elle illustre l’intention de l’auteur du module.
Exemples
Exemple 1 : Exporter des fonctions et des alias dans un module de script
Export-ModuleMember -Function * -Alias *
Cette commande exporte toutes les fonctions et alias définis dans le module de script.
Exemple 2 : Exporter des alias et fonctions spécifiques
Export-ModuleMember -Function Get-Test, New-Test, Start-Test -Alias gtt, ntt, stt
Cette commande exporte trois alias et trois fonctions définies dans le module de script.
Vous pouvez utiliser ce format de commande pour spécifier les noms des membres du module.
Exemple 3 : Exporter aucun membre
Export-ModuleMember
Cette commande spécifie qu’aucun membre défini dans le module de script n’est exporté.
Cette commande empêche les membres du module d’être exportés, mais ne masque pas les membres. Les utilisateurs peuvent lire et copier des membres du module ou utiliser l’opérateur d’appel (&) pour appeler les membres du module qui ne sont pas exportés.
Exemple 4 : Exporter une variable spécifique
Export-ModuleMember -Variable increment
Cette commande exporte uniquement la variable $increment à partir du module de script. Aucun autre membre n’est exporté.
Si vous souhaitez exporter une variable, en plus d’exporter les fonctions dans un module, la commande Export-ModuleMember doit inclure les noms de toutes les fonctions et le nom de la variable.
Exemple 5 : Plusieurs commandes d’exportation
# From TestModule.psm1
Function New-Test
{
Write-Output 'I am New-Test function'
}
Export-ModuleMember -Function New-Test
function Validate-Test
{
Write-Output 'I am Validate-Test function'
}
function Start-Test
{
Write-Output 'I am Start-Test function'
}
Set-Alias stt Start-Test
Export-ModuleMember -Function Start-Test -Alias stt
Ces commandes montrent comment plusieurs commandes Export-ModuleMember sont interprétées dans un fichier de module de script (.psm1).
Ces commandes créent trois fonctions et un alias, puis exportent deux des fonctions et l’alias.
Sans les commandes Export-ModuleMember
Exemple 6 : Exporter des membres dans un module dynamique
New-Module -Script {function SayHello {"Hello!"}; Set-Alias Hi SayHello; Export-ModuleMember -Alias Hi -Function SayHello}
Cette commande montre comment utiliser Export-ModuleMember dans un module dynamique créé à l’aide de la cmdlet New-Module.
Dans cet exemple, Export-ModuleMember est utilisé pour exporter à la fois l’alias Hi et la fonction SayHello dans le module dynamique.
Exemple 7 : Déclarer et exporter une fonction dans une seule commande
# From TestModule.psm1
function Export
{
param (
[Parameter(Mandatory=$true)]
[ValidateSet("function","variable")]
$Type,
[Parameter(Mandatory=$true)]
$Name,
[Parameter(Mandatory=$true)]
$Value
)
if ($Type -eq "function")
{
Set-item "function:script:$Name" $Value
Export-ModuleMember $Name
}
else
{
Set-Variable -scope Script $Name $Value
Export-ModuleMember -variable $Name
}
}
Export function New-Test {Write-Output 'I am New-Test function'}
function helper {Write-Output 'I am helper function'}
Export variable Interval 0
$Interval = 2
Cet exemple inclut une fonction nommée Export qui déclare une fonction ou crée une variable, puis écrit une commande Export-ModuleMember
pour la fonction ou la variable.
Cela vous permet de déclarer et d’exporter une fonction ou une variable dans une seule commande.
Pour utiliser la fonction d’exportation
Pour exporter une variable, utilisez le format suivant pour déclarer la variable et définir sa valeur :
Export variable <variable-name> <value>
Les commandes de l’exemple affichent le format correct. Dans cet exemple, seule la fonction New-Test et la variable $Interval sont exportées.
Paramètres
-Alias
Spécifie les alias exportés à partir du fichier de module de script. Entrez les noms d’alias. 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: | True |
Accepter les caractères génériques: | True |
-Cmdlet
Spécifie les applets de commande exportées à partir du fichier de module de script. Entrez les noms des applets de commande. Les caractères génériques sont autorisés.
Vous ne pouvez pas créer d’applets de commande dans un fichier de module de script, mais vous pouvez importer des applets de commande à partir d’un module binaire dans un module de script et les réexporter à partir du module de script.
Type: | String[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Function
Spécifie les fonctions exportées à partir du fichier de module de script. Entrez les noms de fonction. Les caractères génériques sont autorisés. Vous pouvez également diriger des chaînes de nom de fonction vers Export-ModuleMember.
Type: | String[] |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-Variable
Spécifie les variables exportées à partir du fichier de module de script. Entrez les noms des variables, sans signe dollar. 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: | True |
Accepter les caractères génériques: | True |
Entrées
Vous pouvez diriger des chaînes de nom de fonction vers cette applet de commande.
Sorties
None
Cette applet de commande ne génère aucune sortie.
Notes
- Pour exclure un membre de la liste des membres exportés, ajoutez une commande Export-ModuleMember qui répertorie tous les autres membres, mais omet le membre que vous souhaitez exclure.