23/11/2024

Activer le Bureau à distance (RDP) avec PowerShell

Dans ce cours, nous verrons différentes manières d’accéder à distance à notre Server Core, notamment pour simplifier l’administration. Pour commencer, intéressons-nous au Bureau à distance qui est un classique en termes d’administration à distance. Même s'il n'y a qu'une interface graphique minimale, il est possible d'établir une connexion Bureau à distance sur notre serveur !

Pour rappel, le Bureau à distance offre une solution simple, native et sécurisée pour accéder à distance à son serveur Windows. Il s’appuie sur le protocole RDP, qui utilise le port 3389 en TCP, par défaut.

Nous allons voir deux méthodes pour activer le Bureau à distance : PowerShell et l'utilitaire SCONFIG.

II. Activer le RDP avec PowerShell

Dire que l'on va activer le Bureau à distance avec PowerShell, c'est vrai, mais soyons clairs : il n'existe pas, à ce jour, de cmdlet spécifique pour gérer ce paramètre. Pour atteindre notre objectif, nous allons devoir modifier directement le Registre Windows à l'aide de PowerShell.

Grâce au cmdlet Set-ItemProperty, nous allons pouvoir modifier la clé de Registre "fDenyTSConnections" qui sert à activer ou désactiver l'accès Bureau à distance sur notre serveur. On va lui attribuer la valeur "0" pour activer l'accès RDP. Ce qui donne :

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0

Note : pour désactiver l'accès RDP, il suffit de définir cette valeur sur "1".

Ensuite, nous devons autoriser le flux dans le pare-feu de Windows, sinon il sera bloqué. Cela tombe bien puisqu'il y a des commandes PowerShell dédiées à la gestion du pare-feu Windows. Nous allons activer le groupe de règles "Bureau à distance" puisqu'il contient les règles qui vont permettre d'autoriser le flux.

Enable-NetFirewallRule -DisplayGroup "Bureau à distance"

Ou, sur une version anglaise de Windows :

Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

Vous pouvez vérifier que les règles sont bien activées avec la commande suivante :

Get-NetFirewallRule -DisplayGroup "Bureau à distance"

Voilà, le RDP est activé sur le serveur et la mise en bouche sur la gestion du pare-feu avec PowerShell s'arrête ici. Nous reviendrons sur ce sujet dans un chapitre dédié. Il ne reste plus qu'à se connecter depuis une autre machine :

Si la connexion RDP ne fonctionne pas, tentez de redémarrer le service RDP de votre serveur :

Restart-Service TermService -Force

III. Activer le RDP avec SCONFIG

Pour l’activer sous Windows Server Core, on peut passer par SCONFIG plutôt que PowerShell. Saisissez donc « sconfig » pour exécuter l’utilitaire.

Sur la ligne « 7 » vous remarquerez que, par défaut, le Bureau à distance est sur l’état « Désactivé ». Indiquez « 7 » pour que l’on active cette option.

Ensuite, indiquez « A » pour « Activer » le Bureau à distance et enfin choisissez l’option « 1 » qui permettra de sécuriser le service. Avec l’activation de l’authentification NLA, un compte utilisateur valide et son mot de passe sont demandés en amont de la connexion et sécurise totalement la connexion.

Une autre façon de faire serait de définir une GPO pour configurer le service Bureau à distance et de l'appliquer sur notre serveur Windows Server Core.

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