Import-PSSession
Importe les commandes d’une autre session dans la session active.
Syntaxe
Import-PSSession
[-Prefix <String>]
[-DisableNameChecking]
[[-CommandName] <String[]>]
[-AllowClobber]
[-ArgumentList <Object[]>]
[-CommandType <CommandTypes>]
[-Module <String[]>]
[-FullyQualifiedModule <ModuleSpecification[]>]
[[-FormatTypeName] <String[]>]
[-Certificate <X509Certificate2>]
[-Session] <PSSession>
[<CommonParameters>]
Description
La Import-PSSession
applet de commande importe des commandes, telles que des applets de commande, des fonctions et des alias, à partir d’une session PSSession sur un ordinateur local ou distant dans la session active. Vous pouvez importer n’importe quelle commande que l’applet de commande Get-Command
peut trouver 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 qui inclut des modules Windows PowerShell et des composants logiciels enfichables ou d’autres éléments qui ne figurent pas dans la session active.
Pour importer des commandes, utilisez 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 des commandes qui ont les mêmes noms que les commandes dans la session active. Pour importer toutes les commandes, utilisez le paramètre AllowClobber.
Vous pouvez utiliser des commandes importées comme vous le feriez pour n’importe quelle commande dans 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 gérées entièrement par Windows PowerShell. Vous n’avez même pas besoin de les connaître, sauf que vous devez conserver la connexion à l’autre session (PSSession) ouverte. Si vous la fermez, les commandes importées ne sont plus disponibles.
Étant donné que les commandes importées peuvent prendre plus de temps que les commandes locales, Import-PSSession
ajoute un paramètre AsJob à chaque commande importée. Ce paramètre vous permet d’exécuter la commande en tant que travail 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 persistant que vous pouvez utiliser dans les sessions ultérieures, 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.
À compter de Windows PowerShell 3.0, vous pouvez utiliser l’applet de commande Import-Module
pour importer des modules à partir d’une session distante dans la session active. Cette fonctionnalité utilise la communication à distance implicite. Il équivaut à utiliser Import-PSSession
pour importer des modules sélectionnés à partir d’une session distante dans la session active.
Exemples
Exemple 1 : Importer toutes les commandes à partir d’une session PSSession
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S
Cette commande importe toutes les commandes d’une session PSSession sur l’ordinateur Server01 dans la session active, à l’exception des commandes qui ont le même nom que les commandes de la session active.
Étant donné que cette commande n’utilise pas le paramètre CommandName, elle importe également toutes les données de mise en forme requises pour les commandes importées.
Exemple 2 : Importer des commandes qui se terminent par une chaîne spécifique
$S = New-PSSession https://ps.testlabs.com/powershell
Import-PSSession -Session $S -CommandName *-test -FormatTypeName *
New-Test -Name Test1
Get-Test test1 | Run-Test
Ces commandes importent les commandes avec des noms qui se terminent par « -test » d’une session PSSession dans la session locale, puis montrent 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. Il enregistre la session PSSession dans la variable $S
.
La deuxième commande utilise l’applet de commande Import-PSSession
pour importer des commandes à partir de la session PSSession dans $S
dans la session active. Il utilise le paramètre CommandName pour spécifier des commandes avec le nom test et le paramètre FormatTypeName pour importer les données de mise en forme des 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 réellement 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 : Importer des applets de commande à partir d’une session PSSession
$S1 = New-PSSession -ComputerName s1
$S2 = New-PSSession -ComputerName s2
Import-PSSession -Session s1 -Type cmdlet -Name New-Test, Get-Test -FormatTypeName *
Import-PSSession -Session s2 -Type Cmdlet -Name Set-Test -FormatTypeName *
New-Test Test1 | Set-Test -RunType Full
Cet exemple montre que vous pouvez utiliser des applets de commande importées comme vous le feriez pour 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 de l’applet de commande Set-Test
à partir d’une session PSSession sur l’ordinateur Server02.
Même si les applets de commande ont été importées à partir de différentes sessions PSSession, vous pouvez diriger un objet d’une applet de commande vers une autre sans erreur.
Exemple 4 : Exécuter une commande importée en tant que travail en arrière-plan
$S = New-PSSession -ComputerName Server01
Import-PSSession -Session $S -CommandName *-test* -FormatTypeName *
$batch = New-Test -Name Batch -AsJob
Receive-Job $batch
Cet exemple montre comment exécuter une commande importée en tant que travail en arrière-plan.
Étant donné que les commandes importées peuvent prendre plus de temps que les commandes locales, Import-PSSession
ajoute un paramètre AsJob à chaque commande importée. Le paramètre AsJob vous permet d’exécuter la commande en tant que travail 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 dans $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 travail en arrière-plan. La commande enregistre l’objet de travail qui New-Test
retourne dans la variable $batch
.
La quatrième commande utilise l’applet de commande Receive-Job
pour obtenir les résultats du travail dans la variable $batch
.
Exemple 5 : Importer des applets de commande et des fonctions à partir d’un module Windows PowerShell
$S = New-PSSession -ComputerName Server01
Invoke-Command -Session $S {Import-Module TestManagement}
Import-PSSession -Session $S -Module TestManagement
Cet exemple montre comment importer les applets de commande et les fonctions à partir d’un module Windows PowerShell sur un 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 dans $S
.
En règle générale, 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 psSessions.
La troisième commande utilise le paramètre module de Import-PSSession
pour importer les applets de commande et les fonctions du module dans la session active.
Exemple 6 : Créer un module dans un fichier temporaire
PS C:\> 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_tcw1
zunz.ttf\tmp_79468106-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_tcw1
zunz.ttf
ModuleType : Script
PrivateData : {ImplicitRemoting}
AccessMode : ReadWrite
ExportedAliases : {}
ExportedCmdlets : {}
ExportedFunctions : {[Get-Date, Get-Date], [SearchHelp, SearchHelp]}
ExportedVariables : {}
NestedModules : {}
Cet exemple montre que Import-PSSession
crée un module dans un fichier temporaire sur le disque. Elle montre également que toutes les commandes sont converties en fonctions avant qu’elles ne soient 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 indique que Import-PSSession
créé un fichier de module de script (.psm1) dans un emplacement temporaire. La propriété ExportedFunctions indique que l’applet de commande Get-Date
et la fonction SearchHelp ont tous deux été importés en tant que fonctions.
Exemple 7 : Exécuter une commande masquée par une commande importée
PS C:\> Import-PSSession $S -CommandName Get-Date -FormatTypeName * -AllowClobber
PS C:\> Get-Command Get-Date -All
CommandType Name Definition
----------- ---- ----------
Function Get-Date ...
Cmdlet Get-Date Get-Date [[-Date] <DateTime>] [-Year <Int32>] [-Month <Int32>]
PS C:\> Get-Date
09074
PS C:\> (Get-Command -Type Cmdlet -Name Get-Date).PSSnapin.Name
Microsoft.PowerShell.Utility
PS C:\> Microsoft.PowerShell.Utility\Get-Date
Sunday, March 15, 2009 2:08:26 PM
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 requis dans la commande.
La deuxième commande utilise le paramètre All de l’applet de commande Get-Command
pour obtenir toutes les commandes Get-Date
dans la session active. La sortie indique 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 dans $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 Julian.
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 qualifié enfichable 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 : Importer des commandes qui ont une chaîne spécifique dans leurs noms
PS C:\> Import-PSSession -Session $S -CommandName **Item** -AllowClobber
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 de la commande dans la session active.
Exemple 9 : Utiliser le paramètre Module pour découvrir les commandes qui ont été importées dans la session
PS C:\> $M = Import-PSSession -Session $S -CommandName *bits* -FormatTypeName *bits*
PS C:\> 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
Cette commande montre comment utiliser le paramètre module de Get-Command
pour savoir quelles commandes 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 des commandes dont les noms incluent des « bits » à partir de la session PSSession dans la variable $S
. La commande Import-PSSession
retourne un module temporaire et la commande 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 de 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
».
Paramètres
-AllowClobber
Indique que cette applet de commande importe les commandes spécifiées, même si elles ont les mêmes noms que les commandes dans la session active.
Si vous importez une commande portant le même nom qu’une commande dans la session active, la commande importée masque ou remplace les commandes d’origine. Pour plus d’informations, consultez about_Command_Precedence.
Par défaut, Import-PSSession
n’importe pas de commandes portant le même nom que les commandes de la session active.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ArgumentList
Spécifie un tableau de commandes résultant de l’utilisation des arguments spécifiés (valeurs de paramètre).
Par exemple, pour importer la variante de la commande Get-Item
dans le lecteur de certificat (Cert :) dans la session PSSession dans $S
, tapez Import-PSSession -Session $S -Command Get-Item -ArgumentList cert:
.
Type: | Object[] |
Alias: | Args |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Certificate
Spécifie le certificat client utilisé pour signer les fichiers de format (*). Fichiers de module format.ps1xml) ou de script (.psm1) dans le module temporaire créé Import-PSSession
.
Entrez une variable qui contient un certificat ou une commande ou une expression qui obtient le certificat.
Pour rechercher un certificat, utilisez l’applet de commande Get-PfxCertificate
ou utilisez l’applet de commande Get-ChildItem
dans le lecteur Certificat (Cert :). Si le certificat n’est pas valide ou ne dispose pas d’une autorité suffisante, la commande échoue.
Type: | X509Certificate2 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CommandName
Spécifie les commandes avec les noms ou modèles de noms spécifiés. Les caractères génériques sont autorisés. Utilisez CommandName ou son alias, Nom.
Par défaut, Import-PSSession
importe toutes les commandes de la session, à l’exception des commandes qui ont le même nom que les commandes de la session active. Cela empêche les commandes importées de masquer ou de remplacer des commandes dans la session. Pour importer toutes les commandes, même celles qui masquent ou remplacent 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, sauf si vous utilisez le paramètre FormatTypeName. De même, si vous utilisez le paramètre FormatTypeName, aucune commande n’est importée, sauf si vous utilisez le paramètre CommandName.
Type: | String[] |
Alias: | Name |
Position: | 2 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-CommandType
Spécifie le type d’objets de commande. La valeur par défaut est Cmdlet. Utilisez CommandType ou son alias, Type. Les valeurs acceptables pour ce paramètre sont les suivantes :
-
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 répertoriés dans la variable d’environnement Path ($env:path
) dans la session à distance, y compris les fichiers .txt, .exeet .dll. -
Cmdlet
: applets de commande de la session à distance. « Cmdlet » est la valeur par défaut. -
ExternalScript
: fichiers .ps1 dans les chemins répertoriés dans la variable d’environnement Path ($env:path
) dans la session à distance. -
Filter
etFunction
: les fonctions Windows PowerShell dans la session à distance. -
Script
: blocs de script dans la session à distance.
Ces valeurs sont définies comme une énumération basée sur des indicateurs. Vous pouvez combiner plusieurs valeurs pour définir plusieurs indicateurs à l’aide de ce paramètre. Les valeurs peuvent être transmises au paramètre CommandType en tant que tableau de valeurs ou sous forme de chaîne séparée par des virgules de ces valeurs. L’applet de commande combine les valeurs à l’aide d’une opération binary-OR. La transmission de valeurs en tant que tableau est l’option la plus simple et vous permet également d’utiliser la saisie semi-automatique sous forme de tabulation sur les valeurs.
Type: | CommandTypes |
Alias: | Type |
Valeurs acceptées: | Alias, Function, Filter, Cmdlet, ExternalScript, Application, Script, Workflow, Configuration, All |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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, Windows 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.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FormatTypeName
Spécifie les instructions de mise en forme pour les types Microsoft .NET Framework spécifiés. Entrez les noms de type. 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 dans la session à distance, tapez *
.
Si la commande n’inclut pas le paramètre CommandName ou FormatTypeName, Import-PSSession
importe les 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, sauf si vous utilisez 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, sauf si vous utilisez le paramètre FormatTypeName.
Type: | String[] |
Position: | 3 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-FullyQualifiedModule
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.
-
Vous ne pouvez pas spécifier le paramètre FullyQualifiedModule dans la même commande qu’un paramètre Module. Les deux paramètres s’excluent mutuellement.
Type: | ModuleSpecification[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Module
Spécifie et tableau de commandes dans les composants logiciels enfichables et les modules Windows PowerShell. Entrez les noms du composant logiciel enfichable et du module. Les caractères génériques ne sont pas autorisés.
Import-PSSession
ne peut pas importer de fournisseurs à partir d’un composant logiciel enfichable.
Pour plus d’informations, consultez about_PSSnapins et about_Modules.
Type: | String[] |
Alias: | PSSnapin |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Prefix
Spécifie un préfixe aux noms des commandes importées.
Utilisez ce paramètre pour éviter les conflits de noms 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 en tant que Get-RemoteDate
, et elle n’est pas confondue avec l’applet de commande Get-Date
d’origine.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Session
Spécifie le psSession à partir duquel les applets de commande sont importées. Entrez une variable qui contient un objet de session ou une commande qui obtient un objet de session, tel qu’une New-PSSession
ou une commande Get-PSSession
. Vous ne pouvez spécifier qu’une seule session. Ce paramètre est requis.
Type: | PSSession |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
Cette applet de commande retourne le même objet de module que New-Module
et les applets de commande Get-Module
retournent.
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
s’appuie sur l’infrastructure de communication à distance PowerShell. Pour utiliser cette applet de commande, l’ordinateur doit être configuré pour WS-Management communication à distance. Pour plus d’informations, consultez about_Remote et about_Remote_Requirements. -
Import-PSSession
n’importe pas de variables ni de fournisseurs PowerShell. - Lorsque vous importez des commandes qui ont les mêmes noms que les commandes de la session active, les commandes importées peuvent masquer les alias, les fonctions et les applets de commande dans la session, et elles peuvent remplacer des fonctions et des variables dans la session. Pour éviter les conflits de noms, utilisez le paramètre préfixe. Pour plus d’informations, consultez about_Command_Precedence.
-
Import-PSSession
convertit toutes les commandes en fonctions avant de les importer. Par conséquent, les commandes importées se comportent un peu différemment de celles qu’elles conserveraient 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 PSSession s’exécute toujours par défaut, car les fonctions sont prioritaires sur les applets de commande. À l’inverse, si vous importez un alias dans une session qui a un alias portant le 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 commandeWrite-Progress
pour afficher la progression de la commande. La barre de progression peut s’afficher pendant l’exécution de la commande. - Pour rechercher les commandes à importer,
Import-PSSession
utilise l’applet de commandeInvoke-Command
pour exécuter une commandeGet-Command
dans la session PSSession. Pour obtenir des données de mise en forme pour les commandes, elle utilise l’applet de commandeGet-FormatData
. Vous pouvez voir des messages d’erreur à partir de ces applets de commande lorsque vous exécutez une commandeImport-PSSession
. En outre,Import-PSSession
ne peut pas importer de commandes à partir d’une session PSSession qui n’inclut pas les applets de commandeGet-Command
,Get-FormatData
,Select-Object
etGet-Help
. - Les commandes importées présentent les mêmes limitations que les autres commandes distantes, notamment l’incapacité de démarrer un programme avec une interface utilisateur, comme le Bloc-notes.
- Étant donné que les profils Windows PowerShell ne sont pas exécutés dans les sessions PSSession, 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 commandeInvoke-Command
pour exécuter le profil dans psSession manuellement avant d’importer des commandes. - Le module temporaire qui
Import-PSSession
crée peut inclure un fichier de mise en forme, même si la commande n’importe pas les données de mise en forme. Si la commande n’importe pas de données de mise en forme, les fichiers de mise en forme créés ne contiennent 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 restreinte ou AllSigned, car le module temporaire créé parImport-PSSession
contient des fichiers de script non signés interdits par ces stratégies. Pour utiliserImport-PSSession
sans modifier la stratégie d’exécution de l’ordinateur local, utilisez le paramètre Étendue deSet-ExecutionPolicy
pour définir une stratégie d’exécution moins restrictive pour un seul processus. - Dans Windows PowerShell 2.0, les rubriques d’aide relatives aux commandes importées à partir d’une autre session n’incluent pas le préfixe que vous affectez à l’aide du paramètre Préfixe. Pour obtenir de l’aide pour une commande importée dans Windows PowerShell 2.0, utilisez le nom de commande d’origine (non préfixé).