Gérer des machines à distance sans devoir désactiver le pare-feu, c’est possible. Il faut juste ouvrir les bons ports pour WMI, DCOM et RPC — ni plus, ni moins. On pourra utiliser WMI pour interroger des machines à distance — collecter des infos système, lancer des commandes, gérer les tâches planifiées depuis la console ou un script PowerShell.

Quand on lance une commande Get-WmiObject et qu’on obtient : l’accès RPC a été refusé, la solution facile c’est désactiver le pare-feu Windows sur les machines cibles. Mais c’est une très mauvaise idée sur un réseau où cohabitent des machines de niveaux de confiance différents.

La solution correcte : ouvrir précisément les ports nécessaires à WMI et à la gestion à distance des tâches planifiées, avec authentification obligatoire sur chaque règle.

Comment fonctionne WMI en réseau

WMI utilise DCOM (Distributed COM) pour les communications réseau, qui lui-même s’appuie sur RPC (Remote Procedure Call). La pile complète :

Client WMI
  → DCOM (port TCP 135 — RPC Endpoint Mapper)
    → RPC (ports dynamiques — négociés via le port 135)
      → WMI Service (winmgmt)

C’est pour ça qu’on ne peut pas juste “ouvrir le port WMI” : le protocole utilise des ports dynamiques négociés à la connexion, pas un port fixe. Il faut ouvrir le port 135 pour la négociation, et autoriser le trafic RPC dynamique pour les échanges de données.

La gestion à distance des tâches planifiées utilise la même infrastructure RPC, avec le service Schedule en plus.

Création de la GPO

Dans la GPMC :

Clic droit sur l'OU cible → Create a GPO in this domain and link it here
Nom : Firewall_GPupdate

Lier sur SERVEURS et STATIONS — partout où vous voulez pouvoir administrer à distance.

Règles pare-feu à créer

Computer Configuration → Policies → Windows Settings → Security Settings
  → Windows Firewall with Advanced Security → Inbound Rules

Toutes les règles sont configurées avec “Exiger l’authentification” — pas de WMI anonyme sur le réseau.


Règle 1 — WMI Asynchrone (TCP)

Autorise le trafic WMI asynchrone via unsecapp.exe.

Paramètre Valeur
Programme %systemroot%\system32\wbem\unsecapp.exe
Protocol TCP
Port local Tout
Action Autoriser
Sécurité Exiger l’authentification
Groupe Infrastructure de gestion Windows (WMI)

Règle 2 — WMI-In (TCP)

Autorise les connexions WMI entrantes via le service winmgmt.

Paramètre Valeur
Programme %SystemRoot%\system32\svchost.exe
Service winmgmt
Protocol TCP
Port local Tout
Action Autoriser
Sécurité Exiger l’authentification
Groupe Infrastructure de gestion Windows (WMI)

Règle 3 — DCOM-In (TCP 135)

Autorise le trafic DCOM sur le port 135 — c’est le point d’entrée de toute communication WMI réseau.

Paramètre Valeur
Programme %SystemRoot%\system32\svchost.exe
Service rpcss
Protocol TCP
Port local 135
Action Autoriser
Sécurité Exiger l’authentification
Groupe Infrastructure de gestion Windows (WMI)

Règle 4 — Tâches planifiées RPC-EPMAP

Autorise le trafic RPC/TCP pour le service Planificateur de tâches via l’endpoint mapper.

Paramètre Valeur
Programme %SystemRoot%\system32\svchost.exe
Service RPCSS
Protocol TCP
Port local RPC Endpoint Mapper
Action Autoriser
Sécurité Exiger l’authentification
Groupe Gestion à distance des tâches planifiées

Règle 5 — Tâches planifiées RPC dynamique

Autorise le trafic RPC dynamique pour la gestion à distance des tâches planifiées.

Paramètre Valeur
Programme %SystemRoot%\system32\svchost.exe
Service schedule
Protocol TCP
Port local RPC dynamique
Action Autoriser
Sécurité Exiger l’authentification
Groupe Gestion à distance des tâches planifiées

Vérification post-déploiement

Depuis une machine d’administration après gpupdate /force sur la cible :

# Test WMI basique
Get-WmiObject -ComputerName "NomMachine" -Class Win32_OperatingSystem |
    Select-Object Caption, Version, LastBootUpTime

# Test via CIM (méthode moderne)
Get-CimInstance -ComputerName "NomMachine" -ClassName Win32_ComputerSystem

# Test gestion tâches planifiées à distance
$session = New-CimSession -ComputerName "NomMachine"
Get-ScheduledTask -CimSession $session | Select-Object -First 5

Si les commandes retournent des résultats sans erreur d’accès RPC, les règles sont correctement appliquées.

Ce que cette GPO ne fait pas

Cette GPO ouvre uniquement ce qui est nécessaire à WMI et à la gestion des tâches planifiées. Elle n’ouvre pas PSRemoting (WinRM / port 5985), SMB, ni aucun autre service d’administration à distance. Chaque service a ses propres règles pare-feu, dans ses propres GPOs.