À l'ère où le travail à distance est de plus en plus adopté, utiliser des applications dans ce sens est devenu incontournable. Les Services de Bureau à Distance (Remote Desktop Services – RDS) de Microsoft répondent précisément à ce besoin. Grâce à eux, les utilisateurs peuvent accéder à des applications, des fichiers et des environnements de travail complets depuis n'importe quel appareil connecté à Internet. Ce type de connexion est sécurisée et performant. Les RDS offrent une infrastructure centralisée pour la gestion et la distribution des environnements de travail. Que ce soit pour les entreprises multisites, les télétravailleurs ou les environnements d'apprentissage à distance, les RDS représentent une solution éprouvée.
Comment publier une application en utilisant le service RDS ?
Pour publier une application sur le service RDS, il faut tout d'abord avoir un abonnement à ce service et avoir des licences si cela s'avère nécessaire. Ensuite, suivre le processus suivant : allez dans le Gestionnaire de Serveur, puis Services Bureau à Distance. Dans les Collections, sélectionnez la collection souhaitée. Allez dans Tâches, Publier des Programmes RemoteApp, choisir l'application dans la liste et cliquez sur Ajouter et Confirmer.
L'outil RemoteApp de Microsoft est au cœur de cette fonctionnalité. Il permet d'isoler et de publier des applications spécifiques sur le réseau. Une fois configurée, l'application s'exécute sur le serveur, mais s'affiche localement sur l'ordinateur de l'utilisateur, comme si elle était installée en local.
Pour la configuration des services RDS, voici le style optimal :
- Un serveur hôte de session bien dimensionné (RAM, CPU, stockage SSD).
- Une passerelle RDP (RD Gateway) pour sécuriser les connexions externes.
- Un broker (RD Connection Broker) pour équilibrer la charge entre plusieurs serveurs RDS.
- Une licence CAL (Client Access License) valide pour chaque utilisateur.
Quelles sont les étapes pour mettre en place une passerelle RDP ?
Afin de pouvoir utiliser les services RDS, il faut se connecter à une RDP. Pour le faire, installez le RDP via le gestionnaire de service, associez-le avec un certificat SSL/TLS. Ensuite, configurez les politiques de ressources et de connexion ou ouvrez le port 443 sur le pare-feu. Ce dernier sert à sécuriser les connexions via RD Gateway. Pour finir, testez la connexion à distance avec un client RDP.
La passerelle RDP assure la sécurisation des flux de données en utilisant le protocole HTTPS :
- Masquer les ports RDP classiques (3389) souvent ciblés par les attaques.
- Centraliser l'authentification et le contrôle d'accès.
- Renforcer la traçabilité des connexions.
Avec Windows Server 2022, Microsoft a introduit des améliorations notables en matière de chiffrement et d'intégration avec Azure AD et MFA.
Comment installer un serveur RDS avec PowerShell ?
Le RDS combiné avec le PowerShell permet d'automatiser, mais aussi de simplifier les tâches d'administration. S'ajoute à cela les tâches de gestion des sessions, de configuration des serveurs et de déploiement de l'infrastructure. PowerShell est un outil très sollicité par les administrateurs réseaux.
Les étapes suivantes vous aident à installer un serveur RDS avec PowerShell :
- Les pré-requis
- Windows Server version 2016, 2019 ou 2022
- Un compte administrateur
- Accès PowerShell en mode administrateur
- Le serveur doit être joint à un domaine Active Directory
- Installer les rôles RDS de base
- Ouvrir PowerShell en mode administrateur puis exécuter la commande suivante : Install-WindowsFeature -Name RDS-RD-Server, RDS-Connection-Broker, RDS-Web-Access -IncludeAllSubFeature -IncludeManagementTools -Restart.
- Créer un nouveau déploiement RDS. Voici un exemple de commande qui installe et qui configure 3 rôles ensemble :
- $Server = "MONSERVEUR.DOMAIN.LOCAL"
- Import-Module RemoteDesktop
- New-RDSessionDeployment -ConnectionBroker $Server -WebAccessServer $Server -SessionHost $Server.
- Créer une collection de sessions
- $CollectionName = "Collection-RDS"
- $DisplayName = "Bureaux RDS"
- $SessionHost = "MONSERVEUR.DOMAIN.LOCAL"
- New-RDSessionCollection -CollectionName $CollectionName -SessionHost $SessionHost -ConnectionBroker $SessionHost -CollectionDescription $DisplayName
- Activer les licences RDS : cette partie est optionnelle
- $obj = New-Object -ComObject "Microsoft.TerminalServices.Licensing.LicenseServer"
- $obj.SetSpecifiedLicenseServerList("MONSERVEUR.DOMAIN.LOCAL")
- $obj.SetSpecifiedLicenseMode (4) ou (2)
- Publier des applications RemoteApp : cette partie est optionnelle
- New-RDRemoteApp -CollectionName "Collection-RDS" -Alias "BlocNotes" -DisplayName "Bloc-notes" -FilePath "C:\Windows\System32\notepad.exe"
- Vérifier le déploiement
- Get-RDServer
- Get-RDSessionCollection
- Get-RDRemoteApp
Quels sont les avantages d'une authentification multifacteur sur RDP ?
Depuis quelque temps, l'authentification multifacteur ou plus précisément, la double authentification est devenue obligatoire. Que ce soit pour les simples applications comme les mails et les plateformes en ligne, mais surtout pour les accès à distance, tels que le RDS ou le RDP. Le grand avantage reste la sécurité et la protection contre les attaques et les vols d'identifiants. En combinant mot de passe et le code de validation (SMS, application mobile, clé physique), vous réduisez drastiquement les risques d'intrusion.
MFA avec UserLock
UserLock est une solution parmi les plus utilisées. Il renforce la sécurité des connexions RDP :
- Il impose une authentification multifacteur personnalisable
- Il limite le nombre de connexions simultanées par utilisateur
- Il offre un tableau de bord complet pour surveiller les sessions actives
À part la double authentification, grâce à ce logiciel de sécurité, l'administrateur peut gérer les sessions :
- Déconnecter à distance un utilisateur suspect
- Envoyer des alertes en cas d'activité inhabituelle
- Créer des politiques d'accès basées sur les heures ou l'adresse IP
Comment envoyer un message sur toutes les sessions via PowerShell ?
L'envoi de message auprès de tous les utilisateurs est souvent sous-estimé dans un environnement tel que le RDS. Pourtant, c'est très utile dans beaucoup de contextes, en passant directement dans ce service et sans utiliser des messageries instantanées. Cela peut se faire dans plusieurs cas :
- maintenance planifiée du serveur RDS
- annonce d'un incident
- communiqué sur une interruption de service
- déploiement ou de mise à jour d'applications
- alertes de sécurité
- communication interne
- coordination des équipes, déconnexion ou fermeture des sessions actives
- test de communication, de diagnostic, ainsi de suite.
À part ces messages venant des administrateurs, les utilisateurs peuvent aussi s'envoyer des messages.
Quelques exemples de commandes
- Message à envoyer à toutes les sessions :
Get-RDUserSession | ForEach-Object {Send-RDUserMessage -HostServer $_.HostServer -UnifiedSessionID $_.UnifiedSessionID `-MessageTitle "Maintenance planifiée" `-MessageBody "Le serveur RDS sera redémarré dans 15 minutes. Veuillez enregistrer votre travail."}
- Message à envoyer à toutes les sessions inactives avec une heure d'envoie précise :
Get-RDUserSession | Where-Object {$_.IdleTime -gt '02:00:00'} | ForEach-Object {Send-RDUserMessage -HostServer $_.HostServer -UnifiedSessionID $_.UnifiedSessionID `-MessageTitle "Session inactive" `-MessageBody "Votre session sera déconnectée dans 5 minutes pour inactivité."}
- Message d'un utilisateur à un autre :
msg ou
msg Paul "Salut Paul, peux-tu vérifier la mise à jour du fichier Excel ?"
- Message à un utilisateur d'un autre serveur :
msg /server:SRV-RDS01 Sophie "Le serveur sera redémarré dans 15 minutes."
Les règles et les droits
Pour maintenir un niveau de sécurité maximal, les administrateurs doivent gérer les sessions RDS. Pour ce faire, il faut contrôler et administrer les accès des utilisateurs aux applications et aux postes Windows dont ils ont uniquement besoin. Il y a aussi les droits pour les envois de message : les administrateurs peuvent envoyer des messages à tous les utilisateurs, les utilisateurs peuvent envoyer des messages à d'autres sessions sur le même serveur.
Comment ajouter des licences CAL sur un serveur RDS ?
Les licences Client Access Licenses ou CAL sont indispensables pour chaque utilisateur ou chaque appareil se connectant à un serveur RDS. Pour la configuration :
- Installer le rôle Remote Desktop Licensing via le Gestionnaire de serveur.
- Activer le serveur de licences depuis RD Licensing Manager.
- Ajouter les licences en saisissant la clé d'activation fournie par Microsoft.
- Associer le serveur de licences au déploiement RDS.
Il existe 2 modèles de licences CAL :
- CAL par utilisateur ou User CAL : chaque licence est associée à un compte utilisateur spécifique. Ce modèle est idéal lorsque plusieurs appareils (PC, tablette, smartphone) sont utilisés par une même personne. Il simplifie la gestion dans les environnements hybrides ou les scénarios de télétravail.
- CAL par appareil ou Device CAL : chaque licence est liée à un terminal particulier, quel que soit l'utilisateur qui s'y connecte. Ce modèle est adapté aux postes partagés, comme les ateliers, les écoles ou les bornes de production. Il permet d'économiser des licences dans les environnements à forte rotation d'utilisateurs sur un même poste.
Il est obligatoire de vérifier régulièrement l'état des licences. Il faut aussi sauvegarder la base de licences au cas où il y aurait des mises à jour et de documenter chaque bénéficiaire du CAL. Toutes les bonnes pratiques de gestion, de sécurité et de conformité permettent d'éviter les erreurs, telles que :
- Des erreurs de connexion RDP
- Des risques de non-conformité lors d'un audit Microsoft
- Et une instabilité du service, notamment sur les environnements virtualisés
Quelles solutions pour un déploiement rapide d'un serveur RDS ?
La solution référence reste le Windows Server 2016. Son déploiement repose sur le gestionnaire de serveur pour la configuration graphique, le PowerShell pour l'automatisation et une architecture équilibrée.
Cependant, d'autres méthodes sont aussi rapides :
- Le Quick Start : c'est réputé la plus rapide et la plus simple à mettre en place. Il a l'avantage de proposer une installation automatisée et prête en quelques minutes. Le Quick Start est idéal pour les tests ou POC.
- Le PowerShell : ce choix permet d'aller vite tout en gardant le contrôle. L'installation est scriptable et reproductible sur plusieurs serveurs hôtes. Le PowerShell pour ceux qui recherchent l'automatisation et l'utilisation sur les environnements cloud.
- Le Cloud : c'est une solution de plus en plus adoptée par les entreprises. Que ce soit Azure, GCP ou AWS, le principe est le même : quasiment tout est préconfiguré. L'avantage est la grande rapidité, la scalabilité automatique et la gestion simplifiée de l'infrastructure.
Moins rapides, mais présentent aussi ses avantages, les deux solutions de déploiement suivantes sont aussi des alternatives viables :
- utilisation d'image ou de modèle préconfiguré (on-premise)
- automatisation avancée avec l'IaC (Infrastructure as a Code)
FAQ sur les services RDS : Questions fréquentes
Vous avez sûrement des questions à poser sur les services RDS. Voici quelques réponses aux questions les plus courantes, y compris les erreurs et les conseils de dépannage.
Quels sont les 3 types de serveurs ?
Les 3 types de serveurs sont :
- Le serveur d'hébergement de session : héberge les bureaux et applications.
- Le serveur de passerelle (RD Gateway) : sécurise les connexions externes.
- Le serveur de licences (RD Licensing) : gère les licences d'accès CAL.
Quelles sont les erreurs les plus fréquentes lors de la publication d'une application ?
Même pour un expert, il se peut qu'une étape soit oubliée lors de la publication d'une application. Ce qui fait qu'un check liste est toujours conseillé pour éviter les erreurs les plus fréquentes suivantes :
- Oubli de publication dans la bonne collection.
- Problèmes de certificats SSL.
- Permissions utilisateur mal configurées.
- Ports bloqués par le pare-feu.
Comment optimiser les performances d'un serveur RDS ?
Il existe plusieurs points d'optimisation pour booster les performances d'un serveur RDS. En voici quelques-uns :
- Utiliser des disques SSD pour les profils utilisateurs.
- Déployer FSLogix pour gérer les profils roaming.
- Limiter les effets visuels via les stratégies de groupe.
- Surveiller la charge CPU et mémoire pour équilibrer les sessions.
En résumé, quel est l'impact des services RDS aujourd'hui ?
Les Services de Bureau à Distance jouent un rôle central dans les infrastructures informatiques modernes. Ils permettent :
- D'accéder aux ressources à distance en toute sécurité
- De réduire les coûts d'administration et de maintenance
- D'assurer la continuité d'activité, notamment en télétravail
Avec l'intégration croissante d'Azure Virtual Desktop et de Windows 365, l'avenir des RDS s'inscrit dans une logique hybride. Il combine souplesse du cloud et puissance des environnements locaux.Les entreprises adoptent ainsi des architectures plus agiles, résilientes et sécurisées.
Les Services de Bureau à Distance (RDS) demeurent aujourd'hui un pilier incontournable des infrastructures informatiques modernes. En centralisant l'hébergement des applications et des environnements de travail, ils offrent aux entreprises une solution à la fois flexible, sécurisée et économique. Grâce à des outils comme RemoteApp, PowerShell, ou encore la passerelle RDP, il est désormais possible de déployer, d'administrer et de sécuriser un environnement RDS avec une grande agilité. Que les utilisateurs soient au bureau, en télétravail ou en déplacement, ils peuvent accéder à leurs outils métiers en toute transparence. Une manière de travailler comme s'ils étaient sur leur poste local. À l'heure où les entreprises recherchent des solutions hybrides alliant performance et puissance du cloud, les RDS continuent d'évoluer, notamment en intégration avec Azure Virtual Desktop et Windows 365.