Utiliser WinRM pour la gestion à distance

Module Progression
0% Terminé

Après avoir vu comment gérer notre serveur à distance en utilisant le service Bureau à distance, nous allons voir le protocole WinRM.

I. Qu’est-ce que WinRM ?

WinRM, Windows Remote Management, repose sur du HTTP et il est l’implémentation chez Microsoft du standard WS-Management, basé sur SOAP. Ceci implique qu’il n’est plus un protocole RPC et peut donc passer plus facilement les firewalls.

Au niveau des ports utilisés, on en trouve deux :

• HTTP : 5985
• HTTPS : 5986

Il est préférable d’utiliser la déclinaison HTTPS du protocole WinRM (sur le port 5986) afin de profiter d’une connexion sécurisée. Cependant, il faut disposer d’un service de génération de certificat pour signer les communications.

II. WinRM est-il opérationnel ?

Sous Windows Server Core, la « Gestion à distance » est active par défaut, ce qui implique que WinRM est actif. Pour s’en assurer, contrôlez l’état du service WinRM :

Get-Service WinRM

On remarque sur la copie d’écran ci-dessous que le service est sur l’état « Running » ce qui signifie qu’il est en cours d’exécution.

Get-Service WinRM
Get-Service WinRM

De ce fait, l’utilisation du protocole WinRM est envisageable dès à présent.

Si ce n’est pas le cas...

Ouvrez l’utilitaire « sconfig » et si l’option « Configurer l’administration à distance » est sur « Désactivé » alors indiquez le choix « 4 ». Ensuite, indiquez « 1 » pour activer la gestion à distance (WinRM) et patientez jusqu’à la validation. Vérifiez à nouveau que le service WinRM est bien en cours.

III. Par quels biais utiliser WinRM ?

Deux méthodes d’administration principales s’appuient sur WinRM :

• Ouverture de session PowerShell à distance
• Administration à distance du serveur via le « Gestionnaire de serveur » d’un autre serveur

IV. Ouvrir une session PowerShell à distance

Toujours dans l’environnement Active Directory que j’utilise depuis le départ, au sein du domaine « it-connect.fr », je vais tenter à partir d’un serveur nommé « SRV01 » d’ouvrir une session PowerShell à distance à destination du serveur « CORE01 ». Bien entendu, via WinRM.

Pour ouvrir une connexion PowerShell à distance, on s’appuie sur le commandlet « Enter-PSSession », comme ceci :

Enter-PSSession -ComputerName CORE01.it-connect.fr -Credential IT-Connect\Administrateur

Pour expliquer la commande ci-dessus, on précise le nom de l’hôte cible (ComputerName) et le compte utilisateur à utiliser se connecter (Credential). Une fois la commande validée, il est nécessaire d’indiquer le mot de passe de l’utilisateur précisé dans le paramètre Credential.

Ouvrir une session PowerShell à distance avec Enter-PSSession
Ouvrir une session PowerShell à distance avec Enter-PSSession

Après quelques secondes, la connexion doit être établie et vous devez être connecté sur le serveur CORE01 depuis le serveur SRV01, et ce à distance via WinRM !

On remarque que l’on se trouve sur le serveur distant, car la ligne de commande est précédée par « [CORE01.it-connect.fr] ». Pour le vérifier, il suffit de saisir la commande « hostname » et on remarque que la valeur « CORE01 » est retournée : bravo ! Vous êtes bien connectés à l’hôte distant 😉

Vérifier la connexion à distance par WinRM
Vérifier la connexion à distance par WinRM

Administrez votre serveur comme si vous étiez directement connecté dessus. Pour terminer la session à tout moment, saisissez « exit ».

V. Gérer depuis le « Gestionnaire de serveur »

Pour en finir sur ce chapitre avec le service WinRM, on va voir comment gérer notre serveur « CORE01 » depuis le « Gestionnaire de serveur » d’un autre serveur : SRV01.

Eh oui, il est temps de retoucher à l’interface graphique. Les manipulations effectuées dans cette partie sont en totalité réalisées sur le serveur SRV01. Ce serveur est sous Windows Server 2012 R2, en installation complète (donc avec interface graphique).

Ouvrez le « Gestionnaire de serveur » et sur la gauche sélectionnez « Tous les serveurs ». Profitez-en pour faire un clic droit sur cette zone et choisissez « Ajouter des serveurs ».

"Ajouter des serveurs"
"Ajouter des serveurs"

Dans la zone « Nom » indiquez « CORE01 » et cliquez sur « Rechercher maintenant ». Dans la liste, le serveur « CORE01 » doit apparaître, cliquez dessus pour le sélectionner et cliquez sur la flèche pour l’envoyer dans la colonne de droite.

Validez avec « OK » pour ajouter le serveur et établir la connexion.

Assistant d'ajout d'un serveur pour la gestion à distance
Assistant d'ajout d'un serveur pour la gestion à distance

Sur la partie centrale de la console, vous avez désormais la possibilité de gérer deux serveurs : SRV01 et CORE01.

Deux serveurs peuvent être gérés depuis cette console unique !
Deux serveurs peuvent être gérés depuis cette console unique !

On remarque que diverses actions sont disponibles :

Les actions possibles via ce gestionnaire
Les actions possibles via ce gestionnaire

En utilisant ce mode de gestion à distance, vous pourrez réaliser simplement certaines tâches :

- Installer et supprimer des rôles et fonctionnalités

- Redémarrer le serveur

- Gérer le serveur (planificateur de tâches, observateur d’événements, performance, gestion des utilisateurs, des dossiers partagés, des services, des disques ainsi que l’accès au gestionnaire de périphérique.

- Initier une connexion RDP (Bureau à distance)

- Exécuter les compteurs de performances

- Créer une association de cartes réseau

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Ingénieur système et réseau et cofondateur d'IT-Connect. 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.

florian a publié 3062 articlesVoir toutes les publications de cet auteur