Enter-PSSession
Démarre une session interactive avec un ordinateur distant.
Syntaxe
ComputerName (Par défaut)
Enter-PSSession
[-ComputerName] <String>
[[-Credential] <PSCredential>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-Port <Int32>]
[-UseSSL]
[-ApplicationName <String>]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
SSHHost
Enter-PSSession
[-HostName] <String>
[-Options <Hashtable>]
[-Port <Int32>]
[-UserName <String>]
[-KeyFilePath <String>]
[-Subsystem <String>]
[-ConnectingTimeout <Int32>]
[-SSHTransport]
[<CommonParameters>]
Session
Enter-PSSession
[[-Session] <PSSession>]
[<CommonParameters>]
Uri
Enter-PSSession
[[-ConnectionUri] <Uri>]
[[-Credential] <PSCredential>]
[-EnableNetworkAccess]
[-ConfigurationName <String>]
[-AllowRedirection]
[-SessionOption <PSSessionOption>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
InstanceId
Enter-PSSession
[-InstanceId <Guid>]
[<CommonParameters>]
Id
Enter-PSSession
[[-Id] <Int32>]
[<CommonParameters>]
Name
Enter-PSSession
[-Name <String>]
[<CommonParameters>]
VMId
Enter-PSSession
[-VMId] <Guid>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
VMName
Enter-PSSession
[-VMName] <String>
[-Credential] <PSCredential>
[-ConfigurationName <String>]
[<CommonParameters>]
ContainerId
Enter-PSSession
[-ContainerId] <String>
[-ConfigurationName <String>]
[-RunAsAdministrator]
[<CommonParameters>]
Description
L’applet de commande Enter-PSSession démarre une session interactive avec un seul ordinateur distant. Pendant la session, les commandes que vous tapez s’exécutent sur l’ordinateur distant, comme si vous tapiez directement sur l’ordinateur distant. Vous ne pouvez avoir qu’une seule session interactive à la fois.
En règle générale, vous utilisez le paramètre ComputerName pour spécifier le nom de l’ordinateur distant.
Toutefois, vous pouvez également utiliser une session que vous créez à l’aide de l’applet de commande New-PSSession pour la session interactive. Toutefois, vous ne pouvez pas utiliser les applets de commande Disconnect-PSSession, Connect-PSSessionou Receive-PSSession pour vous déconnecter ou se reconnecter à une session interactive.
À compter de PowerShell 6.0, vous pouvez utiliser Secure Shell (SSH) pour établir une connexion à un ordinateur distant. Vous devez disposer de SSH sur l’ordinateur local et l’ordinateur distant doit être configuré avec un point de terminaison SSH PowerShell. L’avantage d’une session à distance PowerShell basée sur SSH est qu’elle fonctionne sur plusieurs plateformes (Windows, Linux, macOS). Pour la communication à distance basée sur SSH, vous utilisez le paramètre HostName défini pour spécifier l’ordinateur distant et les informations de connexion pertinentes. Pour plus d’informations sur la configuration de la communication à distance SSH PowerShell, consultez Communication à distance PowerShell via SSH.
Pour mettre fin à la session interactive et vous déconnecter de l’ordinateur distant, utilisez l’applet de commande Exit-PSSession, ou tapez exit.
Important
Enter-PSSession est conçu pour remplacer la session interactive actuelle par une nouvelle session à distance interactive. Vous ne devez pas l’appeler à partir d’une fonction ou d’un script ou en le transmettant en tant que commande au fichier exécutable pwsh.
Exemples
Exemple 1 : Démarrer une session interactive
PS> Enter-PSSession
[localhost]: PS>
Cette commande démarre une session interactive sur l’ordinateur local. L’invite de commandes change pour indiquer que vous exécutez maintenant des commandes dans une autre session.
Les commandes que vous entrez s’exécutent dans la nouvelle session et les résultats sont renvoyés à la session par défaut sous forme de texte.
Exemple 2 : Utiliser une session interactive
La première commande utilise l’applet de commande Enter-PSSession pour démarrer une session interactive avec Server01, un ordinateur distant. Au démarrage de la session, l’invite de commandes change pour inclure le nom de l’ordinateur.
La deuxième commande obtient le processus PowerShell et redirige la sortie vers le fichier Process.txt.
La commande est envoyée à l’ordinateur distant et le fichier est enregistré sur l’ordinateur distant.
La troisième commande utilise le mot clé exit pour mettre fin à la session interactive et fermer la connexion.
La quatrième commande confirme que le fichier Process.txt se trouve sur l’ordinateur distant. Une commande Get-ChildItem (« dir ») sur l’ordinateur local ne peut pas trouver le fichier.
PS C:\> Enter-PSSession -ComputerName Server01
[Server01]: PS C:\>
[Server01]: PS C:\> Get-Process powershell > C:\ps-test\Process.txt
[Server01]: PS C:\> exit
PS C:\>
PS C:\> dir C:\ps-test\Process.txt
Get-ChildItem : Cannot find path 'C:\ps-test\Process.txt' because it does not exist.
At line:1 char:4
+ dir <<<< C:\ps-test\Process.txt
Cette commande montre comment travailler dans une session interactive avec un ordinateur distant.
Exemple 3 : Utiliser le paramètre Session
PS> $s = New-PSSession -ComputerName Server01
PS> Enter-PSSession -Session $s
[Server01]: PS>
Ces commandes utilisent le paramètre session de Enter-PSSession pour exécuter la session interactive dans une session PowerShell existante (psSession).
Exemple 4 : Démarrer une session interactive et spécifier les paramètres port et informations d’identification
PS> Enter-PSSession -ComputerName Server01 -Port 90 -Credential Domain01\User01
[Server01]: PS>
Cette commande démarre une session interactive avec l’ordinateur Server01. Il utilise le paramètre Port pour spécifier le port et le paramètre d'Credential pour spécifier le compte d’un utilisateur autorisé à se connecter à l’ordinateur distant.
Exemple 5 : Arrêter une session interactive
PS> Enter-PSSession -ComputerName Server01
[Server01]: PS> Exit-PSSession
PS>
Cet exemple montre comment démarrer et arrêter une session interactive. La première commande utilise l’applet de commande Enter-PSSession pour démarrer une session interactive avec l’ordinateur Server01.
La deuxième commande utilise l’applet de commande Exit-PSSession pour mettre fin à la session. Vous pouvez également utiliser le mot clé exit pour mettre fin à la session interactive.
Exit-PSSession et exit ont le même effet.
Exemple 6 : Démarrer une session interactive à l’aide de SSH
PS> Enter-PSSession -HostName UserA@LinuxServer01
Cet exemple montre comment démarrer une session interactive à l’aide de Secure Shell (SSH). Si SSH est configuré sur l’ordinateur distant pour utiliser des mots de passe, vous êtes invité à entrer un mot de passe. Sinon, vous devez utiliser l’authentification utilisateur basée sur des clés.
Exemple 7 : Démarrer une session interactive à l’aide de SSH avec un port et une clé d’authentification utilisateur
PS> Enter-PSSession -HostName UserA@LinuxServer02:22 -KeyFilePath C:\sshkeys\userAKey_rsa
Cet exemple montre comment démarrer une session interactive à l’aide de SSH. Le nom d’utilisateur et le numéro de port SSH sont spécifiés en tant que parties de la valeur du paramètre HostName. Le paramètre KeyFilePath spécifie l’emplacement d’une clé RSA utilisée pour authentifier l’utilisateur sur l’ordinateur distant.
Exemple 8 : Démarrer une session interactive à l’aide des options SSH
$options = @{
Port=22
User = 'UserA'
Host = 'LinuxServer02'
}
Enter-PSSession -KeyFilePath C:\sshkeys\userAKey_rsa -Options $options
Cet exemple montre comment démarrer une session interactive à l’aide de SSH. Le paramètre options prend une table de hachage de valeurs transmises en tant qu’options à la commande ssh sous-jacente, la connexion établie au système distant.
Paramètres
-AllowRedirection
Autorise la redirection de cette connexion vers un autre URI (Uniform Resource Identifier). Par défaut, la redirection n’est pas autorisée.
Lorsque vous utilisez le paramètre ConnectionURI, la destination distante peut retourner une instruction pour rediriger vers un AUTRE URI. Par défaut, PowerShell ne redirige pas les connexions, mais vous pouvez utiliser ce paramètre pour lui permettre de rediriger la connexion.
Vous pouvez également limiter le nombre de fois où la connexion est redirigée en modifiant la valeur d’option de session MaximumConnectionRedirectionCount. Utilisez le paramètre MaximumRedirection de l’applet de commande New-PSSessionOption ou définissez la propriété MaximumConnectionRedirectionCount de la variable de préférence $PSSessionOption. La valeur par défaut est 5.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ApplicationName
Spécifie le segment de nom d'application de l'URI de connexion. Utilisez ce paramètre pour spécifier le nom de l’application lorsque vous n’utilisez pas le paramètre ConnectionURI dans la commande.
La valeur par défaut est la valeur de la variable de préférence $PSSessionApplicationName sur l’ordinateur local. Si cette variable de préférence n’est pas définie, la valeur par défaut est WSMAN. Cette valeur est appropriée pour la plupart des utilisations. Pour plus d'informations, consultez about_Preference_Variables.
Le service WinRM utilise le nom de l’application pour sélectionner un écouteur pour traiter la demande de connexion. La valeur de ce paramètre doit correspondre à la valeur du URLPrefix propriété d’un écouteur sur l’ordinateur distant.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Authentication
Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur. Les valeurs acceptables pour ce paramètre sont les suivantes :
- Par défaut
- Élémentaire
- Credssp
- Résumé
- Kerberos
- Négocier
- NegotiateWithImplicitCredential
La valeur par défaut est Default.
L’authentification CredSSP est disponible uniquement dans Windows Vista, Windows Server 2008 et versions ultérieures du système d’exploitation Windows.
Pour plus d’informations sur les valeurs de ce paramètre, consultez AuthenticationMechanism Enum.
Avertissement
L’authentification CredSSP (Credential Security Support Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.
Propriétés du paramètre
| Type: | AuthenticationMechanism |
| Valeur par défaut: | None |
| Valeurs acceptées: | Default, Basic, Negotiate, NegotiateWithImplicitCredential, Credssp, Digest, Kerberos |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-CertificateThumbprint
Spécifie le certificat de clé publique numérique (X509) d’un compte d’utilisateur autorisé à effectuer cette action. Entrez l’empreinte numérique du certificat.
Les certificats sont utilisés dans l’authentification basée sur les certificats client. Ils ne peuvent être mappés qu’à des comptes d’utilisateur locaux ; ils ne fonctionnent pas avec des comptes de domaine.
Pour obtenir un certificat, utilisez la commande Get-Item ou Get-ChildItem dans le lecteur PowerShell Cert : .
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ComputerName
Spécifie un nom d’ordinateur. Cette applet de commande démarre une session interactive avec l’ordinateur distant spécifié. Entrez un seul nom d’ordinateur. La valeur par défaut est l’ordinateur local.
Tapez le nom NetBIOS, l’adresse IP ou le nom de domaine complet de l’ordinateur. Vous pouvez également diriger un nom d’ordinateur vers Enter-PSSession.
Pour utiliser une adresse IP dans la valeur du paramètre ComputerName
Remarque
Sur le système d’exploitation Windows, pour inclure l’ordinateur local dans la valeur du paramètre ComputerName, vous devez démarrer PowerShell avec l’option Exécuter en tant qu’administrateur.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Cn |
Jeux de paramètres
ComputerName
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-ConfigurationName
Spécifie la configuration de session utilisée pour la session interactive.
Entrez un nom de configuration ou l'URI complet de la ressource pour une configuration de session. Si vous spécifiez uniquement le nom de configuration, l’URI de schéma suivant est ajouté : http://schemas.microsoft.com/powershell.
Lorsqu’il est utilisé avec SSH, il spécifie le sous-système à utiliser sur la cible tel qu’il est défini dans sshd_config. La valeur par défaut pour SSH est le powershell sous-système.
La configuration de session d’une session se trouve sur l’ordinateur distant. Si la configuration de session spécifiée n’existe pas sur l’ordinateur distant, la commande échoue.
La valeur par défaut est la valeur de la variable de préférence $PSSessionConfigurationName sur l’ordinateur local. Si cette variable de préférence n’est pas définie, la valeur par défaut est Microsoft.PowerShell. Pour plus d'informations, consultez about_Preference_Variables.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
VMId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
VMName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
ContainerId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-ConnectingTimeout
Spécifie la durée en millisecondes autorisée pour la fin de la connexion SSH initiale. Si la connexion ne se termine pas dans le délai spécifié, une erreur est retournée.
Ce paramètre a été introduit dans PowerShell 7.2
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | unlimited |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ConnectionUri
Spécifie un URI qui définit le point de terminaison de connexion de la session. L’URI doit être complet. Le format de cette chaîne est le suivant :
<Transport>://<ComputerName>:<Port>/<ApplicationName>
La valeur par défaut est la suivante :
http://localhost:5985/WSMAN
Si vous ne spécifiez pas de ConnectionURI, vous pouvez utiliser les paramètres UseSSL, ComputerName, Portet Nom_ApplicationName pour spécifier les valeurs ConnectionURI.
Les valeurs valides pour le segment Transport de l’URI sont HTTP et HTTPS. Si vous spécifiez un URI de connexion avec un segment de transport, mais que vous ne spécifiez pas de port, la session est créée à l’aide de ports standard : 80 pour HTTP et 443 pour HTTPS. Pour utiliser les ports par défaut pour la communication à distance PowerShell, spécifiez le port 5985 pour HTTP ou 5986 pour HTTPS.
Si l’ordinateur de destination redirige la connexion vers un autre URI, PowerShell empêche la redirection, sauf si vous utilisez le paramètre AllowRedirection dans la commande.
Propriétés du paramètre
| Type: | Uri |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | URI, CU |
Jeux de paramètres
Uri
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-ContainerId
Spécifie l’ID d’un conteneur.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ContainerId
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Credential
Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.
Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential généré par l’applet de commande Get-Credential. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer le mot de passe.
Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.
Remarque
Pour plus d’informations sur la protection des données de SecureString, consultez Quelle est la sécurité de SecureString ?.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | Current user |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
Uri
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
VMId
| Position: | 1 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
VMName
| Position: | 1 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-EnableNetworkAccess
Indique que cette applet de commande ajoute un jeton de sécurité interactif aux sessions de bouclage. Le jeton interactif vous permet d’exécuter des commandes dans la session de bouclage qui obtiennent des données à partir d’autres ordinateurs. Par exemple, vous pouvez exécuter une commande dans la session qui copie des fichiers XML d’un ordinateur distant vers l’ordinateur local.
Une session de bouclage est une psSession qui provient et se termine sur le même ordinateur. Pour créer une session de bouclage, omettez le paramètre ComputerName ou définissez sa valeur sur . (dot), localhost ou nom de l’ordinateur local.
Par défaut, les sessions de bouclage sont créées à l’aide d’un jeton réseau, ce qui peut ne pas fournir l’autorisation suffisante pour s’authentifier auprès des ordinateurs distants.
Le paramètre EnableNetworkAccess est efficace uniquement dans les sessions de bouclage. Si vous utilisez EnableNetworkAccess lorsque vous créez une session sur un ordinateur distant, la commande réussit, mais le paramètre est ignoré.
Vous pouvez également autoriser l’accès à distance dans une session de bouclage à l’aide de la valeur
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-HostName
Spécifie un nom d’ordinateur pour une connexion SSH (Secure Shell). Cela est similaire au paramètre ComputerName, sauf que la connexion à l’ordinateur distant est établie à l’aide de SSH plutôt que de Windows WinRM. Ce paramètre prend en charge la spécification du nom d’utilisateur et/ou du port dans le cadre de la valeur de paramètre HostName à l’aide du formulaire user@hostname:port. Le nom d’utilisateur et/ou le port spécifiés dans le cadre du nom d’hôte est prioritaire sur les paramètres -UserName et -Port, s’ils sont spécifiés. Cela permet de passer plusieurs noms d’ordinateurs à ce paramètre où certains ont des noms d’utilisateur et/ou des ports spécifiques, tandis que d’autres utilisent le nom d’utilisateur et/ou le port à partir des paramètres -UserName et -Port.
Ce paramètre a été introduit dans PowerShell 6.0.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Id
Spécifie l’ID d’une session existante.
Enter-PSSession utilise la session spécifiée pour la session interactive.
Pour rechercher l’ID d’une session, utilisez l’applet de commande Get-PSSession.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Id
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-InstanceId
Spécifie l’ID d’instance d’une session existante.
Enter-PSSession utilise la session spécifiée pour la session interactive.
L’ID d’instance est un GUID. Pour rechercher l’ID d’instance d’une session, utilisez l’applet de commande Get-PSSession. Vous pouvez également utiliser le de session, Nomou ID pour spécifier une session existante. Vous pouvez également utiliser le paramètre ComputerName pour démarrer une session temporaire.
Propriétés du paramètre
| Type: | Guid |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
InstanceId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-KeyFilePath
Spécifie un chemin d’accès de fichier de clé utilisé par Secure Shell (SSH) pour authentifier un utilisateur sur un ordinateur distant.
SSH permet à l’utilisateur d’effectuer l’authentification via des clés privées/publiques comme alternative à l’authentification par mot de passe de base. Si l’ordinateur distant est configuré pour l’authentification par clé, ce paramètre peut être utilisé pour fournir la clé qui identifie l’utilisateur.
Ce paramètre a été introduit dans PowerShell 6.0.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | IdentityFilePath |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie le nom convivial d’une session existante.
Enter-PSSession utilise la session spécifiée pour la session interactive.
Si le nom que vous spécifiez correspond à plusieurs sessions, la commande échoue. Vous pouvez également utiliser les paramètres session, InstanceIdou ID pour spécifier une session existante. Vous pouvez également utiliser le paramètre ComputerName pour démarrer une session temporaire.
Pour établir un nom convivial pour une session, utilisez le paramètre Name de l’applet de commande New-PSSession.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Name
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Options
Spécifie une table de hachage des options SSH utilisées lors de la connexion à une session SSH distante. Les options possibles sont toutes les valeurs prises en charge par la version unix de la commande ssh.
Toutes les valeurs transmises explicitement par les paramètres sont prioritaires sur les valeurs passées dans la table de hachage options de. Par exemple, l’utilisation du paramètre de port remplace toute paire clé-valeur Port passée dans la table de hachage Options.
Propriétés du paramètre
| Type: | Hashtable |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Port
Spécifie le port réseau sur l’ordinateur distant utilisé pour cette commande.
Dans PowerShell 6.0, ce paramètre a été inclus dans le jeu de paramètres HostName qui prend en charge les connexions SSH (Secure Shell).
WinRM (jeu de paramètres ComputerName)
Pour établir une connexion à un ordinateur distant, l’ordinateur distant doit être à l’écoute sur le port utilisé par la connexion. Les ports par défaut sont 5985, qui est le port WinRM pour HTTP et 5986, qui est le port WinRM pour HTTPS.
Avant d’utiliser un autre port, vous devez configurer l’écouteur WinRM sur l’ordinateur distant pour écouter sur ce port. Utilisez les commandes suivantes pour configurer l’écouteur :
winrm delete winrm/config/listener?Address=*+Transport=HTTPwinrm create winrm/config/listener?Address=*+Transport=HTTP @{Port="\<port-number\>"}
N’utilisez pas le paramètre Port , sauf si vous devez. Le paramètre de port dans la commande s’applique à tous les ordinateurs ou sessions sur lesquels la commande s’exécute. Un autre paramètre de port peut empêcher l’exécution de la commande sur tous les ordinateurs.
SSH (jeu de paramètres HostName)
Pour vous connecter à un ordinateur distant, l’ordinateur distant doit être configuré avec le service SSH (SSHD) et doit être à l’écoute sur le port utilisé par la connexion. Le port par défaut pour SSH est 22.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-RunAsAdministrator
Indique que le PSSession s’exécute en tant qu’administrateur.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ContainerId
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Session
Spécifie une session PowerShell (PSSession) à utiliser pour la session interactive. Ce paramètre prend un objet de session. Vous pouvez également utiliser les paramètres Name, InstanceIdou Id pour spécifier un PSSession.
Entrez une variable qui contient un objet de session ou une commande qui crée ou obtient un objet de session, tel qu’une commande New-PSSession ou Get-PSSession. Vous pouvez également diriger un objet de session vers Enter-PSSession. Vous ne pouvez envoyer qu’une seule PSSession à l’aide de ce paramètre. Si vous entrez une variable qui contient plusieurs psSession, la commande échoue.
Lorsque vous utilisez Exit-PSSession ou le mot clé exit, la session interactive se termine, mais la PSSession que vous avez créée reste ouverte et disponible pour une utilisation.
Propriétés du paramètre
| Type: | PSSession |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
Session
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-SessionOption
Définit les options avancées pour la session. Entrez un objet SessionOption, tel qu’un objet que vous créez à l’aide de l’applet de commande New-PSSessionOption, ou une table de hachage dans laquelle les clés sont des noms d’options de session et les valeurs sont des valeurs d’option de session.
Les valeurs par défaut des options sont déterminées par la valeur de la variable de préférence $PSSessionOption, si elle est définie. Sinon, les valeurs par défaut sont établies par les options définies dans la configuration de session.
Les valeurs d’option de session sont prioritaires sur les valeurs par défaut pour les sessions définies dans la variable de préférence $PSSessionOption et dans la configuration de session. Toutefois, elles ne sont pas prioritaires sur les valeurs maximales, les quotas ou les limites définis dans la configuration de session.
Pour obtenir une description des options de session, y compris les valeurs par défaut, consultez New-PSSessionOption.
Pour plus d’informations sur la variable de préférence $PSSessionOption, consultez about_Preference_Variables. Pour plus d’informations sur les configurations de session, consultez about_Session_Configurations.
Propriétés du paramètre
| Type: | PSSessionOption |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
Uri
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SSHTransport
Indique que la connexion à distance est établie à l’aide de Secure Shell (SSH).
Par défaut, PowerShell utilise Windows WinRM pour se connecter à un ordinateur distant. Ce commutateur force PowerShell à utiliser l’ensemble de paramètres HostName pour établir une connexion distante basée sur SSH.
Ce paramètre a été introduit dans PowerShell 6.0.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Valeurs acceptées: | true |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Subsystem
Spécifie le sous-système SSH utilisé pour le nouveau PSSession.
Cela spécifie le sous-système à utiliser sur la cible tel que défini dans sshd_config. Le sous-système démarre une version spécifique de PowerShell avec des paramètres prédéfinis. Si le sous-système spécifié n’existe pas sur l’ordinateur distant, la commande échoue.
Si ce paramètre n’est pas utilisé, la valeur par défaut est le sous-système powershell.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | Powershell |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-UserName
Spécifie le nom d’utilisateur du compte utilisé pour créer une session sur l’ordinateur distant. La méthode d’authentification utilisateur dépend de la configuration de Secure Shell (SSH) sur l’ordinateur distant.
Si SSH est configuré pour l’authentification par mot de passe de base, vous êtes invité à entrer le mot de passe de l’utilisateur.
Si SSH est configuré pour l’authentification utilisateur basée sur des clés, uou n’est pas invité à entrer un mot de passe. Vous devez fournir un chemin d’accès à un fichier de clé SSH. Si le fichier de clé utilisateur se trouve à un emplacement connu SSH, le paramètre KeyFilePath n’est pas nécessaire. L’authentification utilisateur se produit automatiquement en fonction du nom d’utilisateur. Pour plus d’informations, consultez la documentation SSH sur l’authentification utilisateur basée sur des clés.
Si le paramètre UserName n’est pas spécifié, le nom d’utilisateur connecté actuel est utilisé.
Ce paramètre a été introduit dans PowerShell 6.0.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SSHHost
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-UseSSL
Indique que cette applet de commande utilise le protocole SSL (Secure Sockets Layer) pour établir une connexion à l’ordinateur distant. Par défaut, SSL n’est pas utilisé.
WS-Management chiffre tout le contenu PowerShell transmis sur le réseau. Le paramètre UseSSL est une protection supplémentaire qui envoie les données sur une connexion HTTPS au lieu d’une connexion HTTP.
Si vous utilisez ce paramètre, mais que SSL n’est pas disponible sur le port utilisé pour la commande, la commande échoue.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ComputerName
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-VMId
Spécifie l’ID d’une machine virtuelle.
Propriétés du paramètre
| Type: | Guid |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | VMGuid |
Jeux de paramètres
VMId
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-VMName
Spécifie le nom d'un ordinateur virtuel.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
VMName
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
String
Vous pouvez diriger un nom d’ordinateur sous forme de chaîne vers cette applet de commande.
PSSession
Vous pouvez diriger un objet de session vers cette applet de commande.
Sorties
None
Cette applet de commande ne retourne aucune sortie.
Notes
PowerShell inclut les alias suivants pour Enter-PSSession:
- Toutes les plateformes :
etsn
Pour vous connecter à un ordinateur distant, vous devez être membre du groupe Administrateurs sur l’ordinateur distant. Pour démarrer une session interactive sur l’ordinateur local, vous devez démarrer PowerShell avec l’option Exécuter en tant qu’administrateur.
Lorsque vous utilisez Enter-PSSession, votre profil utilisateur sur l’ordinateur distant est utilisé pour la session interactive. Les commandes du profil utilisateur distant, y compris les commandes permettant d’ajouter des modules PowerShell et de modifier l’invite de commandes, s’exécutent avant l’affichage de l’invite à distance.
Enter-PSSession utilise le paramètre de culture de l’interface utilisateur sur l’ordinateur local pour la session interactive. Pour rechercher la culture de l’interface utilisateur locale, utilisez la variable automatique $UICulture.
Enter-PSSession nécessite les applets de commande Get-Command, Out-Defaultet Exit-PSSession. Si ces applets de commande ne sont pas incluses dans la configuration de session sur l’ordinateur distant, les commandes Enter-PSSession échouent.
Contrairement à Invoke-Command, qui analyse et interprète les commandes avant de les envoyer à l’ordinateur distant, Enter-PSSession envoie les commandes directement à l’ordinateur distant sans interprétation.
Si la session que vous souhaitez entrer est occupée à traiter une commande, il peut y avoir un délai avant que PowerShell ne réponde à la commande Enter-PSSession. Vous êtes connecté dès que la session est disponible. Pour annuler la commande Enter-PSSession, appuyez sur Ctrl+C.
Le jeu de paramètres HostName a été inclus à partir de PowerShell 6.0. Il a été ajouté pour fournir la communication à distance PowerShell basée sur Secure Shell (SSH). SSH et PowerShell sont pris en charge sur plusieurs plateformes (Windows, Linux, macOS) et la communication à distance PowerShell fonctionnent sur ces plateformes où PowerShell et SSH sont installés et configurés. Cela est distinct de la communication à distance windows précédente uniquement basée sur WinRM et la plupart des fonctionnalités et limitations spécifiques de WinRM ne s’appliquent pas. Par exemple, les quotas winRM, les options de session, la configuration de point de terminaison personnalisée et les fonctionnalités de déconnexion/reconnexion ne sont actuellement pas prises en charge. Pour plus d’informations sur la configuration de la communication à distance SSH PowerShell, consultez Communication à distance PowerShell via SSH.
Avant PowerShell 7.1, la communication à distance via SSH ne prenait pas en charge les sessions distantes du deuxième tronçon. Cette fonctionnalité était limitée aux sessions utilisant WinRM. PowerShell 7.1 permet Enter-PSSession et Enter-PSHostProcess de fonctionner à partir de n’importe quelle session distante interactive.
L’exécutable ssh obtient les données de configuration des sources suivantes dans l’ordre suivant :
- options de ligne de commande
- fichier de configuration de l’utilisateur (~/.ssh/config)
- fichier de configuration à l’échelle du système (/etc/ssh/ssh_config)
Les paramètres d’applet de commande suivants sont mappés dans ssh paramètres et options :
| Paramètre d’applet de commande | paramètre ssh | option ssh -o équivalente |
|---|---|---|
-KeyFilePath |
-i <KeyFilePath> |
-o IdentityFile=<KeyFilePath> |
-UserName |
-l <UserName> |
-o User=<UserName> |
-Port |
-p <Port> |
-o Port=<Port> |
-ComputerName -Subsystem |
-s <ComputerName> <Subsystem> |
-o Host=<ComputerName> |
Toutes les valeurs transmises explicitement par les paramètres sont prioritaires sur les valeurs passées dans la table de hachage options de. Pour plus d’informations sur les fichiers ssh_config, consultez ssh_config(5).