Windows Server – Configuration WinRM / Remote PowerShell

Synopsis

Pour faire simple, WinRM et PowerShell sont à Windows ce que SSH et le Shell sont à Linux, une manière facile d’administrer en ligne de commande une ou plusieurs machines.

Il faut savoir que WinRM (Windows Remote Management) est basé sur le protocole HTTP/HTTPS mais n’utilise pas les fameux ports par défaut 80/443, il se démarque par l’utilisation des ports 5985 (HTTP) et 5986 (HTTPS).

Installation de WinRM

WinRM étant actif de base depuis Windows Server 2012 il n’est pas nécessaire de l’installer, cette partie sert donc pour les versions antérieures.

La commande ci-dessous permet de savoir si le service est installé/actif (Running), dans le cas contraire installez le package Windows Management Framework 4.0.

Get-Service WinRM

Configuration Firewall

Ouvrir simplement les ports 5985 (HTTP) et 5986 (HTTP) en TCP depuis la management machine vers les machines cibles.

Configuration de WinRM

Pour les plus téméraires, il est possible de configurer WinRM via commandes PowerShell, mais étant partisan du moindre effort (surtout sur grosses infras) je préfère l’automatisation via GPO.

  • Configuration de WinRM
Enable-PSRemoting
  • Autorisation d’écoute sur l’IP de la machine et de loopback
Remove-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}
New-WSManInstance winrm/config/Listener -SelectorSet @{Address="*";Transport="http"}
  • Redémarrage du service
Restart-Service winrm
  • Vérification de la configuration
winrm get winrm/config/client
winrm e winrm/config/listener
  • A faire sur la machine de Management
    • Autorisation du serveur Remote (Dans le cas ou ils ne sont pas dans le même domaine)
Set-Item WSMan:\localhost\Client\TrustedHosts <IP_Remote_Server>

Configuration du Service

Configuration du service Windows Remote Management pour démarrer en automatique.

Computer Configuration \ Policies \ Windows Settings \ Security Settings \ System Services \ Windows Remote Management (WS-Management)

Configuration des Listeners

Configuration des adresses IP locales que le service WinRM est autorisé à écouter.

Computer Configuration / Policies / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Service / Allow remote server management through WinRM

Règle Firewall

Création d’une “Inbound Rule” pour autoriser le groupe “Windows Remote Management”.

Computer Configuration / Policies / Windows Settings / Security Settings / Windows Firewall with Advanced Security

 

Trusted Hosts

Dans de nombreux cas, vous pourrez travailler avec des machines distantes d’autres domaines. Toutefois, si l’ordinateur distant ne fait pas partie d’un domaine approuvé, il est possible qu’il ne soit pas en mesure d’authentifier vos credentials. Pour activer l’authentification, vous devez ajouter l’ordinateur distant à la liste des Trusted Hosts dans le Management Server.

Computer Configuration / Policies / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Client / Trusted Hosts

Test via commande PowerShell

$session = New-PSSession -cn <Server01>,<Server02> -cred <Domain>\<Username>
Invoke-Command -Session $session -ScriptBlock {<Command_to_Propagate>}


...BofBienTrès BienTop ! (Soit le premier à voter)
Loading...

Mathieu

Je suis actuellement Ingénieur Système spécialisé dans le design d'environnements cloud virtualisés. Adepte des technologies de VMware, Nutanix, Citrix ou Microsoft je propose à travers ce blog diverses astuces de troubleshooting.

Laisser un commentaire

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