Bien que sur Windows, PSRemoting soit activé par défaut, il n’est pas toujours activé. Si vous avez besoin de vérifier si PSRemoting est activé ou de l’activer sur Windows, ce tutoriel est fait pour vous.
Ce tutoriel va vous guider à travers différentes façons d’activer PSRemoting sur des ordinateurs locaux et distants sous Windows.
Commençons !
Activer PSRemoting fait beaucoup de choses
Si vous apprenez pour la première fois le remoting PowerShell, vous pourriez penser que l’activation se fait simplement par une seule commande. Peut-être avez-vous vu des références à la cmdlet PowerShell Enable-PSRemoting
et pensez-vous qu’une fois exécutée, elle bascule simplement un bit quelque part. Vous auriez tort.
Lorsque vous entendez parler de l’activation de PSRemoting, de nombreuses tâches doivent être effectuées en arrière-plan pour que cela se produise. Étant donné que le remoting PowerShell dépend d’autres systèmes pour fonctionner correctement, il a quelques dépendances.
Par exemple, sur Windows, lorsque vous exécutez la cmdlet Enable-PSRemoting
sans paramètres, elle effectue toutes les tâches suivantes :
- Le service WinRM est démarré et configuré pour un démarrage automatique.
- Crée un écouteur sur les ports WinRM par défaut 5985 pour le trafic HTTP.
- Active les exceptions du pare-feu pour WS-Management.
- Enregistre les configurations de session PowerShell auprès de WS-Management.
- Active les configurations de session PowerShell.
- Définit les sessions distantes PowerShell pour autoriser l’accès distant.
- Redémarre le serveur WinRM pour appliquer toutes les modifications.
N’est-ce pas merveilleux de ne pas devoir tout faire manuellement ? Pourquoi mentionner cela si la cmdlet Enable-PSRemoting
le fait tout seul ? Parce qu’il y aura des moments où quelque chose ne fonctionne pas et où vous devrez diagnostiquer ce qui se passe.
Paramètres PSRemoting par défaut sur Windows
Étant donné que PSRemoting est né dans Windows, il est activé par défaut, mais pas de manière universelle et pas pour toutes les versions de Windows OS.
Sur tous les systèmes d’exploitation clients Windows, PSRemoting est toujours désactivé.
Sur Windows Server, PSRemoting est activé parfois, mais pas tout le temps en fonction du profil réseau sous lequel Windows s’exécute. Vous trouverez ci-dessous un tableau pratique pour vous aider à déterminer si votre système d’exploitation Windows a PSRemoting activé ou non.
Operating System | Network Profile | PSRemoting |
Windows Server 2008 R2 | Domain/Private | Disabled |
Windows Server 2008 R2 | Public | Disabled |
Windows Server 2012 & Newer | Domain/Private | Enabled |
Windows Server 2012 & Newer | Public | Enabled within the same subnet |
En revanche, Linux est facile. PSRemoting n’existe même pas ! PowerShell n’est même pas installé par défaut. Si vous souhaitez exécuter PSRemoting sur Linux, vous devrez le configurer.
Assez parlé, passons à la pratique pour vous montrer comment commencer à utiliser réellement PSRemoting !
Prérequis
Si vous avez l’intention de suivre les exemples de cette section, assurez-vous d’avoir ce qui suit :
- A Windows Server 2008 R2 or later machine
- A local or Active Directory domain user in the local administrators group
Activation de PSRemoting localement
L’un des moyens les plus simples d’activer PSRemoting est d’utiliser la commande intégrée Enable-PSRemoting
. Cette commande, comme vous l’avez appris précédemment, est un raccourci pour configurer de nombreux services différents afin de prendre en charge PowerShell Remoting.
Utilisation du cmdlet Enable-PSRemoting
Lorsque vous exécutez cette commande sans aucun paramètre, différentes actions sont effectuées en fonction du système d’exploitation que vous utilisez. Sur n’importe quel système d’exploitation Windows actuel, les mêmes étapes de base se produisent. PSRemoting est activé, le listener HTTP WinRM est créé, et les règles du pare-feu sont activées. La principale différence réside dans la manière dont les réseaux publics sont gérés.
Sur un système d’exploitation serveur, comme Windows Server 2019, la règle du pare-feu pour les réseaux publics autorise les connexions à distance à partir d’autres appareils sur le même réseau. Sur un système d’exploitation client, comme Windows 10, vous recevrez une erreur indiquant que vous êtes sur un réseau public.
Si vous n’êtes pas sûr du profil réseau sous lequel Windows fonctionne, exécutez la commande suivante:
Vous ne devez utiliser PSRemoting que sur un réseau de confiance, car il exécute essentiellement un serveur Web pour écouter les connexions à distance.

Si vous êtes d’accord pour exécuter PSRemoting sur un profil réseau autre que Privé ou Domaine, vous pouvez ignorer la vérification du profil réseau en utilisant le paramètre SkipNetworkProfileCheck
. L’utilisation de ce paramètre ouvrira les ports WinRM sur le pare-feu Windows.
L’utilisation du paramètre
SkipNetworkProfileCheck
ouvrira le pare-feu Windows pour le remoting PowerShell sur votre profil réseau actuel, mais ne permettra que les connexions à distance à partir de machines sur le même sous-réseau.
Deux paramètres pouvant être utilisés avec la commande Enable-PSRemoting
fonctionnent de concert. Ce sont les paramètres -Force
et -Confirm
. Vous pouvez utiliser -Force
pour ignorer toutes les invites que la commande Enable-PSRemoting
donnerait normalement. Vous pouvez également utiliser -Confirm:$false
pour obtenir le même résultat.
Utilisation de la commande winrm quickconfig
La commande winrm quickconfig
était autrefois un moyen populaire de configurer PSRemoting avant la création de la cmdlet Enable-PSRemoting
, mais elle a toujours sa place. Si vous exécutez simplement winrm quickconfig
, cela activera le service WinRM, créera un écouteur HTTP et activera les règles du pare-feu. Ces actions sont déjà effectuées par Enable-PSRemoting
, mais cela ne configure pas la machine pour gérer les sessions PowerShell à distance.
Où les commandes winrm
sont utiles, c’est pour configurer les écouteurs HTTPS. Bien que vous puissiez le faire manuellement, si vous avez un certificat approprié pour l’écouteur HTTPS, vous pouvez simplement exécuter winrm quickconfig -transport:https
et l’écouteur HTTPS ainsi que les règles du pare-feu HTTPS seront configurés.
Activation de PSRemoting à distance
Jusqu’à présent, vous avez appris que vous pouvez activer PSRemoting en exécutant une commande sur un ordinateur local. Cela nous amène à un scénario du poulet et de l’œuf. PSRemoting vous permet d’exécuter des commandes sur des ordinateurs distants, mais comment exécutez-vous une commande à distance sans PSRemoting?
Trois façons ; l’utilitaire PSexec, WMI et Group Policy.
Utilisation de Psexec
PSExec est un utilitaire pratique qui vous permet d’exécuter des commandes à distance, tout comme le fait PSRemoting. Cependant, PSexec utilise une méthode de communication différente que vous pouvez exploiter à votre avantage!
Avec PSexec, vous pouvez exécuter la commande Enable-PSRemoting
depuis votre ordinateur local en utilisant la commande suivante. La commande ci-dessous appelle psexec et se connecte au serveur ServerB. Elle démarre ensuite un processus PowerShell et exécute la commande Enable-PSRemoting
avec l’option -Force
pour ignorer les invites habituelles.
Cette option est utile pour des instances ponctuelles où vous devez activer PSRemoting sur un système distant, mais elle n’est pas idéale pour activer PSRemoting sur de nombreux systèmes et nécessite le téléchargement de psexec.
Utilisation de WMI
Parfois, PSexec ne fonctionnera pas. De nombreux logiciels de sécurité bloquent psexec, mais ne vous inquiétez pas, vous avez également WMI!
En utilisant PowerShell et la cmdlet Invoke-CimMethod
. Avec le cmdlet Invoke-CimMethod
, vous pouvez demander à PowerShell de se connecter à l’ordinateur distant via DCOM et d’inviter des méthodes.
Heureusement pour vous, WMI dispose d’une classe Win32_Process
qui vous permet d’inviter des processus. En invoquant une méthode Create
contre Win32_Process
, Invoke-CimMethod
se connecte à l’ordinateur distant, invoquant PowerShell et exécutant Enable-PSRemoting
comme illustré ci-dessous.
L’exemple ci-dessous crée une table de hachage pour la connexion de session où le nom du serveur, les informations d’identification et le protocole sont spécifiés. Ensuite, dans la table de hachage suivante, les paramètres pour la commande Invoke-CimMethod
sont définis. Une fois ceux-ci exécutés, une session CIM est créée via le protocole DCOM qui lance un processus PowerShell, qui à son tour exécute la commande Enable-PSRemoting
.
Dans le cas où vous utilisez ceci dans un environnement de domaine et que l’utilisateur qui exécute les commandes dispose de droits d’administration sur le serveur de destination, la ligne
Credential = Get-Credential
peut être exclue.
Utilisation de la stratégie de groupe
La dernière, et sans doute la meilleure option pour activer WinRM sur un large éventail d’ordinateurs, est via la stratégie de groupe. Lorsque vous utilisez la stratégie de groupe, vous pouvez créer un seul objet de stratégie de groupe et appliquer cette stratégie sur des milliers d’ordinateurs en une seule fois.
Tous les ordinateurs doivent être dans un domaine Active Directory pour utiliser la stratégie de groupe.
Pour utiliser la stratégie de groupe pour activer WinRM sur de nombreux ordinateurs en une seule fois, vous allez devoir définir trois éléments de configuration différents:
- Activer le service WinRM.
- Ouvrir le port du pare-feu Windows pour WinRM.
- Créer l’écouteur WinRM et autoriser les connexions à celui-ci.
Tout d’abord, effectuez une connexion RDP vers un contrôleur de domaine ou, mieux encore, installez le package Outils d’administration du serveur distant (RSAT) sur une station de travail jointe au domaine. Vous devriez maintenant disposer de la Console de gestion de la stratégie de groupe (GPMC).
Activation du service WinRM
Pour activer le service WinRM sur tous les ordinateurs cibles:
- Ouvrez la GPMC et créez un GPO. Tout en étant dans le nouveau GPO, accédez à Configuration de l’ordinateur —> Paramètres Windows —> Paramètres de sécurité —> Services du système
- Sélectionnez Gestion à distance Windows (WS-Management).
- Dans le panneau de configuration, cochez la case Définir ce paramètre de stratégie.
- Sélectionnez le bouton radio Automatique pour définir le service WinRM pour démarrer automatiquement au démarrage.
- Cliquez sur OK pour confirmer le paramètre.
Ouverture du port pare-feu Windows
Ensuite, vous devez ouvrir le port WinRM sur tous les ordinateurs cibles. Tout en éditant toujours le GPO créé ci-dessus:
- Accédez à Configuration de l’ordinateur —> Paramètres Windows —> Paramètres de sécurité —> Pare-feu Windows Defender avec sécurité avancée.
2. Cliquez sur le Nouvelle règle entrante pour créer une nouvelle règle entrante.
3. Sur la première page, sélectionnez Prédéfini et choisissez Gestion à distance Windows comme indiqué ci-dessous.

4. Sur la page suivante, cochez la case de la règle Réseau Domaine/Réseau privé à moins que vous ne sachiez que des réseaux publics sont utilisés dans vos environnements et que vous devrez autoriser les connexions à distance à partir d’eux.

5. Sur la page suivante, laissez la valeur par défaut de Autoriser la connexion et cliquez sur Terminer pour créer la règle.
Créez le récepteur WinRM et la liste de filtres
Le dernier élément de configuration à ajouter à votre GPO est la création du récepteur WinRM et l’autorisation des connexions à ce récepteur WinRM. Ce paramètre crée le récepteur WinRM pour HTTP et autorise les connexions à partir des IP ou des plages IP spécifiées.
Tout en modifiant toujours le GPO WinRM:
- Accédez à Configuration de l’ordinateur —> Modèles d’administration —> Composants Windows —> Gestion à distance Windows (WinRM) —> Service WinRM.
2. Sélectionnez Activé pour le paramètre Autoriser la gestion de service à distance via WinRM.
3. Sous le paramètre Autoriser la gestion de serveur distant via WinRM, fournissez un astérisque (*
) pour à la fois le filtre IPv4 et le filtre IPv6 comme indiqué ci-dessous.
Notez que vous pouvez spécifier plusieurs hôtes séparés par une virgule dans chaque liste de filtres si vous savez à l’avance quels hôtes se connecteront à tous les ordinateurs cibles.

4. Cliquez sur OK pour confirmer le paramètre GPO le plus récent.
Application de la GPO
À ce stade, la GPO devrait être créée et prête à être utilisée. La tâche finale que vous devez maintenant accomplir est d’appliquer cette GPO à tous les ordinateurs cibles sur lesquels vous souhaitez activer WinRM. Vous n’apprendrez pas comment attribuer une GPO aux ordinateurs cibles dans ce tutoriel.
Si vous ne savez pas comment attribuer une GPO à un ensemble d’ordinateurs dans Active Directory, vous devriez consulter ceci article.
Étapes suivantes
Dans ce tutoriel, vous avez appris comment activer PSRemoting de différentes manières. La manière dont vous activez PSRemoting dépendra grandement de votre environnement, et j’espère avoir couvert votre scénario ici.
Maintenant, utilisez ce que vous avez appris, sortez et commencez à utiliser PSRemoting dans votre environnement !