lundi 5 décembre 2011

Import-PSSession

NOM
    Import-PSSession

RÉSUMÉ
    Importe des commandes à partir d'une autre session dans la session active.

SYNTAXE
    Import-PSSession [-Session] <PSSession> [[-CommandName] <string[]>] [[-FormatTypeName] <string[]>] [-AllowClobber] [-ArgumentList <Object[]>] [-CommandType {Alias | Function | Filter | Cmdlet | ExternalScript | Application | Script | All}] [-Module <string[]>] [-Prefix <string>] [<CommonParameters>]


DESCRIPTION
    L'applet de commande Import-PSSession importe des commandes (telles que des applets de commande, des fonctions et des alias) à partir d'une session PSSession d'un ordinateur local ou distant dans la session active. Vous pouvez importer toutes les commandes trouvées par Get-Command dans la session PSSession.

    Utilisez une commande Import-PSSession pour importer des commandes à partir d'un interpréteur de commandes personnalisé, tel qu'un interpréteur de commandes Microsoft Exchange Server, ou à partir d'une session incluant des composants logiciels enfichables et des modules Windows PowerShell, ou d'autres éléments ne figurant pas dans la session active.

    Pour importer des commandes, utilisez tout d'abord l'applet de commande New-PSSession pour créer une session PSSession. Utilisez ensuite l'applet de commande Import-PSSession pour importer les commandes. Par défaut, Import-PSSession importe toutes les commandes, à l'exception de celles portant le même nom que des commandes de la session active. Pour importer toutes les commandes, utilisez le paramètre AllowClobber.

    Vous pouvez utiliser les commandes importées comme vous utiliseriez les autres commandes de la session. Lorsque vous utilisez une commande importée, la partie importée de la commande s'exécute implicitement dans la session à partir de laquelle elle a été importée. Toutefois, les opérations distantes sont entièrement contrôlées par Windows PowerShell. Il n'est pas nécessaire que vous en ayez conscience, mais vous devez quand même garder la connexion à l'autre session (PSSession) ouverte. Si vous la fermez, les commandes importées ne sont plus disponibles.

    Étant donné que l'exécution des commandes importées peut être plus longue que celle des commandes locales, Import-PSSession ajoute un paramètre AsJob à chaque commande importée. Ce paramètre vous permet d'exécuter une commande en tant que tâche en arrière-plan Windows PowerShell. Pour plus d'informations, consultez about_Jobs.

    Lorsque vous utilisez Import-PSSession, Windows PowerShell ajoute les commandes importées à un module temporaire qui existe uniquement dans votre session, et retourne un objet qui représente le module. Pour créer un module permanent que vous pourrez utiliser dans les prochaines sessions, utilisez l'applet de commande Export-PSSession.

    L'applet de commande Import-PSSession utilise la fonctionnalité de communication à distance implicite de Windows PowerShell. Lorsque vous importez des commandes dans la session active, elles s'exécutent implicitement dans la session d'origine ou dans une session similaire sur l'ordinateur d'origine.


PARAMÈTRES
    -AllowClobber [<SwitchParameter>]
        Importe les commandes spécifiées, même si elles portent le même nom que des commandes de la session active.

        Si vous importez une commande portant le même nom qu'une commande de la session active, la commande importée masque ou remplace les commandes d'origine. Pour plus d'informations, consultez about_Command_Precedence.
        f
        Par défaut, Import-PSSession n'importe pas les commandes portant le même nom que des commandes de la session active.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     False
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -ArgumentList <Object[]>
        Importe la variante de la commande qui résulte de l'utilisation des arguments spécifiés (valeurs de paramètre).


        Par exemple, pour importer la variante de la commande Get-Item du lecteur de certificat (Cert:) dans la session PSSession de $s, tapez « import-pssession -session $s -command get-item -argumentlist cert: ».

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     Toutes les commandes de la session PSSession, à l'exception des commandes ayant le même nom que des commandes de la session active.
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -CommandName <string[]>
        Importe uniquement les commandes possédant les modèles de noms ou les noms spécifiés. Les caractères génériques sont autorisés. Utilisez « CommandName » ou son alias, « Name ».

        Par défaut, Import-PSSession importe toutes les commandes de la session, à l'exception de celles portant le même nom que des commandes de la session active. Cela évite que les commandes importées masquent ou remplacent des commandes de la session active. Pour importer toutes les commandes, y compris celles masquant ou remplaçant d'autres commandes, utilisez le paramètre AllowClobber.

        Si vous utilisez le paramètre CommandName, les fichiers de mise en forme des commandes ne sont pas importés, à moins que vous n'utilisiez le paramètre FormatTypeName. De la même manière, si vous utilisez le paramètre FormatTypeName, aucune commande n'est importée, à moins que vous n'utilisiez le paramètre CommandName.

        Obligatoire ?                false
        Position ?                   3
        Valeur par défaut                     Toutes les commandes de la session PSSession, à l'exception des commandes ayant le même nom que des commandes de la session active.
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -CommandType <CommandTypes>
        Importe uniquement les types d'objets de commande spécifiés. La valeur par défaut est Cmdlet. Utilisez « CommandType » ou son alias, « Type ».

        Les valeurs valides sont :
        -- Alias : alias Windows PowerShell dans la session à distance.
        -- All : applets de commande et fonctions dans la session à distance.
        -- Application : tous les fichiers autres que les fichiers Windows PowerShell dans les chemins d'accès répertoriés dans la variable d'environnement Path (env:path $) de la session à distance, notamment les fichiers .txt, .exe et .DLL.
        -- Cmdlet : applets de commande dans la session à distance. « Cmdlet » est la valeur par défaut.
        -- ExternalScript : fichiers .ps1 dans les chemins d'accès répertoriés dans la variable d'environnement Path ($env:path) de la session à distance.
        -- Filter and Function : fonctions Windows PowerShell dans la session à distance.
        -- Script : blocs de script dans la session à distance.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     Toutes les commandes de la session PSSession, à l'exception des commandes ayant le même nom que des commandes de la session active.
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -FormatTypeName <string[]>
        Importe les instructions de mise en forme des types Microsoft .NET Framework spécifiés. Entrez les noms de types. Les caractères génériques sont autorisés.

        La valeur de ce paramètre doit être le nom d'un type retourné par une commande Get-FormatData dans la session à partir de laquelle les commandes sont importées. Pour obtenir toutes les données de mise en forme de la session à distance, tapez *.

        Si la commande n'inclut pas les paramètres CommandName ou FormatTypeName, Import-PSSession
        importe des instructions de mise en forme pour tous les types .NET Framework retournés par une commande Get-FormatData dans la session à distance.

        Si vous utilisez le paramètre FormatTypeName, aucune commande n'est importée, à moins que vous n'utilisiez le paramètre CommandName.
        De même, si vous utilisez le paramètre CommandName, les fichiers de mise en forme des commandes ne sont pas importés, à moins que vous n'utilisiez le paramètre FormatTypeName.

        Obligatoire ?                false
        Position ?                   4
        Valeur par défaut                     Types dans l'espace de noms System.Management.Automation
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -Module <string[]>
        Importe uniquement les commandes dans les composants logiciels enfichables et les modules Windows PowerShell spécifiés. Entrez les noms des modules et des composants logiciels enfichables. Les caractères génériques ne sont pas autorisés.

        Pour plus d'informations, consultez about_PSSnapins et Import-Module.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     Toutes les commandes de la session PSSession, à l'exception des commandes ayant le même nom que des commandes de la session active.
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Prefix <string>
        Ajoute le préfixe spécifié aux noms des commandes importées.

        Utilisez ce paramètre pour éviter des conflits de nom qui peuvent se produire lorsque différentes commandes de la session ont le même nom.
        Par exemple, si vous spécifiez le préfixe « Remote », puis importez une applet de commande Get-Date, l'applet de commande est connue dans la session comme Get-RemoteDate, et n'est pas confondue avec l'applet de commande Get-Date d'origine.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Session <PSSession>
        Spécifie la session PSSession à partir de laquelle les applets de commande sont importées. Entrez une variable qui contient un objet session ou une commande qui obtient un objet session, telle qu'une commande New-PSSession ou Get-PSSession. Vous pouvez spécifier une seule session. Ce paramètre est obligatoire.

        Obligatoire ?                true
        Position ?                   1
        Valeur par défaut                     Aucun
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    <CommonParameters>
        Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer et OutVariable. Pour plus d'informations, tapez
        « get-help about_commonparameters ».

ENTRÉES
    Aucun
        Vous ne pouvez pas diriger d'objets vers cette applet de commande.


SORTIES
    System.Management.Automation.PSModuleInfo
        Import-PSSession retourne le mêm objet module que New-Module et Get-Module. Toutefois, le module importé est temporaire et existe uniquement dans la session active. Pour créer un module permanent sur le disque, utilisez l'applet de commande Export-PSSession.


NOTES


        Import-PSSession repose sur l'infrastructure de communication à distance Windows PowerShell. Pour utiliser cette applet de commande, l'ordinateur doit être configuré pour la communication à distance de la Gestion des services Web. Pour plus d'informations, consultez about_Remote et about_Remote_Requirements.

        Vous ne pouvez pas utiliser Import-PSSession pour importer des variables ou des fournisseurs Windows PowerShell
        .

        Lorsque vous importez des commandes portant le même nom que des commandes de la session active, les commandes importées peuvent masquer les alias, fonctions et applets de commande de la session et remplacer des fonctions et des variables dans la session. Pour plus d'informations, consultez about_Command_Precedence.

        Import-PSSession convertit toutes les commandes en fonctions avant de les importer. Par conséquent, le comportement des commandes importées est un peu différent de celui qu'elles auraient si elles conservaient leur type de commande d'origine. Par exemple, si vous importez une applet de commande à partir d'une session PSSession puis importez une applet de commande portant le même nom à partir d'un module ou d'un composant logiciel enfichable, l'applet de commande importée à partir de la session PSSession s'exécute toujours par défaut, car les fonctions sont prioritaires sur les applets de commande. Inversement, si vous importez un alias dans une session qui dispose d'un alias du même nom, l'alias d'origine est toujours utilisé, car les alias sont prioritaires sur les fonctions. Pour plus d'informations, consultez about_Command_Precedence.

        Import-PSSession utilise l'applet de commande Write-Progress pour afficher la progression de la commande. Vous pouvez consulter la barre de progression pendant que la commande s'exécute.

        Pour rechercher les commandes à importer, Import-PSSession utilise l'applet de commande Invoke-Command pour exécuter une commande Get-Command dans la session PSSession. Pour recevoir les données de mise en forme des commandes, elle utilise l'applet de commande Get-FormatData. Vous pouvez voir les messages d'erreur de Invoke-Command, Get-Command, Get-FormatData lorsque vous exécutez une commande Import-PSSession. De plus, Import-PSSession ne peut pas importer de commandes d'une session PSSession qui n'inclut pas les applets de commande Get-Command, Get-FormatData, Select-Object et Get-Help.

        Les commandes importées présentent les mêmes limitations que les autres commandes distantes, notamment l'impossibilité de démarrer un programme avec une interface utilisateur, telle que le Bloc-notes.

        Étant donné que les profils Windows PowerShell ne sont pas exécutés dans PSSessions, les commandes qu'un profil ajoute à une session ne sont pas disponibles pour Import-PSSession. Pour importer des commandes à partir d'un profil, utilisez une commande Invoke-Command pour exécuter le profil manuellement dans la session PSSession avant d'importer les commandes.

        Le module temporaire que Import-PSSession crée peut inclure un fichier de mise en forme, même si la commande n'importe pas de données de mise en forme. Si la commande n'importe pas de données de mise en forme, tous les fichiers de mise en forme créés ne contiendront pas de données de mise en forme.

        Pour utiliser Import-PSSession, la stratégie d'exécution dans la session active ne peut pas être Restricted ou AllSigned, étant donné que le module que Import-PSSession crée contient des fichiers de script non signés interdits par ces stratégies. Pour utiliser Import-PSSession sans modifier la stratégie d'exécution pour l'ordinateur local, utilisez le paramètre Scope de Set-ExecutionPolicy pour définir une stratégie d'exécution moins restrictive pour un processus unique.


    -------------------------- EXEMPLE 1 --------------------------

    C:\PS>$s = new-pssession -computername Server01

    C:\PS> import-pssession -session $s


    Description
    -----------
    Cette commande importe toutes les commandes d'une session PSSession de l'ordinateur Server01 dans la session active, à l'exception des commandes portant le même nom que des commandes de la session active.

    Étant donné que cette commande n'utilise pas le paramètre CommandName, elle importe également toute les données de mise en forme obligatoires pour les commandes importées.





    -------------------------- EXEMPLE 2 --------------------------

    C:\PS>$s = new-pssession https://ps.testlabs.com/powershell

    C:\PS> import-pssession -session $s -commandname *-test -formatTypeName *

    C:\PS> new-test -name test1

    C:\PS> get-test test1 | run-test


    Description
    -----------
    Ces commandes importent les commandes dont les noms se terminent par « - test » à partir d'une PSSession dans la session locale, puis indiquent comment utiliser une applet de commande importée.

    La première commande utilise l'applet de commande New-PSSession pour créer une session PSSession. Elle enregistre la session PSSession dans la variable $s.

    La deuxième commande utilise l'applet de commande Import-PSSession pour importer les commandes à partir de la session PSSession de la variable $s dans la session active. Elle utilise le paramètre CommandName pour spécifier des commandes portant le nom Test et le paramètre FormatTypeName pour importer les données de mise en forme pour les commandes Test.

    Les troisième et quatrième commandes utilisent les commandes importées dans la session active. Étant donné que les commandes importées sont en fait ajoutées à la session active, vous utilisez la syntaxe locale pour les exécuter. Vous n'avez pas besoin d'utiliser l'applet de commande Invoke-Command pour exécuter une commande importée.





    -------------------------- EXEMPLE 3 --------------------------

    C:\PS>$s1 = new-pssession -computername s1

    C:\PS> $s2 = new-pssession -computername s2

    C:\PS> import-pssession -session s1 -type cmdlet -name New-Test, Get-Test -FormatTypeName *

    C:\PS> import-pssession -session s2 -type cmdlet -name Set-Test -FormatTypeName *

    C:\PS> new-test Test1 | set-test -runtype full


    Description
    -----------
    Cet exemple montre que vous pouvez utiliser les applets de commande importées de la même façon que les applets de commande locales.

    Ces commandes importent les applets de commande New-Test et Get-Test à partir d'une session PSSession sur l'ordinateur Server01 et l'applet de commande Set-Test à partir d'une session PSSession sur l'ordinateur Server02.

    Bien que les applets de commande aient été importées à partir de différentes sessions PSSession, vous pouvez diriger un objet d'une applet de commande vers une autre sans générer d'erreur.





    -------------------------- EXEMPLE 4 --------------------------

    C:\PS>$s = new-pssession -computername Server01

    C:\PS> import-pssession -session $s -commandname *-test* -formattypename *

    C:\PS> $batch = new-test -name Batch -asjob

    C:\PS> receive-job $batch


    Description
    -----------
    Cet exemple montre comment exécuter une commande importée en tant que tâche en arrière-plan.

    Étant donné que l'exécution des commandes importées peut être plus longue que celle des commandes locales, Import-PSSession ajoute un paramètre AsJob à chaque commande importée. Le paramètre AsJob vous permet d'exécuter la commande sous la forme d'une tâche en arrière-plan.

    La première commande crée une session PSSession sur l'ordinateur Server01 et enregistre l'objet PSSession dans la variable $s.

    La deuxième commande utilise Import-PSSession pour importer les applets de commande Test à partir de la session PSSession de la variable $s dans la session active.

    La troisième commande utilise le paramètre AsJob de l'applet de commande New-Test importée pour exécuter une commande New-Test en tant que tâche en arrière-plan. Cette commande enregistre l'objet de traitement que New-Test retourne dans la variable $batch.

    La quatrième commande utilise l'applet de commande Receive-Job pour obtenir les résultats de la tâche dans la variable $batch.





    -------------------------- EXEMPLE 5 --------------------------

    C:\PS>$s = new-pssession -comp Server01

    C:\PS> invoke-command -session $s {import-module TestManagement}

    C:\PS> import-pssession -session $s -module TestManagement


    Description
    -----------
    Cet exemple montre comment importer les applets de commande et fonctions à partir d'un module Windows PowerShell de l'ordinateur distant dans la session active.

    La première commande crée une session PSSession sur l'ordinateur Server01 et l'enregistre dans la variable $s.

    La deuxième commande utilise l'applet de commande Invoke-Command pour exécuter une commande Import-Module dans la session PSSession de la variable $s.

    En général, le module est ajouté à toutes les sessions par une commande Import-Module dans un profil Windows PowerShell, mais les profils ne sont pas exécutés dans les sessions PSSession.

    La troisième commande utilise le paramètre Module de Import-PSSession pour importer les applets de commande et fonctions du module dans la session active.





    -------------------------- EXEMPLE 6 --------------------------

    C:\PS>import-pssession $s -CommandName Get-Date, SearchHelp  -formatTypeName * -AllowClobber


    Name              : tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
    Path              : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf\tmp_79
    468106-4e1d-4d90-af97-1154f9317239_
                        tcw1zunz.ttf.psm1
    Description       : Implicit remoting for http://server01.corp.fabrikam.com/wsman
    Guid              : 79468106-4e1d-4d90-af97-1154f9317239
    Version           : 1.0
    ModuleBase        : C:\Users\User01\AppData\Local\Temp\tmp_79468106-4e1d-4d90-af97-1154f9317239_tcw1zunz.ttf
    ModuleType        : Script
    PrivateData       : {ImplicitRemoting}
    AccessMode        : ReadWrite
    ExportedAliases   : {}
    ExportedCmdlets   : {}
    ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
    ExportedVariables : {}
    NestedModules     : {}


    Description
    -----------
    Cet exemple montre que Import-PSSession crée un module dans un fichier temporaire sur le disque. Il montre également que toutes les commandes sont converties en fonctions avant d'être importées dans la session active.

    La commande utilise l'applet de commande Import-PSSession pour importer une applet de commande Get-Date et une fonction SearchHelp dans la session active.

    L'applet de commande Import-PSSession retourne un objet PSModuleInfo qui représente le module temporaire. La valeur de la propriété Path montre que Import-PSSession a créé un fichier de module de script (.psm1) dans un emplacement temporaire. La propriété ExportedFunctions montre que l'applet de commande Get-Date et la fonction SearchHelp ont été importées comme fonctions.





    -------------------------- EXEMPLE 7 --------------------------

    C:\PS>import-pssession $s -CommandName Get-Date -formatTypeName * -AllowClobber

    C:\PS> get-command get-date

    CommandType   Name       Definition
    -----------   ----       ----------
    Function      Get-Date   ...
    Cmdlet        Get-Date   Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]

    C:\PS> Get-Date
    09074

    C:\PS> (get-command -type cmdlet -name get-date).pssnapin.name
    Microsoft.PowerShell.Utility

    C:\PS> Microsoft.PowerShell.Utility\get-date

    Sunday, March 15, 2009 2:08:26 PM


    Description
    -----------
    Cet exemple montre comment exécuter une commande masquée par une commande importée.

    La première commande importe une applet de commande Get-Date à partir de la session PSSession dans la variable $s.
    Étant donné que la session active inclut une applet de commande Get-Date, le paramètre AllowClobber est obligatoire dans la commande.

    La deuxième commande utilise l'applet de commande Get-Command pour obtenir les commandes Get-Date de la session active. La sortie montre que la session inclut l'applet de commande Get-Date d'origine et une fonction Get-Date. La fonction Get-Date exécute l'applet de commande Get-Date importée dans la session PSSession de $s.

    La troisième commande exécute une commande Get-Date. Étant donné que les fonctions sont prioritaires sur les applets de commande, Windows PowerShell exécute la fonction Get-Date importée, qui retourne une date julienne.

    Les quatrième et cinquième commandes montrent comment utiliser un nom qualifié pour exécuter une commande masquée par une commande importée.

    La quatrième commande obtient le nom du composant logiciel enfichable Windows PowerShell qui a ajouté l'applet de commande Get-Date d'origine à la session active.

    La cinquième commande utilise le nom de composant enfichable qualifié de l'applet de commande Get-Date pour exécuter une commande Get-Date.

    Pour plus d'informations sur la priorité des commandes et les commandes masquées, consultez about_Command_Precedence.





    -------------------------- EXEMPLE 8 --------------------------

    C:\PS>import-pssession -session $s -commandName *Item* -AllowClobber


    Description
    -----------
    Cette commande importe les commandes dont les noms incluent « Item » à partir de la session PSSession dans $s. Étant donné que la commande inclut le paramètre CommandName mais pas le paramètre FormatTypeData, seule la commande est importée.

    Utilisez cette commande lorsque vous utilisez Import-PSSession pour exécuter une commande sur un ordinateur distant
     et que vous disposez déjà des données de mise en forme pour la commande dans la session active.





    -------------------------- EXEMPLE 9 --------------------------

    C:\PS>$m = import-pssession -session $s -CommandName *bits* -formattypename *bits*

    C:\PS> get-command -module $m

    CommandType     Name
    -----------     ----
    Function        Add-BitsFile
    Function        Complete-BitsTransfer
    Function        Get-BitsTransfer
    Function        Remove-BitsTransfer
    Function        Resume-BitsTransfer
    Function        Set-BitsTransfer
    Function        Start-BitsTransfer
    Function        Suspend-BitsTransfer


    Description
    -----------
    Cette commande montre comment utiliser le paramètre Module de Get-Command pour rechercher les commandes qui ont été importées dans la session par une commande Import-PSSession.

    La première commande utilise l'applet de commande Import-PSSession pour importer les commandes dont les noms incluent des « parties » de la session PSSession dans la variable $s. La commande Import-PSSession retourne un module temporaire, puis enregistre le module dans la variable $m.

    La deuxième commande utilise l'applet de commande Get-Command pour obtenir les commandes exportées par le module dans la variable $m.

    Le paramètre Module prend une valeur de chaîne conçue pour le nom du module. Toutefois, lorsque vous envoyez un objet module, Windows PowerShell utilise la méthode ToString sur l'objet module, qui retourne le nom du module.

    La commande Get-Command est l'équivalent de « get-command $m.name ».






LIENS CONNEXES
    Online version: http://go.microsoft.com/fwlink/?LinkID=135221
    about_Command_Precedence
    New-PSSession
    Export-PSSession
    about_Jobs
    about_PSSessions

Import-Module

NOM
    Import-Module

RÉSUMÉ
    Ajoute des modules à la session active.

SYNTAXE
    Import-Module [-Name] <string[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>]

    Import-Module [-Assembly] <Assembly[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>]

    Import-Module [-ModuleInfo] <PSModuleInfo[]> [-Alias <string[]>] [-ArgumentList <Object[]>] [-AsCustomObject] [-Cmdlet <string[]>] [-Force] [-Function <string[]>] [-Global] [-PassThru] [-Prefix <string>] [-Variable <string[]>] [-Version <Version>] [<CommonParameters>]


DESCRIPTION
    L'applet de commande Import-Module ajoute un ou plusieurs modules à la session active.

    Un module est un package contenant des membres (tels que des applets de commande, des fournisseurs, des scripts, des fonctions, des variables et d'autres outils et fichiers) qui peuvent être utilisés dans Windows PowerShell. Après avoir importé un module, vous pouvez utiliser ses membres dans votre session.

    Utilisez le paramètre Name, Assembly ou ModuleInfo pour identifier le module à importer. Par défaut, Import-Module importe tous les membres que le module exporte, mais vous pouvez utiliser les paramètres Alias, Function, Cmdlet et Variable pour restreindre les membres importés.

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

    Pour plus d'informations sur les modules, consultez about_Modules.


PARAMÈTRES
    -Alias <string[]>
        Importe uniquement les alias spécifiés à partir du module dans la session active. Entrez une liste d'alias séparés par des virgules. Les caractères génériques sont autorisés.

        Certains modules exportent automatiquement certains alias dans votre session lorsque vous importez le module. Ce paramètre vous permet d'effectuer une sélection parmi les alias exportés.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -ArgumentList <Object[]>
        Spécifie les arguments (valeurs de paramètre) passés à un module de script pendant l'exécution de la commande Import-Module.  Ce paramètre est valide uniquement lorsque vous importez un module de script.

        Vous pouvez également faire référence à ArgumentList en utilisant son alias, « args ». Pour plus d'informations, consultez about_Aliases.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -AsCustomObject [<SwitchParameter>]
        Retourne un objet personnalisé avec des membres qui représentent les membres de module importés. Ce paramètre est uniquement valide pour les modules de script.

        Lorsque vous utilisez le paramètre AsCustomObject, Import-Module importe les membres de 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 la notation par points pour appeler les membres.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Assembly <Assembly[]>
        Importe les applets de commande et fournisseurs implémentés dans les objets Assembly spécifiés. Entrez une variable qui contient les objets Assembly ou tapez une commande qui crée ces objets. Vous pouvez également diriger un objet Assembly vers Import-Module.

        Lorsque vous utilisez ce paramètre, seuls les applets de commande et 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 des membres importants du module peuvent être manquants. Utilisez ce paramètre pour le débogage et le test du module, ou lorsque l'auteur du module vous conseille de l'utiliser.

        Obligatoire ?                true
        Position ?                   1
        Valeur par défaut
        Accepter l'entrée de pipeline ?       true (ByValue)
        Accepter les caractères génériques ?  false

    -Cmdlet <string[]>
        Importe uniquement les applets de commande spécifiées à partir du module dans la session active. Entrez une liste d'applets de commande. Les caractères génériques sont autorisés.

        Certains modules exportent automatiquement certaines applets de commande dans votre session lorsque vous importez le module. Ce paramètre vous permet d'effectuer une sélection parmi les applets de commande exportées.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -Force [<SwitchParameter>]
        Réimporte un module et ses membres, même si le mode d'accès du module ou de ses membres est en lecture seule.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     False
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Function <string[]>
        Importe uniquement les fonctions spécifiées à partir du module dans la session active. Entrez une liste de fonctions. Les caractères génériques sont autorisés.

        Certains modules exportent automatiquement certaines fonctions dans votre session lorsque vous importez le module. Ce paramètre vous permet d'effectuer une sélection parmi les fonctions exportées.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -Global [<SwitchParameter>]
        Lorsque ce paramètre est utilisé dans un module de script (.psm1), il importe des modules dans l'état de session global.

        Ce paramètre s'applique uniquement lorsqu'il s'affiche dans un module de script. Sinon, il est ignoré.

        Par défaut, les commandes d'un module de script, notamment les commandes de modules imbriqués, sont importées dans l'état de session de l'appelant. Pour restreindre les commandes exportées par un module, utilisez une commande Export-ModuleMember dans le module de script.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -ModuleInfo <PSModuleInfo[]>
        Spécifie des objets de module à importer. Entrez une variable qui contient les objets de module ou tapez une commande qui obtient les objets de module, comme « get-module -listavailable ». Vous pouvez également diriger des  objets de module vers Import-Module.

        Obligatoire ?                true
        Position ?                   1
        Valeur par défaut
        Accepter l'entrée de pipeline ?       true (ByValue)
        Accepter les caractères génériques ?  false

    -Name <string[]>
        Spécifie les noms des modules à importer. Entrez le nom du module ou d'un fichier du module, tel qu'un fichier .psd1, .psm1, .dll ou ps1. Les chemins d'accès de fichier sont facultatifs. Les caractères génériques ne sont pas autorisés. Vous pouvez également diriger des noms de modules et des noms de fichiers vers Import-Module.

        Si vous omettez un chemin d'accès, Import-Module recherche le module dans les chemins d'accès enregistrés dans la variable d'environnement PSModulePath ($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 des membres importants du module peuvent être manquants.

        Obligatoire ?                true
        Position ?                   1
        Valeur par défaut
        Accepter l'entrée de pipeline ?       true (ByValue)
        Accepter les caractères génériques ?  false

    -PassThru [<SwitchParameter>]
        Retourne des objets qui représentent les modules importés. Par défaut, cette applet de commande ne génère aucune sortie.

        Remarques
        -- Lorsque vous dirigez la sortie d'une commande « get-module listavailable » vers une commande Import-Module avec le paramètre PassThru, Import-Module retourne l'objet que Get-Module lui a passé sans le mettre à jour. En conséquence, les propriétés Exported et NestedModules ne sont pas encore remplies.

        -- Lorsque vous utilisez le paramètre Prefix pour spécifier un préfixe pour le membre, le préfixe n'apparaît pas parmi les noms de membres dans les propriétés de l'objet de module. L'objet enregistre ce qui a été exporté avant que le préfixe ne soit appliqué.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Prefix <string>
        Ajoute le préfixe spécifié aux noms des membres de 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 que le module importe pour sa propre utilisation (appelés « modules imbriqués »). Il affecte seulement les noms de membres dans la session active.

        Par exemple, si vous spécifiez le préfixe « UTC », puis importez une applet de commande Get-Date, l'applet de commande est connue dans la session comme Get-UTCDate et n'est pas confondue avec l'applet de commande Get-Date d'origine.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -Variable <string[]>
        Importe uniquement les variables spécifiées à 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 certaines variables dans votre session lorsque vous importez le module. Ce paramètre vous permet d'effectuer une sélection parmi les variables exportées.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  true

    -Version <Version>
        Spécifie la version du module à importer. Utilisez ce paramètre lorsque vous avez des versions différentes du même module sur votre système.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    <CommonParameters>
        Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer et OutVariable. Pour plus d'informations, tapez
        « get-help about_commonparameters ».

ENTRÉES
    System.String, System.Management.Automation.PSModuleInfo, System.Reflection.Assembly
        Vous pouvez diriger un nom de module, un objet de module ou un objet Assembly vers Import-Module.


SORTIES
    Aucun, System.Management.Automation.PSModuleInfo ou System.Management.Automation.PSCustomObject
        Par défaut, Import-Module ne génère pas de sortie. Si vous utilisez le paramètre PassThru, il génère un objet System.Management.Automation.PSModuleInfo qui représente le module. Si vous employez le paramètre AsCustomObject, il génère un objet PSCustomObject.


NOTES


        Vous pouvez également faire référence à Import-Module par son alias, « ipmo ». Pour plus d'informations, consultez about_Aliases.

        Pour pouvoir importer un module, vous devez copier le répertoire du module dans un répertoire accessible à votre ordinateur local. Pour plus d'informations, consultez about_Modules.

        Les membres de module s'exécutant dans leur propre état de session de module privé, les commandes qu'ils utilisent pour le traitement interne n'affectent pas votre état de session.

        Si vous importez des membres de nom et de type identiques dans votre session, Windows PowerShell utilise le membre importé en dernier par défaut. Les variables et alias sont remplacés, et les originaux ne sont pas accessibles. Les fonctions, applets de commande et fournisseurs sont simplement « masqués » par les nouveaux membres, et vous pouvez y accéder en qualifiant le nom de la commande avec le nom de son composant logiciel enfichable, module ou chemin de fonction.

        Pour mettre à jour les données de mise en forme des commandes importées à partir d'un module, utilisez l'applet de commande Update-FormatData. Update-FormatData met à jour également les données de mise en forme des commandes de la session qui ont été importées à partir des modules. Si le fichier de mise en forme d'un module change, vous pouvez exécuter une commande Update-FormatData pour mettre à jour les données de mise en forme des commandes importées. Vous n'avez pas besoin de réimporter le module.

        Pour que vous puissiez importer un module créé par Import-PSSession ou Export-PSSession, la stratégie d'exécution de la session active ne peut pas être Restricted ou AllSigned car les modules créés par Import-PSSession et Export-PSSession contiennent des fichiers de script non signés interdits par ces stratégies. Pour employer Import-Module sans modifier la stratégie d'exécution de l'ordinateur local, utilisez le paramètre Scope de Set-ExecutionPolicy afin de définir une stratégie d'exécution moins restrictive pour un processus unique.


    -------------------------- EXEMPLE 1 --------------------------

    C:\PS>import-module -name BitsTransfer


    Description
    -----------
    Cette commande importe les membres du module BitsTransfer dans la session active.

    Le nom de paramètre Name (-Name) est facultatif et peut être omis.

    Par défaut, Import-Module ne génère pas de sortie lorsqu'il importe un module. Pour demander une sortie, utilisez le paramètre PassThru ou AsCustomObject, ou bien le paramètre courant Verbose.





    -------------------------- EXEMPLE 2 --------------------------

    C:\PS>get-module -listAvailable | import-module


    Description
    -----------
    Cette commande importe tous les modules disponibles dans le chemin d'accès spécifié par la variable d'environnement PSModulePath ($env:psmodulepath) dans la session active.





    -------------------------- EXEMPLE 3 --------------------------

    C:\PS>$m = get-module -ListAvailable BitsTransfer, ServerBackup

    C:\PS> import-module -moduleInfo $m


    Description
    -----------
    Ces commandes importent les membres des modules BitsTransfer et ServerBackup dans la session active.

    La première commande utilise l'applet de commande Get-Module pour obtenir des objets PSModuleInfo qui représentent les modules BitsTransfer et ServerBackup. Elle enregistre les objets dans la variable $m. Le paramètre ListAvailable est obligatoire lorsque vous obtenez des modules qui ne sont pas encore importés dans la session.

    La deuxième commande utilise le paramètre ModuleInfo de Import-Module pour importer les modules dans la session active.

    Ces commandes reviennent à utiliser un opérateur de pipeline (|) pour envoyer la sortie d'une commande Get-Module vers Import-Module.





    -------------------------- EXEMPLE 4 --------------------------

    C:\PS>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-parm'.
    VERBOSE: Exporting function 'get-spec'.
    VERBOSE: Exporting function 'get-specDetails'.


    Description
    -----------
    Cette commande utilise un chemin d'accès explicite pour identifier le module à importer.

    Elle utilise également le paramètre courant Verbose pour obtenir une liste des éléments importés à partir du module. Sans le paramètre Verbose, PassThru ou AsCustomObject, Import-Module ne génère pas de sortie lors de l'importation d'un module.





    -------------------------- EXEMPLE 5 --------------------------

    C:\PS>import-module BitsTransfer -cmdlet Add-BitsTransferFile, Get-BitsTransfer

    C:\PS> get-module BitsTransfer

    Name              : BitsTransfer
    Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer\BitsTransfer.psd1
    Description       :
    Guid              : 8fa5064b-8479-4c5c-86ea-0d311fe48875
    Version           : 1.0.0.0
    ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\BitsTransfer
    ModuleType        : Manifest
    PrivateData       :
    AccessMode        : ReadWrite
    ExportedAliases   : {}
    ExportedCmdlets   : {[Add-BitsTransfer, Add-BitsTransfer], [Complete-BitsTransfer, Complete-BitsTransfer], [Get-Bit
    sTransfer, Get-BitsTransfer], [Rem
                        ove-BitsTransfer, Remove-BitsTransfer]...}
    ExportedFunctions : {}
    ExportedVariables : {}
    NestedModules     : {Microsoft.BackgroundIntelligentTransfer.Management}


    C:\PS> get-command -module BitsTransfer

    CommandType Name                Definition
    ----------- ----                ----------
    Cmdlet      Add-BitsTransfer    Add-BitsTransfer [-BitsJob] <BitsJob[]> [-Source] <String[]> [[-Destination] <String[]>] [-Verbose] [-Debug] [-ErrorA...
    Cmdlet      Get-BitsTransfer    Get-BitsTransfer [[-Name] <String[]>] [-AllUsers] [-Verbose] [-Debug] [-ErrorAction<ActionPreference>] [-WarningActi...


    Description
    -----------
    Cet exemple indique comment restreindre les membres de module qui sont importés dans la session et l'effet de cette commande sur la session.

    La première commande importe uniquement les applets de commande Add-BitsTransfer et Get-BitsTransfer à partir du module BitsTransfer. Elle utilise le paramètre Cmdlet pour restreindre les applets de commande importées par le module. Vous pouvez également employer les paramètres Alias, Variable et Function pour restreindre d'autres membres importés par un module.

    La deuxième commande utilise l'applet de commande Get-Module pour obtenir l'objet qui représente le module BitsTransfer. La propriété ExportedCmdlets répertorie toutes les applets de commande que le module exporte, même si elles n'ont pas toutes été importées.

    La troisième commande utilise le paramètre Module de l'applet de commande Get-Command pour obtenir les commandes importées à partir du module BitsTransfer. Les résultats confirment que seules les applets de commande Add-BitsTransfer et Get-BitsTransfer ont été importées.





    -------------------------- EXEMPLE 6 --------------------------

    C:\PS>import-module BitsTransfer -prefix PS -passthru

    Name              : bitstransfer
    Path              : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer\bitstransfer.psd1
    Description       :
    Guid              : 8fa5064b-8479-4c5c-86ea-0d311fe48875
    Version           : 1.0.0.0
    ModuleBase        : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\bitstransfer
    ModuleType        : Manifest
    PrivateData       :
    AccessMode        : ReadWrite
    ExportedAliases   : {}
    ExportedCmdlets   : {[Add-BitsTransfer, Add-BitsTransfer], [Remove-BitsTransfer, Remove-BitsTransfer], [Complete-Bi
    tsTransfer, Complete-BitsTransfer]
                        , [Get-BitsTransfer, Get-BitsTransfer]...}
    ExportedFunctions : {}
    ExportedVariables : {}
    NestedModules     : {Microsoft.BackgroundIntelligentTransfer.Management}


    C:\PS> get-command -module bitstransfer

    CommandType     Name                        Definition
    -----------     ----                        ----------
    Cmdlet          Add-PSBitsTransfer          Add-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Source] <String[]> ...
    Cmdlet          Complete-PSBitsTransfer     Complete-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Deb...
    Cmdlet          Get-PSBitsTransfer          Get-PSBitsTransfer [[-Name] <String[]>] [-AllUsers] [-Verbose] ...
    Cmdlet          Remove-PSBitsTransfer       Remove-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Debug...
    Cmdlet          Resume-PSBitsTransfer       Resume-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Asynchronous] [-...
    Cmdlet          Set-PSBitsTransfer          Set-PSBitsTransfer [-BitsJob] <BitsJob[]> [-DisplayName <String...
    Cmdlet          Start-PSBitsTransfer        Start-PSBitsTransfer [[-Source] <String[]>] [[-Destination] <St...
    Cmdlet          Suspend-PSBitsTransfer      Suspend-PSBitsTransfer [-BitsJob] <BitsJob[]> [-Verbose] [-Debu...


    Description
    -----------
    Ces commandes importent le module BitsTransfer dans la session active, ajoutent un préfixe aux noms de membres, puis affichent les noms de membres comportant un préfixe.

    La première commande utilise l'applet de commande Import-Module pour importer le module BitsTransfer. Elle utilise le paramètre Prefix pour ajouter le préfixe PS à tous les membres importés à partir du module et le paramètre PassThru pour retourner un objet de module qui représente le module importé.

    L'objet de module que la commande retourne comporte une propriété ExportedCmdlets qui répertorie les membres importés. Le préfixe n'apparaît pas dans les noms d'applets de commande car il s'applique après que les membres sont exportés (mais avant qu'ils soient importés).

    La deuxième commande utilise l'applet de commande Get-Command pour obtenir les membres importés à partir du module.
     Elle utilise le paramètre Module pour spécifier le module. La sortie montre que les membres de module ont un préfixe correct.

    Le préfixe que vous utilisez s'applique uniquement aux membres de la session active. Il ne modifie pas le module.





    -------------------------- EXEMPLE 7 --------------------------

    C:\PS>get-module -list | format-table -property name, moduletype -auto

    Name          ModuleType
    ----          ----------
    Show-Calendar     Script
    BitsTransfer    Manifest
    PSDiagnostics   Manifest
    TestCmdlets       Script

    C:\PS> $a = import-module -name Show-Calendar -asCustomObject

    C:\PS> $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();

    C:\PS> $a."show-calendar"()


    Description
    -----------
    Ces commandes montrent comment obtenir et utiliser l'objet personnalisé qui est retourné par Import-Module.

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

    Les objets personnalisés sont très utiles pour l'écriture de scripts. 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 peut être utilisé uniquement avec un module de script, ce qui fait que la première tâche consiste à déterminer lequel des modules disponibles est un module de script.

    La première commande utilise l'applet de commande Get-Module pour obtenir les modules disponibles. Elle utilise un opérateur de pipeline (|) pour passer les objets de module à l'applet de commande Format-Table, qui répertorie les ; propriétés Name et ModuleType de chaque module dans une table.

    La deuxième commande utilise l'applet de commande Import-Module pour importer le module de script Show-Calendar. Elle utilise le paramètre AsCustomObject pour demander un objet personnalisé. Elle enregistre l'objet personnalisé résultant dans la variable $a.

    La troisième commande utilise un opérateur de pipeline pour envoyer la variable $a à l'applet de commande Get-Member, qui obtient les propriétés et méthodes du PSCustomObject dans $a. La sortie affiche une méthode de script Show-Calendar.

    La dernière commande utilise la méthode de script Show-Calendar. Le nom de méthode doit être placé entre guillemets, parce qu'il inclut un trait d'union.





    -------------------------- EXEMPLE 8 --------------------------

    C:\PS>import-module BitsTransfer

    C:\PS> import-module BitsTransfer -force -prefix PS


    Description
    -----------
    Cet exemple indique comment utiliser le paramètre Force de l'applet de commande Import-Module lorsque vous réimportez un module dans la même session.

    La première commande importe le module BitsTransfer. La deuxième commande réimporte le module, cette fois à l'aide du paramètre Prefix.

    La deuxième commande inclut également le paramètre Force, qui supprime le module, puis le réimporte. Sans ce paramètre, la session inclurait deux copies de chaque applet de commande BitsTransfer, une avec le nom standard et une autre avec le nom préfixé.





    -------------------------- EXEMPLE 9 --------------------------

    C:\PS>get-date

    Saturday, September 12, 2009 6:47:04 PM

    C:\PS> import-module TestModule

    C:\PS> get-date
    09255

    C:\PS> get-command get-date | format-table -property commandtype, name, pssnapin, module -auto

    CommandType  Name       pssnapin                       Module
    -----------  ----       --------                       ------
       Function  Get-Date                                  TestModule
         Cmdlet  Get-Date   Microsoft.PowerShell.Utility


    C:\PS> Microsoft.PowerShell.Utility\get-date

    Saturday, September 12, 2009 6:33:23 PM


    Description
    -----------
    Cet exemple indique comment exécuter des commandes masquées par des commandes importées.

    La première commande exécute l'applet de commande Get-Date fournie avec Windows PowerShell. Elle retourne un objet DateTime avec la date actuelle.

    La deuxième commande importe le module TestModule. Ce module inclut une fonction nommée Get-Date qui retourne la date julienne.

    La troisième commande réexécute la commande Get-Date. Étant donné que les fonctions sont prioritaires sur les applets de commande, la fonction Get-Date du module TestModule a été exécutée, au lieu de l'applet de commande Get-Date.

    La quatrième commande indique que la session comporte deux commandes Get-Date, une fonction du module TestModule et une applet de commande du composant logiciel enfichable Microsoft.PowerShell.Utility.

    La cinquième commande exécute l'applet de commande masquée en qualifiant le nom de commande avec le nom de composant logiciel enfichable.

    Pour plus d'informations sur la précédence des commandes dans Windows PowerShell, consultez about_command_precedence.






LIENS CONNEXES
    Online version: http://go.microsoft.com/fwlink/?LinkID=141553
    Get-Module
    New-Module
    Remove-Module
    Export-ModuleMember
    about_Modules

Import-LocalizedData

NOM
    Import-LocalizedData

RÉSUMÉ
    Importe des données spécifiques à une langue dans des scripts et fonctions selon la culture d'interface utilisateur sélectionnée pour le système d'exploitation.

SYNTAXE
    Import-LocalizedData [-BindingVariable] <string> [[-UICulture] <string>] [-BaseDirectory <string>] [-FileName <string>] [-SupportedCommand <string[]>] [<CommonParameters>]


DESCRIPTION
    L'applet de commande Import-LocalizedData récupère dynamiquement des chaînes d'un sous-répertoire dont le nom correspond au jeu de langues d'interface utilisateur de l'utilisateur actuel du système d'exploitation. Elle est conçue pour activer des scripts permettant d'afficher les messages utilisateur dans la langue d'interface utilisateur sélectionnée par l'utilisateur actuel.

    Import-LocalizedData importe les données des fichiers .psd1 des sous-répertoires spécifiques à une langue du répertoire de script et les enregistre dans une variable locale spécifiée dans la commande. L'applet de commande sélectionne le sous-répertoire et le fichier en fonction de la valeur de la variable automatique $PSUICulture. Lorsque vous utilisez la variable locale du script pour afficher un message utilisateur, ce message apparaît dans la langue d'interface de l'utilisateur.

    Vous pouvez utiliser les paramètres de Import-LocalizedData pour spécifier une autre culture d'interface utilisateur, un autre chemin d'accès et un autre nom de fichier, pour ajouter des commandes prises en charge et pour supprimer le message d'erreur qui s'affiche si les fichiers .psd1 sont introuvables.

    L'applet de commande Import-LocalizedData prend en charge l'internationalisation des scripts dans Windows PowerShell 2.0. Cette initiative a pour objectif de mieux servir les utilisateurs du monde entier en facilitant l'affichage par les scripts des messages des utilisateurs dans la langue d'interface utilisateur de l'utilisateur actuel.  Pour plus d'informations à ce sujet et sur le format des fichiers .psd1, consultez about_Script_Internationalization.


PARAMÈTRES
    -BaseDirectory <string>
        Spécifie le répertoire de base des fichiers .psd1. La valeur par défaut est le répertoire du script. Import-LocalizedData recherche le fichier .psd1 du script dans un sous-répertoire spécifique à la langue du répertoire de base.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -BindingVariable <string>
        Spécifie une variable dans laquelle les chaînes de texte sont importées. Entrez un nom de variable sans le symbole dollar ($).

        Lorsque vous utilisez Import-LocalizedData pour remplacer les chaînes de texte par défaut spécifiées dans la section DATA d'un script, assignez la section DATA à une variable, puis entrez le nom de la variable de la section DATA dans la valeur du paramètre BindingVariable. Ensuite, lorsque l'applet de commande Import-LocalizedData enregistre le contenu importé dans le paramètre BindingVariable, les données importées remplacent les chaînes de texte par défaut. Si vous ne spécifiez pas de chaînes de texte par défaut, vous pouvez sélectionner n'importe quel nom de variable.

        Obligatoire ?                true
        Position ?                   1
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -FileName <string>
        Spécifie le nom du fichier .psd1 à importer. Entrez un nom de fichier sans l'extension .psd1.

        La valeur par défaut est le nom du script. Par exemple, si le script s'intitule FindFiles.ps1, Import-LocalizedData recherche FindFiles.psd1. Vous pouvez utiliser ce paramètre pour demander à Import-LocalizedData de rechercher un autre fichier .psd1.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -SupportedCommand <string[]>
        Spécifie les applets de commande et les fonctions qui génèrent uniquement des données.

        Utilisez ce paramètre pour inclure les applets de commande et les fonctions que vous avez écrites ou testées. Pour plus d'informations, consultez about_Script_Internationalization.

        Obligatoire ?                false
        Position ?                   named
        Valeur par défaut                     Aucun
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    -UICulture <string>
        Spécifie une autre culture d'interface utilisateur. La valeur par défaut est la valeur de la variable automatique $PsUICulture. Entrez une culture d'interface utilisateur au format « <langue>-<région> », tel que en-US, de-DE ou ar-SA.

        La valeur du paramètre UICulture détermine le sous-répertoire spécifique à la langue (dans le répertoire de base) à partir duquel Import-LocalizedData obtient le fichier .psd1 du script.

        L'applet de commande recherche un sous-répertoire portant le même nom que la valeur du paramètre UICulture ou la variable automatique $PsUICulture, tel que « de-DE » ou « ar-SA ». Si elle ne trouve pas le répertoire ou si le répertoire ne contient pas de fichier .psd1 pour le script, elle recherche un sous-répertoire avec le nom du code de langue, tel que « de » ou « ar ». Si elle ne trouve pas le sous-répertoire ou le fichier .psd1, la commande échoue et les données s'affichent dans la langue par défaut spécifiée dans le script.

        Obligatoire ?                false
        Position ?                   2
        Valeur par défaut
        Accepter l'entrée de pipeline ?       false
        Accepter les caractères génériques ?  false

    <CommonParameters>
        Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
        ErrorAction, ErrorVariable, WarningAction, WarningVariable,
        OutBuffer et OutVariable. Pour plus d'informations, tapez
        « get-help about_commonparameters ».

ENTRÉES
    Aucun
        Vous ne pouvez pas diriger d'entrée vers cette applet de commande.


SORTIES
    System.Collections.Hashtable
        Import-LocalizedData enregistre la table de hachage dans la variable spécifiée par la valeur du paramètre BindingVariable.


NOTES


        Avant d'utiliser Import-LocalizedData, localisez vos messages utilisateur. Mettez en forme les messages de chaque paramètre régional (culture d'interface utilisateur) dans une table de hachage de paires clé/valeur, puis enregistrez la table de hachage dans un fichier portant le même nom que le script et présentant l'extension .psd1 . Créez un répertoire dans le répertoire de script pour chaque culture d'interface utilisateur prise en charge, puis enregistrez le fichier .psd1 de chaque culture d'interface utilisateur dans le répertoire portant le nom de la culture d'interface utilisateur.

        Vous pouvez ainsi localiser vos messages utilisateur pour les paramètres régionaux de-DE et les mettre en forme dans une table de hachage. Enregistrez la table de hachage dans un fichier <NomScript>.psd1. Créez ensuite un sous-répertoire de-DE dans le répertoire de script et enregistrez le fichier de-DE <NomScript>.psd1 dans le sous-répertoire de-DE. Répétez cette méthode pour chaque paramètre régional pris en charge.

        Import-LocalizedData effectue une recherche structurée pour détecter les messages utilisateur localisés associés à un script.

        Import-LocalizedData commence la recherche dans le répertoire du fichier de script (ou la valeur du paramètre BaseDirectory). Elle recherche ensuite dans le répertoire de base un sous-répertoire portant le même nom que la valeur de la variable $PsUICulture (ou la valeur du paramètre UICulture), tel que « de-DE » ou « ar-SA ». Elle recherche alors dans ce sous-répertoire un fichier .psd1 portant le même nom que le script (ou la valeur du paramètre FileName).

        Si Import-LocalizedData ne trouve pas de sous-répertoire portant le nom de la culture d'interface utilisateur, ou si le sous-répertoire ne contient pas de fichier .psd1 pour le script, elle recherche un fichier .psd1 pour le script dans un sous-répertoire portant le nom du code de langue, tel que « de » ou « ar ». Si elle ne trouve pas le sous-répertoire ou le fichier .psd1, la commande échoue, les données s'affichent dans la langue par défaut du script et un message d'erreur apparaît pour expliquer que les données n'ont pas pu être importées. Pour supprimer le message et gérer correctement l'échec, utilisez le paramètre courant ErrorAction avec la valeur SilentlyContinue.

        Si Import-LocalizedData trouve le sous-répertoire et le fichier .psd1, elle importe la table de hachage de messages utilisateur dans la valeur du paramètre BindingVariable de la commande. Ensuite, lorsque vous affichez un message de la table de hachage dans la variable, le message localisé s'affiche.

        Pour plus d'informations, consultez about_Script_Internationalization.


    -------------------------- EXEMPLE 1 --------------------------

    C:\PS>import-localizeddata -bindingVariable messages


    Description
    -----------
    Cette commande importe des chaînes de texte dans la variable $messages. Elle utilise toutes les valeurs par défaut des paramètres de l'applet de commande.

    Si la commande est incluse dans le script Archives.ps1 du répertoire C:\test, et si la valeur de la variable automatique $PsUICulture est zh-CN, Import-LocalizedData importe le fichier Archives.psd1 dans le répertoire C:\test\zh-C
    N.





    -------------------------- EXEMPLE 2 --------------------------

    C:\PS>import-localizeddata -bindingVariable msgTbl -uiculture ar-SA -filename Simple -baseDirectory C:\Data\Localized


    Description
    -----------
    Cette commande importe des chaînes de texte dans la variable $msgTbl d'un script.

    Elle utilise le paramètre UICulture pour demander à l'applet de commande d'importer les données à partir du fichier Simple.psd1 du sous-répertoire ar-SA de C:\Data\Localized.





    -------------------------- EXEMPLE 3 --------------------------

    C:\PS># In C:\Test\en-US\test.psd1:

    ConvertFrom-StringData @'
     # English strings
    Msg1 = "The Name parameter is missing from the command."
    Msg2 = "This command requires the credentials of a member of the Administrators group on the computer."
    Msg3 = "Use $_ to represent the object that is being processed."
    '@

    # In C:\Test\Test.ps1

    import-localizeddata -bindingvariable messages
    write-host $messages.msg2

    # In Windows PowerShell

    C:\PS> .\test.ps1
    This command requires the credentials of a member of the Administrators group on the computer.


    Description
    -----------
    Cet exemple montre comment utiliser les données localisées d'un script simple.

    La première partie de l'exemple affiche le contenu du fichier Test.psd1. Elle contient une commande ConvertFrom-StringData qui convertit une série de chaînes de texte nommé en une table de hachage. Le fichier test.psd1 se trouve dans le sous-répertoire en-US du répertoire C:\Test contenant le script.

    La deuxième partie de l'exemple affiche le contenu du script Test.ps1. Elle contient une commande Import-LocalizedData qui importe les données du fichier .psd1 correspondant dans la variable $Messages, ainsi qu'une commande Write-Host qui écrit l'un des messages de la variable $Messages dans le programme hôte.

    La dernière partie de l'exemple exécute le script. La sortie montre que le script affiche le message utilisateur correct dans la langue d'interface utilisateur définie pour l'utilisateur actuel du système d'exploitation.





    -------------------------- EXEMPLE 4 --------------------------

    C:\PS># In TestScript.ps1

    $UserMessages = DATA {
        ConvertFrom-StringData @'
        # English strings
            Msg1 = "Enter a name."
            Msg2 = "Enter your employee ID."
            Msg3 = "Enter your building number."
    '@ }

    Import-LocalizedData -bindingVariable UserMessages

    $UserMessages.Msg1
    ...


    Description
    -----------
    Cet exemple montre comment utiliser Import-LocalizedData pour remplacer les chaînes de texte par défaut définies dans la section DATA d'un script.

    Dans cet exemple, la section DATA du script TestScript.ps1 contient une commande ConvertFrom-StringData qui convertit le contenu de la section DATA en une table de hachage et stocke la valeur de la variable $UserMessages.

    Le script comprend également une commande Import-LocalizedData, qui importe une table de hachage de chaînes de texte traduites à partir du fichier TestScript.psd1 dans le sous-répertoire spécifié par la valeur de la variable $PsUICulture. Si la commande trouve le fichier .psd1, elle enregistre les chaînes traduites du fichier dans la valeur de la même variable $UserMessages, en remplaçant la table de hachage enregistrée par la logique de la section DATA.

    La troisième commande affiche le premier message de la variable $UserMessages.

    Si la commande Import-LocalizedData trouve un fichier .psd1 pour la langue $PsUICulture, la valeur de la variable $UserMessages contient les chaînes de texte traduites. Si la commande échoue, quelle qu'en soit la raison, elle affiche les chaînes de texte par défaut définies dans la section DATA du script.





    -------------------------- EXEMPLE 5 --------------------------

    C:\PS># In Day1.ps1
    Import-LocalizedData -bindingVariable Day
    Day.MessageDate

    # In Day2.ps1
    Import-LocalizedData -bindingVariable Day -errorAction:silentlycontinue
    Day.MessageDate

    C:\PS> .\Day1.ps1

    Import-LocalizedData : Cannot find PowerShell data file 'Day1.psd1' in directory 'C:\ps-test\fr-BE\' or any parent
    culture directories.
    At C:\ps-test\Day1.ps1:17 char:21
    + Import-LocalizedData <<<<  Day
    Today is Tuesday


    C:\PS> .\Day2.ps1

    Today is Tuesday


    Description
    -----------
    Cet exemple montre comment supprimer les messages d'erreur qui s'affichent lorsque Import-LocalizedData ne trouve pas les répertoires correspondant à la culture d'interface de l'utilisateur ou ne trouve pas un fichier .psd1 pour le script dans ces répertoires.

    Vous pouvez utiliser le paramètre courant ErrorAction avec la valeur « SilentlyContinue » pour supprimer le message d'erreur. Ceci est particulièrement utile lorsque vous avez fourni des messages utilisateur dans une langue par défaut ou de base et qu'aucun message d'erreur n'est requis.

    Cet exemple compare deux scripts, Day1.ps1 et Day2.ps1, qui contiennent une commande Import-LocalizedData. Ces scripts sont identiques, à ceci près que Jour2 utilise le paramètre courant ErrorAction avec la valeur SilentlyContinue
    .

    L'exemple de sortie affiche les résultats de l'exécution des deux scripts lorsque la culture d'interface utilisateur est définie sur fr-BE et qu'il n'y a pas de fichiers ou répertoires correspondants pour cette culture d'interface utilisateur. Day1.ps1 affiche un message d'erreur et une sortie en anglais. Day2.ps1 affiche juste la sortie en anglais.






LIENS CONNEXES
    Online version: http://go.microsoft.com/fwlink/?LinkID=113342
    about_Script_Internationalization