28/04/2025

Stratégie de groupe

GPO : comment activer WinRM sur Windows pour la gestion à distance ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à activer la gestion à distance WinRM sur Windows grâce à une stratégie de groupe (GPO). Grâce à cette configuration, il sera possible d'exécuter des commandes à distance sur les machines via PowerShell et même d'envisager une gestion au travers de la solution Windows Admin Center.

Pour rappel, WinRM, Windows Remote Management, est une fonctionnalité implémentée par Microsoft dans ses systèmes d'exploitation afin d'autoriser la gestion à distance via PowerShell. Il s'agit du protocole pris en charge par défaut de Windows, bien que SSH représente désormais une alternative.

Pour en revenir au cas présent, nous allons créer une GPO qui permettra d'automatiser l'activation et la configuration de WinRM par Stratégie de groupe (GPO). Par défaut, la Gestion à distance est activée sur Windows Server, mais désactivée sur les postes de travail Windows. L'utilisation d'une GPO peut s'avérer avantageux pour homogénéiser la configuration.

L'image ci-dessous montre l'état du service "Gestion à distance de Windows (Gestion WSM)" correspondant à WinRM sur une machine Windows 11 24H2. Il est arrêté par défaut et en mode de démarrage manuel.

Cette automatisation doit être configurée en trois étapes :

winrmgpo0

En complément de cet article, vous pouvez lire ceux-ci :

Version originale de l'article : 17 novembre 2014

II. Autoriser la gestion à distance via WinRM

Dans la console de gestion des GPO, commencez par créer une nouvelle GPO nommée "C_PowerShell_Remoting_WinRM" (choisissez le nom que vous souhaitez), qu'il suffira ensuite d'appliquer à l'OU contenant les machines à configurer.

Pour ma part, la stratégie de groupe est liée sur l'unité d'organisation "PC".

Passez à la configuration de la GPO. Parcourez l'arborescence comme ceci :

  • Configuration ordinateur, Stratégies, Modèles d'administration, Composants Windows, Gestion à distance de Windows (WinRM), Service WinRM

À cet endroit, vous trouverez un paramètre nommé "Autoriser la gestion de serveurs à distance via WinRM", double-cliquez dessus.

winrmgpo2

Il y a une certaine ambiguïté autour de ce paramètre de configuration. Nous pourrions avoir tendance à indiquer uniquement les machines distantes que nous souhaitons autoriser à se connecter, par exemple, les adresses IP 192.168.10.199 et 192.168.10.201. Néanmoins, cela ne fonctionnera pas, car il faut inclure dans le périmètre, l'adresse IP de la machine locale en elle-même pour que WinRM crée un écouteur (listener).

Vous devez donc activer le paramètre et remplir les deux champs "Filtre IPv4" et "Filtre IPv6", ou l'un ou l'autre, selon votre réseau. Si vous n'indiquez rien, les connexions seront refusées, une * permettra d'accepter les connexions provenant de n'importe quelle adresse IP. Cela va aussi créer un écouteur sur l'adresse IP de la machine, ainsi que son adresse IP de boucle locale.

Ici, le filtre IPV6 est désactivé, et le filtre IPv4 est configuré sur 192.168.10.1-192.168.10.254, ce qui correspond au réseau local sur lequel sont connectés les postes de travail. Vous pouvez aussi indiquer * et affiner le filtrage via la règle de pare-feu qui sera créée par la suite (pour autoriser uniquement certains hôtes distants). Vous pouvez configurer plusieurs plages d'IP.

GPO WinRM - Configurer un écouteur IP

Note : veillez à séparer par une virgule chaque plage précisée dans le paramètre précédent. Sinon, le filtre ne sera pas bien pris en compte par WinRM et cela donnera lieu à une erreur avec l'événement ID 10131.

La première étape est accomplie, mais notre GPO n'est pas encore prête pour autant.

III. Démarrer automatiquement le service WinRM

Passons à la seconde étape, à savoir le démarrage automatique du service de gestion à distance. Parcourez les paramètres de cette façon, toujours dans la même GPO :

  • Configuration ordinateur > Stratégies > Paramètres Windows, Paramètres de sécurité, Services système

Double-cliquez sur un service nommé "Gestion à distance de Windows (Gestion WSM)", définissez le paramètre pour activer de façon Automatique le service. Validez. Voici la configuration attendue :

Remarque : vous pouvez également configurer le démarrage automatique du service via la section "Préférences".

IV. Autoriser WinRM dans le Pare-feu

Dernier point de configuration de la GPO : Le pare-feu. Toujours dans les Paramètres de sécurité, accédez à "Pare-feu Windows avec fonctions avancées" et encore une fois à "Pare-feu Windows avec fonctions avancées". Effectuez un clic droit sur "Règles de trafic entrant" et cliquez sur "Nouvelle règle".

winrmgpo5

Ce service a une règle de pare-feu prédéfinie qui permettra d'autoriser le port nécessaire (5985) à l'accès WinRM. Cochez l'option "Prédéfinie" et dans la liste, sélectionnez la valeur "Gestion à distance de Windows" avant de continuer.

Désactivez la première ligne pour que votre Pare-feu n'autorise pas le trafic entrant à destination de WinRM lors d'une connexion sur un réseau ayant le profil définit sur Public. Par exemple, la règle de pare-feu ne laissera pas les flux WinRM passer lorsque la machine sera connectée sur le réseau Wi-Fi d'un aéroport ou d'un hôtel. Ensuite, poursuivez.

Sélectionnez "Autoriser la connexion" et validez avec "Terminer".

La règle apparaît dans l'interface de configuration de la GPO, double-cliquez sur cette règle.

Je vous encourage à accéder à l'onglet "Étendue" et à affiner l'option "Adresses IP distantes". Ainsi, vous pouvez indiquer explicitement les adresses IP (ou une plage, un réseau) des machines pour lequel le trafic entrant est autorisé. L'idée étant de reprendre les mêmes valeurs que pour les connexions autorisées par WinRM lui-même : 192.168.10.199 et 192.168.10.201. Donc, pour se connecter, il faudra : être sur un réseau de domaine, faire partie des adresses IP autorisées par WinRM et par le Pare-feu.

Pour finir, vous pouvez tout à fait accéder à l'onglet "Avancé" et décocher le profil "Privé" pour conserver uniquement le réseau de "Domaine" (réseau local Active Directory).

Vous pouvez quitter l'éditeur de la stratégie de groupe, la configuration est terminée ! Il ne reste plus qu'à appliquer la GPO sur des hôtes et à actualiser les paramètres sur les hôtes concernés afin de bénéficier de la gestion à distance ! La commande suivante est votre alliée :

gpupdate /force

V. Tester une connexion WinRM

Connectez-vous sur une machine sur laquelle la GPO a été appliquée et ouvrez une console afin d'exécuter la commande suivante :

winrm enumerate winrm/config/listener

Ceci permet d'afficher la configuration de l'écouteur WinRM en HTTP. Ici, nous pouvons voir qu'il est bien en écoute sur l'adresse IP 192.168.10.225.

Listener [Source="GPO"]
    Address = *
    Transport = HTTP
    Port = 5985
    Hostname
    Enabled = true
    URLPrefix = wsman
    CertificateThumbprint
    ListeningOn = 192.168.10.225

Si la commande précédente retourne ListeningOn = null alors WinRM ne fonctionnera pas. Généralement, cela se produit lorsqu'il y a un problème avec les filtres configurés via GPO.

Par ailleurs, si vous indiquez la valeur * comme filtre pour IPv4 et IPV6, vous devriez avoir un résultat comme celui-ci :

ListeningOn = 127.0.0.1, 192.168.10.225, ::1, fe80::106d:400c:d674:ab12%4

En complément, vous pouvez afficher la configuration du service WinRM via cette commande :

winrm get winrm/config/service

Vous devriez voir la valeur de votre filtre IPv4 s'afficher :

Depuis une machine distante, il est désormais possible d'exécuter du code PowerShell sur les machines où WinRM vient d'être configuré. L'exemple ci-dessous exécute la commande hostname sur la machine W11-01.it-connect.local.

Invoke-Command -ComputerName W11-01.it-connect.local -ScriptBlock { hostname }

Cela fonctionne parfaitement :

VI. Conclusion

En suivant ce tutoriel, vous devriez être en mesure d'activer et configurer WinRM par GPO sur vos postes de travail Windows et/ou vos serveurs Windows Server, en fonction de vos besoins. Cela ouvre la voie à l'administration PowerShell à distance et à la gestion avec Windows Admin Center.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

5 commentaires sur “GPO : comment activer WinRM sur Windows pour la gestion à distance ?

  • Bonjour

    Merci pour le tuto qui est super.

    Toutefois j’ai une question, je travaille dans une société qui posséde plusieurs réseaux « d’administration » pour notamment des serveurs Citrix qui se trouvent du coup partout dans le monde…

    Si je veux utiliser une seule GPO pour tout le groupe, tu confirmes qu’il faudra procéder ainsi :

    Mettre comme réseau : 10.10.1.0-10.10.2.254,10.46.10.0-10.46.20.254 etc..

    Ainsi seule les machines des réseaux 10.10.1.0 à 10.10.2.0 ainsi que 10.46.10.0 à 10.46.20.0 pourront accéder à distance à ces serveurs ?

    Répondre
    • Bonjour Jerome,

      Oui il faut renseigner ces réseaux pour les autoriser dans le pare-feu et aussi pour les autoriser au niveau de WinRM, comme expliqué dans le tuto 🙂
      La syntaxe des réseaux que tu as mis dans ton commentaire me semble correcte en tout cas.

      Bon courage !
      Florian

      Répondre
  • Bonjour Florian

    Voici le message loggué dans le journal d’event des serveurs sur lesquels s’appliquent la GPO :

    ————
    La plage IP 10.10.10.0-10.10.11.254 est non valide et sera ignorée.

    Les plages sont spécifiées à l’aide de la syntaxe IP1-IP2. Les plages multiples sont séparées à l’aide du délimiteur « , » (virgule).
    Exemple de plages IPv4 : 2.0.0.1-2.0.0.20, 24.0.0.1-24.0.0.22
    Exemple de plages IPv6 : 3FFE:FFFF:7654:FEDA:1245:BA98:0000:0000-3FFE:FFFF:7654:FEDA:1245:BA98:3210:4562

    Action de l’utilisateur
    Corrigez le filtre IP 10.10.10.0-10.10.11.254 à l’aide de la syntaxe décrite plus haut.
    ————

    Et il en va ainsi de chaque sous-réseaux configurés 🙁

    Répondre
  • Hello et merci pour le tuto.

    Cependant il semble y avoir une coquille, le paramètre « Autoriser la gestion de serveurs à distance via WinRM » ne permet pas de spécifier une liste de machines distantes autorisées, mais sur quelle adresse ou plage IP le service WinRM doit se mettre en écoute sur la machine cliente, extrait du paramètre :

    « The service listens on the addresses specified by the IPv4 and IPv6 filters. The IPv4 filter specifies one or more ranges of IPv4 addresses, and the IPv6 filter specifies one or more ranges of IPv6addresses. If specified, the service enumerates the available IP addresses on the computer and uses only addresses that fall within one of the filter ranges. »

    A ma connaissance, le seul moyen de restreindre l’accès est donc de jouer avec le parefeu Windows et limiter les connexions depuis une liste de machines distantes.

    Testé & validé ce jour en clientèle

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.