Partager via


Import-Module

Ajoute des modules à la session active.

Syntaxe

Name (Par défaut)

Import-Module
    [-Name] <String[]>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-MinimumVersion <Version>]
    [-MaximumVersion <String>]
    [-RequiredVersion <Version>]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

PSSession

Import-Module
    [-Name] <String[]>
    -PSSession <PSSession>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-MinimumVersion <Version>]
    [-MaximumVersion <String>]
    [-RequiredVersion <Version>]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

CimSession

Import-Module
    [-Name] <String[]>
    -CimSession <CimSession>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-MinimumVersion <Version>]
    [-MaximumVersion <String>]
    [-RequiredVersion <Version>]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [-CimResourceUri <Uri>]
    [-CimNamespace <String>]
    [<CommonParameters>]

UseWindowsPowerShell

Import-Module
    [-Name] <string[]>
    -UseWindowsPowerShell
    [-Global]
    [-Prefix <string>]
    [-Function <string[]>]
    [-Cmdlet <string[]>]
    [-Variable <string[]>]
    [-Alias <string[]>]
    [-Force]
    [-PassThru]
    [-AsCustomObject]
    [-MinimumVersion <version>]
    [-MaximumVersion <string>]
    [-RequiredVersion <version>]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <string>]
    [<CommonParameters>]

FullyQualifiedName

Import-Module
    [-FullyQualifiedName] <ModuleSpecification[]>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

FullyQualifiedNameAndPSSession

Import-Module
    [-FullyQualifiedName] <ModuleSpecification[]>
    -PSSession <PSSession>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

FullyQualifiedNameAndUseWindowsPowerShell

Import-Module
    [-FullyQualifiedName] <ModuleSpecification[]>
    -UseWindowsPowerShell
    [-Global]
    [-Prefix <string>]
    [-Function <string[]>]
    [-Cmdlet <string[]>]
    [-Variable <string[]>]
    [-Alias <string[]>]
    [-Force]
    [-PassThru]
    [-AsCustomObject]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <string>]
    [<CommonParameters>]

Assembly

Import-Module
    [-Assembly] <Assembly[]>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

ModuleInfo

Import-Module
    [-ModuleInfo] <PSModuleInfo[]>
    [-Global]
    [-Prefix <String>]
    [-Function <String[]>]
    [-Cmdlet <String[]>]
    [-Variable <String[]>]
    [-Alias <String[]>]
    [-Force]
    [-SkipEditionCheck]
    [-PassThru]
    [-AsCustomObject]
    [-ArgumentList <Object[]>]
    [-DisableNameChecking]
    [-NoClobber]
    [-Scope <String>]
    [<CommonParameters>]

Description

L’applet de commande Import-Module ajoute un ou plusieurs modules à la session active. À compter de PowerShell 3.0, les modules installés sont automatiquement importés dans la session lorsque vous utilisez des commandes ou des fournisseurs dans le module. Toutefois, vous pouvez toujours utiliser la Import-Module commande pour importer un module. Vous pouvez désactiver l’importation automatique de modules à l’aide de la $PSModuleAutoLoadingPreference variable de préférence. Pour plus d’informations sur la variable $PSModuleAutoLoadingPreference, consultez about_Preference_Variables.

Un module est un package qui contient des membres qui peuvent être utilisés dans PowerShell. Les membres incluent des applets de commande, des fournisseurs, des scripts, des fonctions, des variables et d’autres outils et fichiers. Une fois qu’un module est importé, vous pouvez utiliser les membres du module dans votre session. Pour plus d’informations sur les modules, consultez about_Modules.

Par défaut, Import-Module importe tous les membres exportés par le module, mais vous pouvez utiliser les paramètres Alias, Fonction, Applet de commande et Variable pour restreindre les membres importés. Le paramètre NoClobber empêche Import-Module l’importation de membres ayant les mêmes noms que les membres de la session active.

Import-Module importe un module uniquement dans la session active. Pour importer le module dans chaque nouvelle session, ajoutez une Import-Module commande à votre profil PowerShell. Pour plus d’informations sur les profils, consultez about_Profiles.

Vous pouvez gérer les ordinateurs Windows distants avec la communication à distance PowerShell activée en créant une session PSSession sur l’ordinateur distant. Utilisez ensuite le paramètre PSSession pour Import-Module importer les modules installés sur l’ordinateur distant. Lorsque vous utilisez les commandes importées dans la session active, les commandes s’exécutent implicitement sur l’ordinateur distant.

À compter de Windows PowerShell 3.0, vous pouvez utiliser Import-Module pour importer des modules CIM (Common Information Model). Les modules CIM définissent les applets de commande dans les fichiers CDXML (Cmdlet Definition XML). Cette fonctionnalité vous permet d’utiliser des applets de commande implémentées dans des assemblys de code non managés, tels que ceux écrits en C++.

Pour les ordinateurs distants qui n’ont pas activé la communication à distance PowerShell, y compris les ordinateurs qui n’exécutent pas le système d’exploitation Windows, vous pouvez utiliser le paramètre CimSession de Import-Module pour importer des modules CIM à partir de l’ordinateur distant. Les commandes importées s’exécutent implicitement sur l’ordinateur distant. Une session CIMSession est une connexion à Windows Management Instrumentation (WMI) sur l’ordinateur distant.

Exemples

Exemple 1 : Importer les membres d’un module dans la session active

Cet exemple importe les membres du module PSDiagnostics dans la session active.

Import-Module -Name PSDiagnostics

Exemple 2 : Importer tous les modules spécifiés par le chemin du module

Cet exemple importe tous les modules disponibles dans le chemin spécifié par la variable d’environnement $Env:PSModulePath dans la session active.

Get-Module -ListAvailable | Import-Module

Exemple 3 : Importer les membres de plusieurs modules dans la session active

Cet exemple importe les membres du PSDiagnostics et modules Dism dans la session active.

$m = Get-Module -ListAvailable PSDiagnostics, Dism
Import-Module -ModuleInfo $m

L’applet de commande Get-Module obtient les PSDiagnostics et modules Dism et enregistre les objets dans la variable $m. Le paramètre ListAvailable est requis lorsque vous obtenez des modules qui ne sont pas encore importés dans la session.

Le paramètre ModuleInfo de Import-Module est utilisé pour importer les modules dans la session active.

Exemple 4 : Importer tous les modules spécifiés par un chemin d’accès

Cet exemple utilise un chemin d’accès explicite pour identifier le module à importer.

Import-Module -Name C:\ps-test\modules\test -Verbose
VERBOSE: Loading module from path 'C:\ps-test\modules\Test\Test.psm1'.
VERBOSE: Exporting function 'my-parm'.
VERBOSE: Exporting function 'Get-Parameter'.
VERBOSE: Exporting function 'Get-Specification'.
VERBOSE: Exporting function 'Get-SpecDetails'.

L’utilisation du paramètre Verbose provoque Import-Module signaler la progression au fur et à mesure qu’elle charge le module. Sans le paramètre Verbose, PassThru ou AsCustomObject , Import-Module ne génère aucune sortie lorsqu’il importe un module.

Exemple 5 : Restreindre les membres du module importés dans une session

Cet exemple montre comment restreindre les membres du module importés dans la session et l’effet de cette commande sur la session. Le paramètre Function limite les membres importés à partir du module. Vous pouvez également utiliser les paramètres Alias, variableet applet de commande pour restreindre les autres membres qu’un module importe.

L’applet de commande obtient l’objet qui représente le module PSDiagnostics . Les ExportedCmdlets propriété répertorient toutes les applets de commande que le module exporte, même si elles n’ont pas toutes été importées.

Import-Module PSDiagnostics -Function Disable-PSTrace, Enable-PSTrace
(Get-Module PSDiagnostics).ExportedCommands
Key                          Value
---                          -----
Disable-PSTrace              Disable-PSTrace
Disable-PSWSManCombinedTrace Disable-PSWSManCombinedTrace
Disable-WSManTrace           Disable-WSManTrace
Enable-PSTrace               Enable-PSTrace
Enable-PSWSManCombinedTrace  Enable-PSWSManCombinedTrace
Enable-WSManTrace            Enable-WSManTrace
Get-LogProperties            Get-LogProperties
Set-LogProperties            Set-LogProperties
Start-Trace                  Start-Trace
Stop-Trace                   Stop-Trace
Get-Command -Module PSDiagnostics
CommandType     Name                 Version    Source
-----------     ----                 -------    ------
Function        Disable-PSTrace      6.1.0.0    PSDiagnostics
Function        Enable-PSTrace       6.1.0.0    PSDiagnostics

L’utilisation du paramètre Module de l’applet Get-Command de commande affiche les commandes qui ont été importées à partir du module PSDiagnostics . Les résultats confirment que seules les applets de commande Disable-PSTrace et Enable-PSTrace ont été importées.

Exemple 6 : Importer les membres d’un module et ajouter un préfixe

Cet exemple importe le module PSDiagnostics dans la session active, ajoute un préfixe aux noms de membres, puis affiche les noms de membres préfixés. Paramètre Préfixe d’ajout Import-Module du x préfixe à tous les membres importés à partir du module. Le préfixe s’applique uniquement aux membres de la session active. Il ne modifie pas le module. Le paramètre PassThru retourne un objet de module qui représente le module importé.

Import-Module PSDiagnostics -Prefix x -PassThru
ModuleType Version    Name               ExportedCommands
---------- -------    ----               ----------------
Script     6.1.0.0    PSDiagnostics      {Disable-xPSTrace, Disable-xPSWSManCombinedTrace, Disable-xW...
Get-Command -Module PSDiagnostics
CommandType     Name                                   Version    Source
-----------     ----                                   -------    ------
Function        Disable-xPSTrace                       6.1.0.0    PSDiagnostics
Function        Disable-xPSWSManCombinedTrace          6.1.0.0    PSDiagnostics
Function        Disable-xWSManTrace                    6.1.0.0    PSDiagnostics
Function        Enable-xPSTrace                        6.1.0.0    PSDiagnostics
Function        Enable-xPSWSManCombinedTrace           6.1.0.0    PSDiagnostics
Function        Enable-xWSManTrace                     6.1.0.0    PSDiagnostics
Function        Get-xLogProperties                     6.1.0.0    PSDiagnostics
Function        Set-xLogProperties                     6.1.0.0    PSDiagnostics
Function        Start-xTrace                           6.1.0.0    PSDiagnostics
Function        Stop-xTrace                            6.1.0.0    PSDiagnostics

Get-Command obtient les membres qui ont été importés à partir du module. La sortie indique que les membres du module ont été correctement préfixés.

Exemple 7 : Obtenir et utiliser un objet personnalisé

Cet exemple montre comment obtenir et utiliser l’objet personnalisé retourné par Import-Module.

Les objets personnalisés incluent des membres synthétiques qui représentent chacun des membres du module importés. Par exemple, les applets de commande et les fonctions d’un module sont converties en méthodes de script de l’objet personnalisé.

Les objets personnalisés sont utiles dans le script. Ils sont également utiles lorsque plusieurs objets importés ont les mêmes noms. L’utilisation de la méthode de script d’un objet équivaut à spécifier le nom complet d’un membre importé, y compris son nom de module.

Le paramètre AsCustomObject est utilisable uniquement lors de l’importation d’un module de script. Permet Get-Module de déterminer quels modules disponibles sont un module de script.

Get-Module -List | Format-Table -Property Name, ModuleType -AutoSize
Name          ModuleType
----          ----------
Show-Calendar     Script
BitsTransfer    Manifest
PSDiagnostics   Manifest
TestCmdlets       Script
...
$a = Import-Module -Name Show-Calendar -AsCustomObject -PassThru
$a | Get-Member
    TypeName: System.Management.Automation.PSCustomObject
Name          MemberType   Definition
----          ----------   ----------
Equals        Method       bool Equals(System.Object obj)
GetHashCode   Method       int GetHashCode()
GetType       Method       type GetType()
ToString      Method       string ToString()
Show-Calendar ScriptMethod System.Object Show-Calendar();
$a."Show-Calendar"()

Le Show-Calendar module de script est importé à l’aide du paramètre AsCustomObject pour demander un objet personnalisé et le paramètre PassThru pour renvoyer l’objet. L’objet personnalisé résultant est enregistré dans la $a variable.

La $a variable est redirigée vers l’applet Get-Member de commande pour afficher les propriétés et méthodes de l’objet enregistré. La sortie affiche une méthode de script Show-Calendar.

Pour appeler la méthode de Show-Calendar script, le nom de la méthode doit être placé entre guillemets, car le nom inclut un trait d’union.

Exemple 8 : Réimporter un module dans la même session

Cet exemple montre comment utiliser le paramètre Force du Import-Module moment où vous importez un module dans la même session. Le paramètre Force supprime le module chargé, puis l’importe à nouveau.

Import-Module PSDiagnostics
Import-Module PSDiagnostics -Force -Prefix PS

La première commande importe le module PSDiagnostics . La deuxième commande importe à nouveau le module, cette fois à l’aide du paramètre préfixe .

Sans le paramètre Force , la session inclurait deux copies de chaque applet de commande PSDiagnostics , une avec le nom standard et l’autre avec le nom préfixé.

Exemple 9 : Exécuter des commandes qui ont été masquées par des commandes importées

Cet exemple montre comment exécuter des commandes masquées par des commandes importées. Le module TestModule inclut une fonction nommée Get-Date qui retourne l’année et le jour de l’année.

Get-Date
Thursday, August 15, 2019 2:26:12 PM
Import-Module TestModule
Get-Date
19227
Get-Command Get-Date -All | Format-Table -Property CommandType, Name, ModuleName -AutoSize
CommandType     Name         ModuleName
-----------     ----         ----------
Function        Get-Date     TestModule
Cmdlet          Get-Date     Microsoft.PowerShell.Utility
Microsoft.PowerShell.Utility\Get-Date
Thursday, August 15, 2019 2:28:31 PM

La première Get-Date applet de commande retourne un objet DateTime avec la date actuelle. Après avoir importé le module TestModule , Get-Date retourne l’année et le jour de l’année.

À l’aide du paramètre All d’afficher Get-Command toutes les Get-Date commandes de la session. Les résultats montrent qu’il existe deux commandes dans la session, une fonction du module TestModule et une applet de commande du module Microsoft.PowerShell.Utility .

Étant donné que les fonctions sont prioritaires sur les applets de commande, la fonction Get-Date à partir du module TestModule s’exécute, au lieu de l’applet de commande Get-Date. Pour exécuter la version d’origine de , vous devez qualifier le nom de Get-Datela commande avec le nom du module.

Pour plus d’informations sur la priorité des commandes dans PowerShell, consultez about_Command_Precedence.

Exemple 10 : Importer une version minimale d’un module

Cet exemple importe le module PowerShellGet . Il utilise le paramètre MinimumVersion de Import-Module pour importer uniquement la version ou une version 2.0.0 ultérieure du module.

Import-Module -Name PowerShellGet -MinimumVersion 2.0.0

Vous pouvez également utiliser le paramètre RequiredVersion pour importer une version particulière d’un module, ou utiliser le Module et paramètres version du mot clé #Requires pour exiger une version particulière d’un module dans un script.

Exemple 11 : Importer à l’aide d’un nom complet

Cet exemple importe une version spécifique d’un module à l’aide de FullyQualifiedName.

PS> Get-Module -ListAvailable PowerShellGet | Select-Object Name, Version

Name          Version
----          -------
PowerShellGet 2.2.1
PowerShellGet 2.1.3
PowerShellGet 2.1.2
PowerShellGet 1.0.0.1

PS> Import-Module -FullyQualifiedName @{ModuleName = 'PowerShellGet'; ModuleVersion = '2.1.3'}

Exemple 12 : Importer à l’aide d’un chemin complet

Cet exemple importe une version spécifique d’un module à l’aide du chemin complet.

PS> Get-Module -ListAvailable PowerShellGet | Select-Object Path

Path
----
C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1
C:\Program Files\PowerShell\6\Modules\PowerShellGet\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\2.1.2\PowerShellGet.psd1
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PowerShellGet.psd1

PS> Import-Module -Name 'C:\Program Files\PowerShell\Modules\PowerShellGet\2.2.1\PowerShellGet.psd1'

Exemple 13 : Importer un module à partir d’un ordinateur distant

Cet exemple montre comment utiliser l’applet de commande Import-Module pour importer un module à partir d’un ordinateur distant. Cette commande utilise la fonctionnalité de communication à distance implicite de PowerShell.

Lorsque vous importez des modules à partir d’une autre session, vous pouvez utiliser les applets de commande dans la session active. Toutefois, les commandes qui utilisent les applets de commande s’exécutent dans la session à distance.

$s = New-PSSession -ComputerName Server01
Get-Module -PSSession $s -ListAvailable -Name NetSecurity
ModuleType Name             ExportedCommands
---------- ----             ----------------
Manifest   NetSecurity      {New-NetIPsecAuthProposal, New-NetIPsecMainModeCryptoProposal, New-Ne...
Import-Module -PSSession $s -Name NetSecurity
Get-Command -Module NetSecurity -Name Get-*Firewall*
CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Function        Get-NetFirewallAddressFilter                       NetSecurity
Function        Get-NetFirewallApplicationFilter                   NetSecurity
Function        Get-NetFirewallInterfaceFilter                     NetSecurity
Function        Get-NetFirewallInterfaceTypeFilter                 NetSecurity
Function        Get-NetFirewallPortFilter                          NetSecurity
Function        Get-NetFirewallProfile                             NetSecurity
Function        Get-NetFirewallRule                                NetSecurity
Function        Get-NetFirewallSecurityFilter                      NetSecurity
Function        Get-NetFirewallServiceFilter                       NetSecurity
Function        Get-NetFirewallSetting                             NetSecurity
Get-NetFirewallRule -DisplayName "Windows Remote Management*" |
  Format-Table -Property DisplayName, Name -AutoSize
DisplayName                                              Name
-----------                                              ----
Windows Remote Management (HTTP-In)                      WINRM-HTTP-In-TCP
Windows Remote Management (HTTP-In)                      WINRM-HTTP-In-TCP-PUBLIC
Windows Remote Management - Compatibility Mode (HTTP-In) WINRM-HTTP-Compat-In-TCP

New-PSSession crée une session distante (PSSession) sur l’ordinateur Server01 . La session PSSession est enregistrée dans la $s variable.

L’exécution Get-Module avec le paramètre PSSession indique que le module NetSecurity est installé et disponible sur l’ordinateur distant. Cette commande équivaut à utiliser l’applet Invoke-Command de commande pour exécuter Get-Module la commande dans la session à distance. Par exemple:

Invoke-Command $s {Get-Module -ListAvailable -Name NetSecurity

L’exécution Import-Module avec le paramètre PSSession importe le module NetSecurity à partir de l’ordinateur distant dans la session active. L’applet Get-Command de commande récupère les commandes qui commencent par Get le module NetSecurity et les incluentFirewall. La sortie confirme que le module et ses applets de commande ont été importés dans la session active.

Ensuite, l’applet Get-NetFirewallRule de commande obtient des règles de pare-feu de gestion à distance Windows sur l’ordinateur Server01 . Cela équivaut à utiliser l’applet Invoke-Command de commande pour s’exécuter Get-NetFirewallRule sur la session à distance.

Exemple 14 : Gérer le stockage sur un ordinateur distant sans le système d’exploitation Windows

Dans cet exemple, l’administrateur de l’ordinateur a installé le fournisseur WMI de découverte de modules, ce qui vous permet d’utiliser des commandes CIM conçues pour le fournisseur.

L’applet New-CimSession de commande crée une session sur l’ordinateur distant nommé RSDGF03. La session se connecte au service WMI sur l’ordinateur distant. La session CIM est enregistrée dans la $cs variable. Import-Module utilise cimSession in $cs pour importer le module CIM de stockage à partir de l’ordinateur RSDGF03 .

L’applet Get-Command de commande affiche la Get-Disk commande dans le module De stockage . Lorsque vous importez un module CIM dans la session locale, PowerShell convertit les fichiers CDXML pour chaque commande en scripts PowerShell, qui apparaissent en tant que fonctions dans la session locale.

Bien qu’elle Get-Disk soit typée dans la session locale, l’applet de commande s’exécute implicitement sur l’ordinateur distant à partir duquel elle a été importée. La commande retourne des objets de l’ordinateur distant à la session locale.

$cs = New-CimSession -ComputerName RSDGF03
Import-Module -CimSession $cs -Name Storage
# Importing a CIM module, converts the CDXML files for each command into
# PowerShell scripts. These appear as functions in the local session.
Get-Command Get-Disk
CommandType     Name                  ModuleName
-----------     ----                  ----------
Function        Get-Disk              Storage
# Use implicit remoting to query disks on the remote computer from which the
# module was imported.
Get-Disk
Number Friendly Name           OperationalStatus  Total Size Partition Style
------ -------------           -----------------  ---------- ---------------
0      Virtual HD ATA Device   Online                  40 GB MBR

Paramètres

-Alias

Spécifie les alias que cette applet de commande importe à partir du module dans la session active. Entrez une liste séparée par des virgules d’alias. Les caractères génériques sont autorisés.

Certains modules exportent automatiquement les alias sélectionnés dans votre session lorsque vous importez le module. Ce paramètre vous permet de sélectionner parmi les alias exportés.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-ArgumentList

Spécifie un tableau d’arguments ou de valeurs de paramètre qui sont passés à un module de script pendant la commande Import-Module. Ce paramètre est valide uniquement lorsque vous importez un module de script.

Vous pouvez également faire référence au paramètre ArgumentList par son alias, arguments. Pour plus d'informations sur le comportement d'ArgumentList, voir about_Splatting.

Propriétés du paramètre

Type:

Object[]

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

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

-AsCustomObject

Indique que cette applet de commande retourne un objet personnalisé avec des membres qui représentent les membres du module importés. Ce paramètre est valide uniquement pour les modules de script.

Lorsque vous utilisez le paramètre AsCustomObject, Import-Module importe les membres du module dans la session, puis retourne un objet PSCustomObject au lieu d’un objet PSModuleInfo. Vous pouvez enregistrer l’objet personnalisé dans une variable et utiliser l’énumération d’accès aux membres pour appeler les membres.

Propriétés du paramètre

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

-Assembly

Spécifie un tableau d’objets d’assembly. Cette applet de commande importe les applets de commande et les fournisseurs implémentés dans les objets d’assembly spécifiés. Entrez une variable qui contient des objets d’assembly ou une commande qui crée des objets d’assembly. Vous pouvez également diriger un objet assembly vers Import-Module.

Lorsque vous utilisez ce paramètre, seules les applets de commande et les fournisseurs implémentés par les assemblys spécifiés sont importés. Si le module contient d’autres fichiers, ils ne sont pas importés et vous manquez peut-être des membres importants du module. Utilisez ce paramètre pour le débogage et le test du module, ou lorsque vous êtes invité à l’utiliser par l’auteur du module.

Propriétés du paramètre

Type:

Assembly[]

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

Jeux de paramètres

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

-CimNamespace

Spécifie l’espace de noms d’un autre fournisseur CIM qui expose les modules CIM. La valeur par défaut est l’espace de noms du fournisseur WMI de découverte de modules.

Utilisez ce paramètre pour importer des modules CIM à partir d’ordinateurs et d’appareils qui n’exécutent pas de système d’exploitation Windows.

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

Propriétés du paramètre

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

Jeux de paramètres

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

-CimResourceUri

Spécifie un autre emplacement pour les modules CIM. La valeur par défaut est l’URI de ressource du fournisseur WMI de découverte de modules sur l’ordinateur distant.

Utilisez ce paramètre pour importer des modules CIM à partir d’ordinateurs et d’appareils qui n’exécutent pas de système d’exploitation Windows.

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

Propriétés du paramètre

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

Jeux de paramètres

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

-CimSession

Spécifie une session CIM sur l’ordinateur distant. Entrez une variable qui contient la session CIM ou une commande qui obtient la session CIM, telle qu’une commande Get-CimSession .

Import-Module utilise la connexion de session CIM pour importer des modules à partir de l’ordinateur distant dans la session active. Lorsque vous utilisez les commandes du module importé dans la session active, les commandes s’exécutent sur l’ordinateur distant.

Vous pouvez utiliser ce paramètre pour importer des modules à partir d’ordinateurs et d’appareils qui n’exécutent pas le système d’exploitation Windows et les ordinateurs Windows qui ont PowerShell, mais qui n’ont pas activé la communication à distance PowerShell.

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

Propriétés du paramètre

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

Jeux de paramètres

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

-Cmdlet

Spécifie un tableau d’applets de commande que cette applet de commande importe à partir du module dans la session active. Les caractères génériques sont autorisés.

Certains modules exportent automatiquement les applets de commande sélectionnées dans votre session lorsque vous importez le module. Ce paramètre vous permet de sélectionner parmi les applets de commande exportées.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-DisableNameChecking

Indique que cette applet de commande supprime le message qui vous avertit lorsque vous importez une applet de commande ou une fonction dont le nom inclut un verbe non approuvé ou un caractère interdit.

Par défaut, lorsqu’un module que vous importez exporte des applets de commande ou des fonctions qui ont des verbes non approuvés dans leurs noms, PowerShell affiche le message d’avertissement suivant :

AVERTISSEMENT : Certains noms de commandes importés incluent des verbes non approuvés qui peuvent les rendre moins détectables. Utilisez le paramètre Verbose pour plus de détails ou de type Get-Verb pour afficher la liste des verbes approuvés.

Ce message n’est qu’un avertissement. Le module complet est toujours importé, y compris les commandes non conformes. Bien que le message s’affiche aux utilisateurs du module, le problème de nommage doit être résolu par l’auteur du module.

Propriétés du paramètre

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

-Force

Ce paramètre entraîne le chargement d’un module, ou le rechargement, par-dessus celui actuel. Certains modules chargent des assemblys externes. L’importation échoue si vous importez un module qui charge une version plus récente d’un assembly. Le paramètre Force ne peut pas remplacer l’erreur. Vous devez démarrer une nouvelle session pour charger la nouvelle version.

Propriétés du paramètre

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

-FullyQualifiedName

La valeur peut être un nom de module, une spécification complète du module ou un chemin d’accès à un fichier de module.

Lorsque la valeur est un chemin d’accès, le chemin d’accès peut être qualifié ou relatif complet. Un chemin relatif est résolu par rapport au script qui contient l’instruction using.

Lorsque la valeur est un nom ou une spécification de module, PowerShell recherche le PSModulePath pour le module spécifié.

Une spécification de module est une table de hachage qui a les clés suivantes.

  • ModuleName - Obligatoire Spécifie le nom du module.
  • GUID - facultatif spécifie le GUID du module.
  • Il est également obligatoire pour spécifier au moins l’une des trois clés ci-dessous.
    • ModuleVersion : spécifie une version minimale acceptable du module.
    • MaximumVersion : spécifie la version maximale acceptable du module.
    • RequiredVersion : spécifie une version exacte et requise du module. Cela ne peut pas être utilisé avec les autres clés de version.

Propriétés du paramètre

Type:

ModuleSpecification[]

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

Jeux de paramètres

FullyQualifiedName
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
FullyQualifiedNameAndPSSession
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
FullyQualifiedNameAndWinCompat
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Function

Spécifie un tableau de fonctions que cette applet de commande importe à partir du module dans la session active. Les caractères génériques sont autorisés. Certains modules exportent automatiquement les fonctions sélectionnées dans votre session lorsque vous importez le module. Ce paramètre vous permet de sélectionner parmi les fonctions exportées.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

-Global

Indique que cette applet de commande importe des modules dans l’état de session global afin qu’ils soient disponibles pour toutes les commandes de la session.

Par défaut, lorsque Import-Module cmdlet est appelée à partir de l’invite de commandes, du fichier de script ou du scriptblock, toutes les commandes sont importées dans l’état de session global.

Lorsqu’elle est appelée à partir d’un autre module, Import-Module l’applet de commande importe les commandes d’un module, y compris les commandes des modules imbriqués, dans l’état de session du module appelant.

Conseil / Astuce

Vous devez éviter d’appeler Import-Module à partir d’un module. Au lieu de cela, déclarez le module cible en tant que module imbriqué dans le manifeste du module parent. La déclaration de modules imbriqués améliore la détectabilité des dépendances.

Le paramètre Global est équivalent au paramètre Scope avec la valeur Global.

Pour restreindre les commandes qu’un module exporte, utilisez une commande Export-ModuleMember dans le module de script.

Propriétés du paramètre

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

-MaximumVersion

Spécifie une version maximale. Cette applet de commande importe uniquement une version du module inférieure ou égale à la valeur spécifiée. Si aucune version n’est éligible, Import-Module retourne une erreur.

Propriétés du paramètre

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

Jeux de paramètres

Name
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
PSSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WinCompat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MinimumVersion

Spécifie une version minimale. Cette applet de commande importe uniquement une version du module supérieure ou égale à la valeur spécifiée. Utilisez le nom du paramètre MinimumVersion ou son alias, Version. Si aucune version n’est éligible, Import-Module génère une erreur.

Pour spécifier une version exacte, utilisez le paramètre RequiredVersion . Vous pouvez également utiliser les paramètres module de et version du mot clé #Requires pour exiger une version spécifique d’un module dans un script.

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

Propriétés du paramètre

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

Jeux de paramètres

Name
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
PSSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WinCompat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ModuleInfo

Spécifie un tableau d’objets de module à importer. Entrez une variable qui contient les objets de module ou une commande qui obtient les objets de module, comme la commande suivante : Get-Module -ListAvailable. Vous pouvez également diriger des objets de module vers Import-Module.

Propriétés du paramètre

Type:

PSModuleInfo[]

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

Jeux de paramètres

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

-Name

Spécifie les noms des modules à importer. Entrez le nom du module ou le nom d’un fichier dans le module, tel qu’un .psd1, .psm1ou .ps1.dllun fichier. Les chemins d’accès aux fichiers sont facultatifs. Les caractères génériques ne sont pas autorisés. Vous pouvez également diriger les noms de modules et les noms de fichiers vers Import-Module.

Si vous omettez un chemin d’accès, Import-Module recherche le module dans les chemins enregistrés dans la variable d’environnement $Env:PSModulePath.

Spécifiez uniquement le nom du module dans la mesure du possible. Lorsque vous spécifiez un nom de fichier, seuls les membres implémentés dans ce fichier sont importés. Si le module contient d’autres fichiers, ils ne sont pas importés et vous manquez peut-être des membres importants du module.

Remarque

Bien qu’il soit possible d’importer un fichier de script (.ps1) en tant que module, les fichiers de script ne sont généralement pas structurés comme le fichier de modules de script (.psm1). L’importation d’un fichier de script ne garantit pas qu’il est utilisable en tant que module. Pour plus d’informations, consultez about_Modules.

Propriétés du paramètre

Type:

String[]

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

Jeux de paramètres

Name
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
PSSession
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimSession
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WinCompat
Position:0
Obligatoire:True
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-NoClobber

Empêche l’importation de commandes qui ont les mêmes noms que les commandes existantes dans la session active. Par défaut, Import-Module importe toutes les commandes de module exportées.

Les commandes qui ont les mêmes noms peuvent masquer ou remplacer des commandes dans la session. Pour éviter les conflits de noms de commandes dans une session, utilisez les paramètres Préfixe ou NoClobber. Pour plus d’informations sur les conflits de noms et la priorité des commandes, consultez « Modules et conflits de noms » dans about_Modules et about_Command_Precedence.

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

Propriétés du paramètre

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

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

-PassThru

Retourne un objet représentant le module importé. Par défaut, cette applet de commande ne génère aucune sortie.

Propriétés du paramètre

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

-Prefix

Spécifie un préfixe que cette applet de commande ajoute aux noms des membres du module importés.

Utilisez ce paramètre pour éviter les conflits de noms qui peuvent se produire lorsque différents membres de la session ont le même nom. Ce paramètre ne modifie pas le module et n’affecte pas les fichiers importés par le module pour sa propre utilisation. Ces modules sont appelés modules imbriqués. Cette applet de commande affecte uniquement les noms des membres de la session active.

Par exemple, si vous spécifiez le préfixe UTC, puis importez une Get-Date applet de commande, l’applet de commande est connue dans la session Get-UTCDateet elle n’est pas confondue avec l’applet de commande d’origine Get-Date .

La valeur de ce paramètre est prioritaire sur la propriété DefaultCommandPrefix du module, qui spécifie le préfixe par défaut.

Propriétés du paramètre

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

-PSSession

Spécifie une session gérée par l’utilisateur (PSSession) PowerShell à partir de laquelle cette applet de commande importe des modules dans la session active. Entrez une variable qui contient un PSSession ou une commande qui obtient une PSSession, telle qu’une commande Get-PSSession.

Lorsque vous importez un module à partir d’une autre session dans la session active, vous pouvez utiliser les applets de commande du module dans la session active, tout comme vous l’utiliseriez à partir d’un module local. Les commandes qui utilisent les applets de commande distantes s’exécutent dans la session à distance, mais les détails de la communication à distance sont gérés en arrière-plan par PowerShell.

Ce paramètre utilise la fonctionnalité de communication à distance implicite de PowerShell. Il équivaut à utiliser l’applet Import-PSSession de commande pour importer des modules particuliers à partir d’une session.

Import-Module ne peut pas importer de modules PowerShell de base à partir d’une autre session. Les modules PowerShell principaux ont des noms qui commencent par Microsoft.PowerShell.

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

Propriétés du paramètre

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

Jeux de paramètres

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

-RequiredVersion

Spécifie une version du module que cette applet de commande importe. Si la version n’est pas installée, Import-Module génère une erreur.

Par défaut, Import-Module importe le module sans vérifier le numéro de version.

Pour spécifier une version minimale, utilisez le paramètre MinimumVersion. Vous pouvez également utiliser les paramètres module de et version du mot clé #Requires pour exiger une version spécifique d’un module dans un script.

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

Les scripts qui utilisent RequiredVersion pour importer des modules inclus dans les versions existantes du système d’exploitation Windows ne s’exécutent pas automatiquement dans les futures versions du système d’exploitation Windows. Cela est dû au fait que les numéros de version du module PowerShell dans les versions ultérieures du système d’exploitation Windows sont supérieurs aux numéros de version de module dans les versions existantes du système d’exploitation Windows.

Propriétés du paramètre

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

Jeux de paramètres

Name
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
PSSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
WinCompat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Scope

Spécifie une étendue dans laquelle importer le module.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Global. Disponible pour toutes les commandes de la session. Équivaut au paramètre Global.
  • Local. Disponible uniquement dans l’étendue actuelle.

Par défaut, lorsque Import-Module cmdlet est appelée à partir de l’invite de commandes, du fichier de script ou du scriptblock, toutes les commandes sont importées dans l’état de session global. Vous pouvez utiliser le paramètre pour importer du -Scope Local contenu du module dans l’étendue script ou scriptblock.

Lorsqu’elle est appelée à partir d’un autre module, Import-Module applet de commande importe les commandes d’un module, y compris les commandes des modules imbriqués, dans l’état de session de l’appelant. Spécifier ou -Global indiquer que cette applet de -Scope Global commande importe des modules dans l’état de session globale afin qu’ils soient disponibles pour toutes les commandes de la session.

Le paramètre Global est équivalent au paramètre Scope avec la valeur Global.

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

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:Local, Global
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

-SkipEditionCheck

Ignore la vérification sur le CompatiblePSEditions champ.

Autorise le chargement d’un module à partir du répertoire du "$($Env:windir)\System32\WindowsPowerShell\v1.0\Modules" module dans PowerShell Core lorsque ce module ne spécifie Core pas dans le CompatiblePSEditions champ manifeste.

Lors de l’importation d’un module à partir d’un autre chemin, ce commutateur ne fait rien, car la vérification n’est pas effectuée. Sur Linux et macOS, ce commutateur ne fait rien.

Pour plus d’informations, consultez about_PowerShell_Editions.

Avertissement

Import-Module -SkipEditionCheck est toujours susceptible d’échouer à importer un module. Même s’il réussit, l’appel d’une commande à partir du module peut échouer ultérieurement lorsqu’il tente d’utiliser une API incompatible.

Propriétés du paramètre

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

Jeux de paramètres

Name
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
PSSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
CimSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
FullyQualifiedName
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
FullyQualifiedNameAndPSSession
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
Assembly
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
ModuleInfo
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-UseWindowsPowerShell

Charge le module à l’aide de la fonctionnalité de compatibilité Windows PowerShell. Pour plus d’informations, consultez about_Windows_PowerShell_Compatibility .

Propriétés du paramètre

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

Jeux de paramètres

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

-Variable

Spécifie un tableau de variables que cette applet de commande importe à partir du module dans la session active. Entrez une liste de variables. Les caractères génériques sont autorisés.

Certains modules exportent automatiquement les variables sélectionnées dans votre session lorsque vous importez le module. Ce paramètre vous permet de sélectionner parmi les variables exportées.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:True
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

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

Vous pouvez diriger un nom de module vers cette applet de commande.

PSModuleInfo

Vous pouvez diriger un objet de module vers cette applet de commande.

Assembly

Vous pouvez diriger un objet d’assembly vers cette applet de commande.

Sorties

None

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

PSModuleInfo

Si vous spécifiez le paramètre PassThru , l’applet de commande génère un objet System.Management.Automation.PSModuleInfo qui représente le module importé.

PSCustomObject

Si vous spécifiez ensemble les paramètres AsCustomObject et PassThru , l’applet de commande génère un objet PSCustomObject qui représente le module.

Notes

PowerShell inclut les alias suivants pour Import-Module:

  • Toutes les plateformes :

    • ipmo
  • Avant de pouvoir importer un module, le module doit être accessible à votre ordinateur local et inclus dans la PSModulePath variable environnementale. Pour plus d’informations, consultez about_Modules.

    Vous pouvez également utiliser les paramètres PSSession et CimSession pour importer des modules installés sur des ordinateurs distants. Toutefois, les commandes qui utilisent les applets de commande de ces modules s’exécutent dans la session à distance sur l’ordinateur distant.

  • Si vous importez des membres portant le même nom et le même type dans votre session, PowerShell utilise le membre importé en dernier par défaut. Les variables et les alias sont remplacés et les originaux ne sont pas accessibles. Les fonctions, applets de commande et fournisseurs sont simplement ombrées par les nouveaux membres. Ils sont accessibles en sélectionnant le nom de la commande avec le nom de son composant logiciel enfichable, de son module ou de son chemin de fonction.

  • Pour mettre à jour les données de mise en forme des commandes importées à partir d’un module, utilisez l’applet Update-FormatData de commande. Si le fichier de mise en forme d’un module change, utilisez l’applet Update-FormatData de commande pour mettre à jour les données de mise en forme pour les commandes importées. Vous n’avez pas besoin d’importer à nouveau le module.

  • À compter de Windows PowerShell 3.0, les commandes principales installées avec PowerShell sont empaquetées dans les modules. Dans Windows PowerShell 2.0 et dans les programmes hôtes qui créent des sessions de style plus ancien dans les versions ultérieures de PowerShell, les commandes principales sont empaquetées dans les composants logiciels enfichables (PSSnapins). L’exception est Microsoft.PowerShell.Core, qui est toujours un composant logiciel enfichable. En outre, les sessions à distance, telles que celles démarrées par l’applet de commande New-PSSession, sont des sessions de style plus ancien qui incluent des composants logiciels enfichables principaux.

    Pour plus d’informations sur la méthode CreateDefault2 qui crée des sessions de style plus récent avec des modules principaux, consultez la Méthode CreateDefault2.

  • Dans Windows PowerShell 2.0, certaines valeurs de propriété de l’objet de module, telles que les valeurs de propriété ExportedCmdlets et NestedModules , n’ont pas été remplies tant que le module n’a pas été importé.

  • Si vous tentez d’importer un module qui contient des assemblys en mode mixte qui ne sont pas compatibles avec Windows PowerShell 3.0+, Import-Module retourne un message d’erreur comme celui suivant.

    Import-Module : l’assembly en mode mixte est généré sur la version « v2.0.50727 » du runtime et ne peut pas être chargé dans le runtime 4.0 sans informations de configuration supplémentaires.

    Cette erreur se produit lorsqu’un module conçu pour Windows PowerShell 2.0 contient au moins un assembly de module mixte. Assembly de module mixte qui inclut à la fois du code managé et non managé, tel que C++ et C#.

    Pour importer un module qui contient des assemblys en mode mixte, démarrez Windows PowerShell 2.0 à l’aide de la commande suivante, puis réessayez la commande Import-Module.

    powershell.exe -Version 2.0

  • Pour utiliser la fonctionnalité de session CIM, l’ordinateur distant doit avoir WS-Management communication à distance et WMI (Windows Management Instrumentation), qui est l’implémentation Microsoft de la norme CIM (Common Information Model). L’ordinateur doit également avoir le fournisseur WMI de découverte de modules ou un autre fournisseur CIM qui a les mêmes fonctionnalités de base.

    Vous pouvez utiliser la fonctionnalité de session CIM sur les ordinateurs qui n’exécutent pas de système d’exploitation Windows et sur les ordinateurs Windows qui ont PowerShell, mais qui n’ont pas activé la communication à distance PowerShell.

    Vous pouvez également utiliser les paramètres CIM pour obtenir des modules CIM à partir d’ordinateurs sur lesquels la communication à distance PowerShell est activée, y compris l’ordinateur local. Lorsque vous créez une session CIM sur l’ordinateur local, PowerShell utilise DCOM, au lieu de WMI, pour créer la session.

  • Par défaut, Import-Module importe des modules dans l’étendue globale, même lorsqu’ils sont appelés à partir d’une étendue descendante. L’étendue de niveau supérieur et toutes les étendues descendantes ont accès aux éléments exportés du module.

    Dans une étendue descendante, -Scope Local limite l’importation à cette étendue et à toutes ses étendues descendantes. Les étendues parentes ne voient pas les membres importés.

    Remarque

    Get-Module affiche tous les modules chargés dans la session active. Cela inclut les modules chargés localement dans une étendue descendante. Permet Get-Command -Module modulename de voir quels membres sont chargés dans l’étendue actuelle.

  • Import-Module ne charge pas les définitions de classe et d’énumération dans le module. Utilisez l’instruction using module au début de votre script. Cela importe le module, y compris les définitions de classe et d’énumération. Pour plus d’informations, veuillez consulter la section about_Using.

  • Pendant le développement d’un module de script, il est courant d’apporter des modifications au code, puis de charger la nouvelle version du module à l’aide de Import-Module avec le paramètre Force. Cela fonctionne uniquement pour les modifications apportées aux fonctions dans le module racine. Import-Module ne recharge aucun module imbriqué. En outre, il n’existe aucun moyen de charger des classes ou énumérations mises à jour.

    Pour obtenir les membres de module mis à jour définis dans les modules imbriqués, supprimez le module avec Remove-Module, puis réimportez le module.

    Si le module a été chargé avec une using instruction, vous devez démarrer une nouvelle session pour importer des définitions mises à jour pour les classes et les énumérations. Les classes et énumérations définies dans PowerShell et importées avec une instruction using ne peuvent pas être déchargées.