about_Remote_Requirements
Description courte
Décrit la configuration requise pour l’exécution de commandes distantes dans PowerShell.
Description longue
Cette rubrique décrit la configuration système requise, la configuration requise pour les utilisateurs et les ressources requises pour établir des connexions à distance et exécuter des commandes distantes dans PowerShell. Il fournit également des instructions pour la configuration des opérations à distance.
Remarque
Certaines applets de commande obtiennent des objets à partir d’ordinateurs distants connexions RPC ou de sessions WMI pour les connexions à distance. Ils n’utilisent pas l’infrastructure de communication à distance PowerShell. Les exigences de ce document ne s’appliquent pas à ces applets de commande.
Pour rechercher les applets de commande qui ont un paramètre ComputerName , mais qui n’utilisent pas la communication à distance PowerShell, lisez la description du paramètre ComputerName des applets de commande.
Configuration requise
Dans Windows, la communication à distance PowerShell utilise windows Remote Management (WinRM), qui est fournie par le Windows Management Framework (WMF). Pour exécuter des sessions à distance sur PowerShell, les ordinateurs locaux et distants doivent disposer des éléments suivants :
- Windows PowerShell 3.0 ou version ultérieure
- Microsoft .NET Framework 4 ou version ultérieure
- Gestion à distance Windows 3.0 ou version ultérieure
Pour exécuter des sessions à distance sur Windows PowerShell 2.0, les ordinateurs locaux et distants doivent disposer des éléments suivants :
- Windows PowerShell 2.0 ou version ultérieure
- Microsoft .NET Framework 2.0 ou version ultérieure
- Gestion à distance Windows 2.0
Pour être entièrement pris en charge, vous devez utiliser WMF 5.1. Pour plus d’informations sur la prise en charge de WMF, consultez Windows Management Framework (WMF).
Vous pouvez créer une session à distance entre un ordinateur exécutant Windows PowerShell 2.0 et une version plus récente de PowerShell. Toutefois, les fonctionnalités qui s’exécutent uniquement sur de nouvelles versions de PowerShell, telles que la possibilité de se déconnecter et de se reconnecter aux sessions, ne sont disponibles que lorsque les deux ordinateurs exécutent Windows PowerShell 3.0 et versions ultérieures.
Pour rechercher le numéro de version d’une version installée de PowerShell, utilisez la $PSVersionTable
variable automatique.
PowerShell 7 et versions ultérieures prend également en charge la communication à distance PowerShell via SSH. La communication à distance PowerShell via SSH vous permet de vous connecter à n’importe quel hôte Windows, macOS ou Linux exécutant SSH. Pour plus d’informations, consultez La communication à distance PowerShell sur SSH.
Autorisations utilisateur
Pour créer des sessions à distance et exécuter des commandes à distance, par défaut, l’utilisateur actuel doit être membre du groupe Administrateurs sur l’ordinateur distant ou fournir les informations d’identification d’un administrateur. Sinon, la commande échoue.
Les autorisations requises pour créer des sessions et exécuter des commandes sur un ordinateur distant sont établies par la configuration de session. La configuration de session définit les options de configuration du point de terminaison de connexion sur l’ordinateur distant. Plus précisément, le descripteur de sécurité sur la configuration de session détermine qui a accès à la configuration de session et qui peut l’utiliser pour se connecter.
Les descripteurs de sécurité sur les configurations de session par défaut, Microsoft.PowerShell et Microsoft.PowerShell32, autorisent uniquement l’accès aux membres du groupe Administrateurs .
Les membres du groupe Administrateurs sur un ordinateur peuvent déterminer qui a l’autorisation de se connecter à distance à l’ordinateur en modifiant les descripteurs de sécurité sur les configurations de session par défaut ou en créant de nouvelles configurations de session avec différents descripteurs de sécurité. Les utilisateurs peuvent utiliser le paramètre ConfigurationName des applets de commande pour se connecter à différents points de *-PSSession
terminaison.
Pour plus d'informations sur les configurations de session, consultez about_Session_Configurations.
Emplacements réseau Windows
À compter de Windows PowerShell 3.0, l’applet de commande peut activer la Enable-PSRemoting
communication à distance sur les versions client et serveur de Windows.
Sur les versions serveur de Windows avec des réseaux privés et de domaine, l’applet Enable-PSRemoting
de commande crée des règles de pare-feu qui autorisent un accès à distance illimité. Il crée également une règle de pare-feu pour les réseaux publics qui autorise l’accès à distance uniquement à partir d’ordinateurs du même sous-réseau local. Cette règle de pare-feu de sous-réseau local est activée par défaut sur les versions serveur de Windows sur les réseaux publics, mais Enable-PSRemoting
réapplique la règle au cas où elle a été modifiée ou supprimée.
Sur les versions clientes de Windows avec des réseaux privés et de domaine, Enable-PSRemoting
crée des règles de pare-feu qui autorisent un accès à distance illimité.
Pour activer la communication à distance sur les versions clientes de Windows avec des réseaux publics, utilisez le paramètre SkipNetworkProfileCheck de l’applet Enable-PSRemoting
de commande. Cette option crée une règle de pare-feu qui autorise l’accès à distance uniquement à partir d’ordinateurs du même sous-réseau local.
Pour supprimer la restriction de sous-réseau local sur les réseaux publics et autoriser l’accès à distance à partir de tous les emplacements sur les versions client et serveur de Windows, utilisez l’applet Set-NetFirewallRule
de commande dans le module NetSecurity . Exécutez la commande suivante :
Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Remarque
Le nom de la règle de pare-feu peut être différent pour différentes versions de Windows. Permet Get-NetFirewallRule
d’afficher la liste des règles. Avant d’activer la règle de pare-feu, affichez les paramètres de sécurité de la règle pour vérifier que la configuration est appropriée pour votre environnement.
Dans Windows PowerShell 2.0, sur les versions serveur de Windows, Enable-PSRemoting
crée des règles de pare-feu qui autorisent l’accès à distance sur tous les réseaux.
Dans Windows PowerShell 2.0, sur les versions clientes de Windows, Enable-PSRemoting
crée des règles de pare-feu uniquement sur les réseaux privés et de domaine. Si l’emplacement réseau est public, Enable-PSRemoting
échoue.
Exécuter en tant qu'administrateur
Les privilèges d’administrateur sont requis pour les opérations de communication à distance suivantes :
- Établissement d’une connexion distante à l’ordinateur local. Il s’agit généralement d’un scénario de « bouclage ».
- Gestion des configurations de session sur l’ordinateur local.
- Affichage et modification des paramètres WS-Management sur l’ordinateur local. Il s’agit des paramètres dans le nœud LocalHost du lecteur WSMAN : .
Vous devez démarrer PowerShell avec l’option Exécuter en tant qu’administrateur , même si vous êtes membre du groupe Administrateurs sur l’ordinateur local.
Lorsque vous démarrez Windows PowerShell à partir d’un autre programme, par cmd.exe
exemple, utilisez l’option Exécuter en tant qu’administrateur pour démarrer le programme.
Comment configurer votre ordinateur pour la communication à distance
Les ordinateurs exécutant n’importe quelle version prise en charge de Windows peuvent établir des connexions à distance et exécuter des commandes distantes dans PowerShell sans aucune configuration. Toutefois, pour recevoir des connexions à distance, vous devez activer la communication à distance PowerShell sur l’ordinateur.
Windows Server 2012 et versions ultérieures de Windows Server sont activés pour la communication à distance PowerShell par défaut. Si les paramètres sont modifiés, vous pouvez restaurer les paramètres par défaut en exécutant l’applet de Enable-PSRemoting
commande.
Par défaut, les fonctionnalités de communication à distance de PowerShell sont prises en charge par le service WinRM, qui est l’implémentation Microsoft du protocole WS-Management (Web Services for Management). Lorsque vous activez la communication à distance PowerShell, vous modifiez la configuration par défaut de WS-Management et ajoutez la configuration système qui permet aux utilisateurs de se connecter à WS-Management.
Pour configurer PowerShell pour recevoir des commandes distantes :
- Démarrez PowerShell avec l’option Exécuter en tant qu’administrateur.
- À l’invite de commandes, tapez :
Enable-PSRemoting
Pour vérifier que la communication à distance est correctement configurée, exécutez une commande de test telle que la commande suivante, qui crée une session distante sur l’ordinateur local.
New-PSSession
Si la communication à distance est correctement configurée, la commande crée une session sur l’ordinateur local et retourne un objet qui représente la session.
Id Name ComputerName State ConfigurationName
-- ---- ------------ ----- -----
1 Session1 localhost Opened Microsoft.PowerShell
Si la commande échoue, consultez about_Remote_Troubleshooting.
Comprendre les stratégies
Lorsque vous travaillez à distance, vous utilisez deux instances de PowerShell, l’une sur l’ordinateur local et l’autre sur l’ordinateur distant. Par conséquent, votre travail est affecté par les stratégies Windows et PowerShell sur les ordinateurs locaux et distants.
Avant de vous connecter et d’établir la connexion, les stratégies sur l’ordinateur local sont en vigueur. Lorsque vous utilisez la connexion, les stratégies sur l’ordinateur distant sont en vigueur.