Environnement du lab
Ce lab étend l'infrastructure NOUVY.LAN existante (Active Directory, DHCP, DNS opérationnels sur SRV-NOUVY) avec un nouveau serveur SRV-RDS dédié aux Services Bureau à Distance et à la publication RemoteApp.
| Rôle | Nom machine | Adresse IP | Système |
|---|---|---|---|
| Contrôleur de domaine / DHCP / DNS | SRV-NOUVY | 192.168.1.10 | Windows Server 2025 |
| Serveur RDS / RemoteApp | SRV-RDS | 192.168.1.30 | Windows Server 2025 |
| Domaine | NOUVY.LAN | — | — |
| Postes clients | PC-XXXX | 192.168.1.x (DHCP) | Windows 11 Pro/Education/Enterprise |
Prérequis : SRV-RDS est un serveur membre du domaine NOUVY.LAN, à jour Windows Update, avec une adresse IP statique et un enregistrement DNS valide. Compte administrateur du domaine disponible.
1. Introduction aux services Bureau à Distance
Qu'est-ce que RDS ?
Les Services Bureau à Distance (Remote Desktop Services, abrégé RDS) sont une plateforme Windows Server permettant de centraliser l'exécution d'applications et de bureaux sur un ou plusieurs serveurs. Les utilisateurs accèdent à ces ressources depuis un client léger (PC, tablette, smartphone) via le protocole RDP (Remote Desktop Protocol).
L'utilisateur voit s'afficher sur son poste local soit :
- un bureau Windows complet (session Windows hébergée sur le serveur)
- soit une application unique (RemoteApp) qui s'exécute sur le serveur mais qui s'affiche comme une fenêtre native sur le poste client
Cas d'usage typiques
| Cas d'usage | Bénéfice RDS |
|---|---|
| Centralisation d'un logiciel métier (ERP, compta, CAO) | Une seule installation à maintenir, données restent sur le serveur |
| Télétravail / accès distant sécurisé | Aucune donnée ne quitte l'entreprise, accès via HTTPS |
| Postes peu puissants ou hétérogènes | Le calcul se fait sur le serveur, le client n'a qu'à afficher |
| Standardisation d'environnement | Tous les utilisateurs ont la même version du logiciel |
| Continuité d'activité | Si un poste tombe, l'utilisateur se reconnecte ailleurs et retrouve sa session |
RDS vs solutions concurrentes
| Solution | Type | Hébergement | Public |
|---|---|---|---|
| RDS (Microsoft) | Sessions Windows Server partagées | On-premise / cloud | PME et grandes entreprises Microsoft |
| Citrix Virtual Apps | Sessions + VDI avancé | On-premise / cloud | Grandes entreprises, fonctionnalités étendues |
| VMware Horizon | VDI + RDS | On-premise / cloud | Environnements VMware |
| Azure Virtual Desktop | RDS + W10/W11 multi-sessions | Cloud Azure uniquement | Cloud-first, hybrides |
| Windows 365 | Cloud PC dédié | Cloud Azure | 1 utilisateur = 1 PC virtuel persistant |
Note : RDS reste la solution standard et économique pour publier des applications Windows en interne. Pour NOUVY.LAN, RDS sur Windows Server 2025 est largement suffisant.
2. Architecture des services RDS
Le rôle Services Bureau à Distance se décompose en 6 sous-rôles distincts. Sur un petit déploiement (lab, PME), tous peuvent cohabiter sur un seul serveur. Sur des déploiements plus larges, ils sont répartis sur plusieurs machines pour la haute disponibilité.
Les 6 rôles RDS
| Rôle | Acronyme | Fonction |
|---|---|---|
| Hôte de session Bureau à distance | RDSH (RD Session Host) | Héberge les sessions utilisateurs et exécute les applications RemoteApp |
| Service Broker des connexions Bureau à distance | RDCB (RD Connection Broker) | Distribue les connexions entrantes vers les RDSH disponibles, gère les reconnexions |
| Accès Web des services Bureau à distance | RDWA (RD Web Access) | Portail web HTTPS où les utilisateurs voient leurs applications publiées |
| Passerelle des services Bureau à distance | RDG (RD Gateway) | Permet l'accès depuis Internet via HTTPS (port 443) sans VPN |
| Gestionnaire de licences des services Bureau à distance | RDL (RD Licensing) | Gère l'attribution des CAL RDS aux utilisateurs ou postes |
| Hôte de virtualisation des services Bureau à distance | RDVH (RD Virtualization Host) | Pour le VDI (machines virtuelles individuelles via Hyper-V) — non utilisé dans ce lab |
Schéma logique d'un déploiement RDS
Internet
│
│ HTTPS (443)
▼
┌────────────────┐
│ RD Gateway │ ← Optionnel, pour accès externe
└───────┬────────┘
│
│ RDP encapsulé HTTPS
▼
┌────────────────┐
│ RD Web Access │ ← Portail web pour lister les RemoteApp
└───────┬────────┘
│
▼
┌────────────────┐
│ RD Connection │ ← Aiguillage des sessions
│ Broker │
└───────┬────────┘
│
┌────────┴─────────┐
▼ ▼
┌──────┐ ┌──────┐
│ RDSH │ │ RDSH │ ← Serveurs hébergeant les sessions/applications
│ #1 │ │ #2 │
└──────┘ └──────┘
│
▼
┌────────────────┐
│ RD Licensing │ ← Délivre les CAL aux utilisateurs/postes
└────────────────┘
Déploiement Quick Start vs Standard
| Type | Description | Quand l'utiliser |
|---|---|---|
| Démarrage rapide (Quick Start) | Installe RDSH + RDCB + RDWA sur un seul serveur, avec une collection de démo | Lab, PME, démo, mono-serveur |
| Déploiement standard | Installe les rôles séparément sur plusieurs serveurs spécifiés | Production, haute disponibilité, architecture multi-serveurs |
Choix pour NOUVY.LAN : nous utiliserons le déploiement standard mais en regroupant tous les rôles sur SRV-RDS. C'est la méthode recommandée car elle laisse la flexibilité d'ajouter d'autres serveurs RDSH plus tard.
3. Le concept RemoteApp
Qu'est-ce qu'une RemoteApp ?
RemoteApp est une fonctionnalité de RDS qui permet de publier une application (et non un bureau complet). Côté utilisateur, l'application s'affiche dans une fenêtre Windows classique sur son poste local, comme si elle était installée localement.
En réalité, l'application s'exécute sur le serveur RDSH, et seules les images de l'écran (transférées en RDP) sont affichées sur le poste client. Le clavier, la souris, le presse-papiers et les imprimantes sont relayés entre le client et le serveur.
Bureau complet vs RemoteApp
| Critère | Bureau complet | RemoteApp |
|---|---|---|
| Ce que voit l'utilisateur | Tout un bureau Windows | Une seule fenêtre application |
| Expérience | Comme un PC distant | Comme une application locale |
| Cas d'usage | Télétravail générique | Publication d'un logiciel métier ciblé |
| Lancement | Icône bureau distant | Icône .rdp ou via RD Web Access |
| Multi-fenêtres | Toutes dans le bureau distant | Chaque appli dans sa fenêtre locale |
Avantages de RemoteApp
- Transparence : l'application apparait dans la barre des tâches comme une appli locale (ALT+TAB la liste)
- Simplicité côté utilisateur : pas de bureau distant à gérer
- Centralisation : une seule installation côté serveur, toutes les MAJ se font à un endroit
- Sécurité : les données restent sur le serveur, jamais sur le poste client
- Compatibilité : permet de faire tourner des applis Windows sur Mac, Linux, iOS, Android via le client RD
Limites
- L'application doit être compatible multi-utilisateurs (la plupart des applis Win32 le sont, certaines applis grand public ne le sont pas)
- Performance dépendante du réseau (ping, bande passante)
- Licences RDS CAL obligatoires en environnement de production (au-delà de 120 jours d'essai)
- Certaines API graphiques (DirectX 12, jeux) ne sont pas adaptées
4. Prérequis pour l'installation
Prérequis infrastructure
| Prérequis | Statut | Remarque |
|---|---|---|
| Active Directory DS | Operationnel | Domaine NOUVY.LAN sur SRV-NOUVY |
| DNS | Operationnel | Sur SRV-NOUVY, doit résoudre srv-rds.nouvy.lan |
| SRV-RDS membre du domaine | A vérifier | Doit être joint à NOUVY.LAN |
| IP statique sur SRV-RDS | A configurer | 192.168.1.30 dans ce lab |
| Compte admin de domaine | Disponible | Nécessaire pour le déploiement |
Vérifications préalables sur SRV-RDS
Ouvrir PowerShell en administrateur sur SRV-RDS :
# Vérifier le nom de la machine et l'appartenance au domaine
hostname
(Get-WmiObject Win32_ComputerSystem).Domain
# Vérifier l'adresse IP
Get-NetIPAddress -AddressFamily IPv4 | Where-Object { $_.IPAddress -notlike "127.*" }
# Vérifier la résolution DNS du DC
Resolve-DnsName srv-nouvy.nouvy.lan
# Vérifier l'heure (importante pour Kerberos)
w32tm /query /status
Création des groupes AD
Sur SRV-NOUVY, ouvrir Utilisateurs et ordinateurs Active Directory (dsa.msc) et créer les groupes suivants dans une OU dédiée (par exemple OU=Groupes RDS,DC=nouvy,DC=lan) :
| Groupe AD | Membres | Utilité |
|---|---|---|
GRP_RDS_Users |
Utilisateurs autorisés à se connecter aux RemoteApp | Filtre d'accès aux collections |
GRP_RDS_Admins |
Administrateurs RDS | Gestion du serveur RDS |
GRP_RemoteApp_Compta |
Utilisateurs du logiciel comptable | Publication ciblée |
GRP_RemoteApp_RH |
Utilisateurs RH | Publication ciblée |
Convention NOUVY : préfixe
GRP_pour tous les groupes AD (cohérent avecGRP_Direction,GRP_Compta, etc. déjà existants). Ces groupes contiendront les utilisateurs et seront référencés dans les collections RDS.
5. Installation du rôle RDS sur SRV-RDS
Étape 1 — Lancer l'assistant de déploiement
- Sur SRV-RDS, ouvrir Server Manager → Gérer → Ajouter des rôles et fonctionnalités
- Page Type d'installation : sélectionner "Installation des services Bureau à distance" (et non "Installation basée sur un rôle ou une fonctionnalité")
- Page Type de déploiement : choisir "Déploiement standard" (plus flexible que le démarrage rapide)
- Page Scénario de déploiement : choisir "Déploiement de bureau basé sur une session" (et non "Déploiement de bureau basé sur une machine virtuelle" qui correspond au VDI)
Étape 2 — Sélection des serveurs pour chaque rôle
L'assistant demande de choisir les serveurs cibles pour les 3 rôles principaux :
| Rôle | Serveur |
|---|---|
| Serveur Broker des connexions Bureau à distance | SRV-RDS.nouvy.lan |
| Serveur d'accès Web des services Bureau à distance | SRV-RDS.nouvy.lan |
| Serveur hôte de session Bureau à distance | SRV-RDS.nouvy.lan |
Pour chaque écran, sélectionner SRV-RDS dans la liste et cliquer sur la flèche pour l'ajouter au panneau de droite.
Étape 3 — Confirmation et installation
- Cocher "Redémarrer le serveur de destination automatiquement si nécessaire"
- Cliquer Déployer
- L'assistant installe successivement les 3 rôles, redémarre SRV-RDS automatiquement, et reprend le déploiement après le reboot
- Durée totale : environ 10 à 15 minutes
Étape 4 — Vérification dans Server Manager
Après le redémarrage, ouvrir Server Manager → menu de gauche → Services Bureau à distance.
La Vue d'ensemble du déploiement affiche un schéma des rôles installés :
[RD Connection Broker] ─── [RD Web Access] ─── [RD Session Host]
SRV-RDS SRV-RDS SRV-RDS
Trois rôles supplémentaires apparaissent en grisé (non installés) :
- RD Gateway (à installer plus tard pour l'accès externe)
- RD Licensing (à installer pour activer les CAL)
- RD Virtualization Host (uniquement pour le VDI)
Étape 5 — Premier test rapide
À ce stade, le déploiement est fonctionnel mais sans collection. Tester la connexion RDP classique pour valider que SRV-RDS répond :
# Depuis un poste client
mstsc /v:srv-rds.nouvy.lan
Se connecter avec un compte du domaine membre du groupe Administrateurs du domaine (les utilisateurs standard ne pourront pas se connecter tant qu'aucune collection n'est créée).
6. Création et configuration d'une collection de sessions
Une collection regroupe un ou plusieurs serveurs RDSH ayant la même configuration, et publie des ressources (bureaux ou RemoteApp) à un ensemble d'utilisateurs.
Étape 1 — Créer la collection
- Server Manager → Services Bureau à distance → Collections
- Menu Tâches → Créer une collection de sessions
- Nom :
Collection-Apps-NOUVY(nom interne, visible des admins) - Description :
Applications publiées NOUVY.LAN - Hôtes de session : ajouter SRV-RDS
- Groupes d'utilisateurs : ajouter
NOUVY\GRP_RDS_Users(au lieu du groupe par défautDomain Users) - Profils d'utilisateurs (UPD) : décocher pour ce premier test (à activer en production — voir section dédiée)
- Confirmer → Créer
Étape 2 — Examiner les propriétés de la collection
Cliquer sur la collection nouvellement créée → onglet Propriétés → Tâches → Modifier les propriétés.
Onglet Général
- Nom et description (modifiables à tout moment)
Onglet Connexions utilisateur
- Nombre maximum de connexions actives par utilisateur (illimité par défaut)
- Action lors de la déconnexion : fermer la session après X minutes d'inactivité
Onglet Paramètres de session
- Durée maximale d'une session active (illimitée par défaut)
- Délai d'expiration d'une session inactive (recommandé : 4h)
- Délai d'expiration d'une session déconnectée (recommandé : 1h)
- Action en fin de délai : déconnecter ou fermer la session
Onglet Sécurité
- Couche de sécurité : TLS 1.2/1.3 (par défaut sous Windows Server 2025)
- Niveau de chiffrement : Élevé ou Compatible FIPS
- Authentification au niveau réseau (NLA) : ✅ activée (recommandé)
Onglet Équilibrage de charge
- Pertinent si plusieurs RDSH dans la collection (poids relatif de chaque serveur)
Onglet Configuration du client
- Redirection des ressources locales : imprimantes, presse-papiers, lecteurs, ports
- Redirection audio : depuis le serveur vers le client
- Activer Smart Card si authentification carte à puce
Onglet Groupes d'utilisateurs
- Liste des groupes AD autorisés (modifiables à tout moment)
Onglet Disques de profil utilisateur (UPD)
- Voir section dédiée ci-dessous
Étape 3 — Configurer les disques de profil utilisateur (UPD)
Les User Profile Disks stockent le profil de chaque utilisateur (documents, paramètres, AppData) dans un fichier VHDX dédié sur un partage réseau. Cela évite les profils itinérants classiques (lents et fragiles) et garantit une expérience cohérente entre serveurs RDSH.
Préparer le partage UPD sur SRV-NOUVY
- Sur SRV-NOUVY, créer un dossier
D:\UPD-NOUVY - Partager ce dossier avec :
- Nom du partage :
UPD-NOUVY$(le$rend le partage caché) - Permissions partage :
NOUVY\Ordinateurs du domaine→ Contrôle total (les serveurs RDSH doivent pouvoir écrire) - Permissions NTFS :
NOUVY\Ordinateurs du domaine→ Contrôle total +NOUVY\Administrateurs du domaine→ Contrôle total
- Nom du partage :
Activer UPD dans la collection
- Properties de la collection → onglet Disques de profil utilisateur
- Cocher "Activer les disques de profil utilisateur"
- Emplacement :
\\srv-nouvy.nouvy.lan\UPD-NOUVY$ - Taille maximum : 20 Go (ajustable selon usage)
- Choisir entre :
- Stocker tous les paramètres et données du profil (recommandé)
- Exclure des dossiers spécifiques (si certains dossiers volumineux ne doivent pas être inclus)
Comportement : à la première connexion d'un utilisateur, un fichier
UVHD-{SID}.vhdxest créé dans le partage. Ce VHDX est monté dynamiquement à chaque session de l'utilisateur.
7. Publication d'applications RemoteApp
C'est ici que la magie opère : on publie des applications individuelles plutôt qu'un bureau entier.
Prérequis : installer les applications sur SRV-RDS
Avant de pouvoir les publier, les applications doivent être installées sur le serveur RDSH (ici SRV-RDS), en mode RDS.
Mode installation RDS
Deux méthodes pour installer une application en mode RDS :
Méthode 1 — via Panneau de configuration
- Panneau de configuration → Programmes → Installer une application sur un serveur Bureau à distance
- Lancer le programme d'installation
- Le serveur passe automatiquement en mode installation puis revient en mode exécution
Méthode 2 — via PowerShell (recommandée)
# Activer le mode installation
Change user /install
# Installer l'application (ex : msiexec /i ".\monlogiciel.msi" /qb)
msiexec /i "C:\Sources\notepadplusplus.msi" /qb
# Repasser en mode exécution
Change user /execute
# Vérifier l'état actuel
Change user /query
Pourquoi ce mode ? En mode installation, Windows redirige les écritures de la base de registre vers
HKLMau lieu deHKCU, ce qui rend l'application visible et utilisable par tous les utilisateurs RDS.
Étape 1 — Publier une RemoteApp
- Server Manager → Services Bureau à distance → Collections → cliquer sur
Collection-Apps-NOUVY - Section Programmes RemoteApp → Tâches → Publier des programmes RemoteApp
- L'assistant scanne
C:\Program FilesetC:\Program Files (x86)à la recherche d'applications publiables - Cocher les applications souhaitées (ex :
Notepad++,Calculatrice,WordPad) - Si une application n'apparait pas dans la liste : cliquer Ajouter et naviguer manuellement vers son
.exe - Confirmer → Publier
Étape 2 — Configurer chaque RemoteApp publiée
Cliquer sur une application publiée → Tâches → Modifier les propriétés.
Onglet Général
- Nom du programme RemoteApp : nom affiché dans RD Web Access (ex :
Notepad++) - Alias : identifiant unique (utilisé dans le fichier .rdp)
- Afficher dans le RD Web Access : ✅ par défaut
Onglet Paramètres
- Paramètres de ligne de commande :
- Ne pas autoriser (par défaut, sécurisé)
- Autoriser (l'utilisateur peut passer des arguments)
- Toujours utiliser les paramètres suivants (forcer des paramètres fixes)
- Icône : modifiable
Onglet Affectations utilisateur
- Tous les utilisateurs ayant accès à cette collection (par défaut)
- Utilisateurs ou groupes spécifiques : pour publier l'application à un sous-ensemble (ex :
GRP_RemoteApp_Comptauniquement pour Sage)
Onglet Associations de types de fichiers
- Permet d'associer une extension (ex:
.txt) à la RemoteApp côté client : un double-clic sur un fichier.txtlocal lancera Notepad++ sur le serveur
Étape 3 — Vérifier la publication
Les applications publiées apparaissent dans Server Manager → Collections → Programmes RemoteApp.
Sur le serveur, le dossier C:\Windows\RemoteApps (et plus précisément la base WMI) stocke les définitions des RemoteApp publiées. La gestion via PowerShell utilise les commandes suivantes :
# Lister les RemoteApp publiées dans la collection
Get-RDRemoteApp -CollectionName "Collection-Apps-NOUVY"
# Publier une RemoteApp via PowerShell
New-RDRemoteApp -CollectionName "Collection-Apps-NOUVY" `
-DisplayName "WordPad" `
-FilePath "C:\Program Files\Windows NT\Accessories\wordpad.exe"
# Restreindre une RemoteApp à un groupe spécifique
Set-RDRemoteApp -CollectionName "Collection-Apps-NOUVY" `
-Alias "wordpad" `
-UserGroups "NOUVY\GRP_RemoteApp_RH"
# Dépublier une RemoteApp
Remove-RDRemoteApp -CollectionName "Collection-Apps-NOUVY" -Alias "wordpad"
Déploiement automatique des RemoteApp aux postes clients via GPO
Plutôt que de demander aux utilisateurs d'ouvrir le portail RD Web Access et de télécharger manuellement les fichiers .rdp, on peut pousser automatiquement les RemoteApp dans le menu Démarrer des postes clients via une GPO. Le poste se souscrit au Feed RemoteApp publié par SRV-RDS et récupère toutes les applications auxquelles l'utilisateur a droit.
Résultat côté client : un dossier NOUVY apparaît dans le menu Démarrer, contenant les raccourcis vers chaque RemoteApp publiée. Un clic = lancement de l'application sans aucune interaction supplémentaire.
Prérequis : la console Gestion des stratégies de groupe (
gpmc.msc) doit être disponible sur le DC. Sur Windows Server 2025, elle est installée par défaut.
Étape 1 — Créer la GPO
Sur SRV-NOUVY (le DC) :
- Touche
Windows→ taper "Gestion des stratégies de groupe" → ouvrir - Arborescence : Forêt → Domaines → NOUVY.LAN
- Trouver l'OU contenant les utilisateurs cibles (ex.
OU=Utilisateurs NOUVY) - Clic droit sur cette OU → Créer un objet GPO dans ce domaine, et le lier ici...
- Nom :
RDS - Souscription RemoteApp NOUVY→ OK - Clic droit sur la GPO créée → Modifier...
Étape 2 — Configurer la souscription au Feed (Configuration utilisateur)
Dans l'éditeur GPO, naviguer jusqu'à :
Configuration utilisateur
→ Stratégies
→ Modèles d'administration
→ Composants Windows
→ Services Bureau à distance
→ Connexions RemoteApp et Bureau à distance
Double-cliquer sur le paramètre "Spécifier l'URL des paramètres de connexion par défaut" :
- Sélectionner Activé
- Dans le champ URL :
https://SRV-RDS.NOUVY.LAN/RDWeb/Feed/webfeed.aspx - OK
Étape 3 — Renommer le workspace côté serveur
Cette étape détermine le nom du dossier créé dans le menu Démarrer du client. Par défaut, le dossier s'appellera "RemoteApp et Bureau à distance" — pour qu'il s'appelle NOUVY, il faut renommer le workspace côté serveur.
Sur SRV-RDS, ouvrir PowerShell admin :
Set-RDWorkspace -Name "NOUVY" -ConnectionBroker "SRV-RDS.NOUVY.LAN"
Vérification :
Get-RDWorkspace -ConnectionBroker "SRV-RDS.NOUVY.LAN"
La sortie doit indiquer Name : NOUVY.
Sans cette étape, le dossier dans le menu Démarrer côté client s'appellera "Workspaces" ou "RemoteApp et Bureau à distance", pas NOUVY.
Étape 4 — Distribuer le certificat auto-signé aux clients
C'est l'étape qu'on oublie systématiquement et qui fait planter la souscription : le poste client doit faire confiance au certificat de SRV-RDS, sinon le feed est rejeté avant même de pouvoir être consulté.
Sur SRV-RDS — exporter le certificat :
- Touche
Windows→ tapercertlm.msc→ ouvrir - Déplier Personnel → Certificats
- Trouver le certificat utilisé pour RDWeb (celui lié au binding HTTPS dans IIS)
- Clic droit → Toutes les tâches → Exporter
- Suivant → "Non, ne pas exporter la clé privée" → Suivant
- Format : DER binaire encodé X.509 (.CER) → Suivant
- Nom du fichier :
C:\Temp\rdweb-srv-rds.cer→ Suivant → Terminer
Copier ce fichier .cer sur le DC (partage, clé USB, ou copie réseau).
Dans la GPO (la même que celle créée à l'étape 1) — ajouter la partie ordinateur :
Dans l'éditeur GPO, naviguer jusqu'à :
Configuration ordinateur
→ Stratégies
→ Paramètres Windows
→ Paramètres de sécurité
→ Stratégies de clé publique
→ Autorités de certification racines de confiance
Clic droit sur Autorités de certification racines de confiance → Importer... :
- Suivant → Parcourir → choisir
rdweb-srv-rds.cer→ Suivant - Magasin : Autorités de certification racines de confiance (déjà sélectionné par défaut)
- Suivant → Terminer
Important : la GPO contient maintenant des paramètres Configuration utilisateur ET Configuration ordinateur. Elle doit donc être liée à une OU qui couvre à la fois les utilisateurs et les ordinateurs ciblés. Le plus simple : la lier à la racine du domaine NOUVY.LAN ou à une OU parente contenant les deux types d'objets. Si le lab a des OU séparées (ex.
OU=UsersetOU=Computers), lier la GPO aux deux, ou la lier à la racineNOUVY.LAN.
Étape 5 — Test côté client
Sur un poste Windows membre du domaine NOUVY :
- Connexion avec un compte AD membre de
GRP_RDS_Users - Ouvrir cmd ou PowerShell :
gpupdate /force - Déconnexion / reconnexion (important : la souscription se déclenche à l'ouverture de session, pas avec un simple gpupdate)
À la prochaine ouverture de session :
- La GPO pousse l'URL du feed
- Le poste client se souscrit automatiquement
- Le certificat est dans le magasin de confiance → pas d'erreur SSL
- Dans le menu Démarrer → un dossier NOUVY apparaît avec les RemoteApp publiées
Étape 6 — Vérification du résultat
Sur le poste client, après reconnexion :
- Touche
Windows→ taper RemoteApp → ouvrir "Connexions aux programmes RemoteApp et bureau à distance" - Une connexion active nommée NOUVY doit apparaître avec :
- Statut : Connecté
- URL :
https://SRV-RDS.NOUVY.LAN/RDWeb/Feed/webfeed.aspx - Dernière mise à jour : récente
Si la connexion n'apparaît pas :
- Vérifier que
gpresult /r(sur le poste) liste bien la GPORDS - Souscription RemoteApp NOUVY - Vérifier que le compte utilisateur est membre du groupe AD autorisé sur la collection
- Tester l'URL
https://SRV-RDS.NOUVY.LAN/RDWeb/Feed/webfeed.aspxdans Edge en tant qu'utilisateur — un fichier XML doit être renvoyé
Bonus : pour pousser un fichier
.rdpbrut sur le bureau de l'utilisateur (sans passer par le feed), utiliser une GPO Préférences →Configuration utilisateur→Préférences→Paramètres Windows→Fichiers→ copier le.rdpexporté depuis Server Manager (cf. section 12) vers%USERPROFILE%\Desktop.
8. Accès via RD Web Access
Le portail RD Web Access est l'interface web HTTPS où les utilisateurs voient toutes les RemoteApp auxquelles ils ont droit. C'est le point d'entrée principal pour les utilisateurs.
URL d'accès
Par défaut, le portail est accessible à l'URL :
https://srv-rds.nouvy.lan/RDWeb
Note : l'URL
https://srv-rds.nouvy.lan/RDWebredirige automatiquement vershttps://srv-rds.nouvy.lan/RDWeb/Pages/fr-FR/login.aspx.
Premier accès — avertissement de certificat
Au premier accès, le navigateur affiche un avertissement de certificat car SRV-RDS a généré un certificat auto-signé lors du déploiement. Ce certificat n'est pas approuvé par les postes clients.
Solutions :
- Ignorer l'avertissement (acceptable en lab uniquement)
- Distribuer le certificat auto-signé via GPO dans le magasin "Autorités de certification racines de confiance" des postes clients
- Remplacer par un vrai certificat (recommandé en production — voir section sécurisation)
Générer un certificat auto-signé avec SAN avant le premier accès web
Pour éviter l'avertissement répété (et surtout pour qu'Edge/Chrome ne refusent pas la connexion à cause d'un SAN manquant), il est recommandé de générer un certificat auto-signé avec Subject Alternative Names couvrant à la fois le nom court et le FQDN du serveur RDS, puis de le lier à HTTPS dans IIS avant la première connexion.
1. Générer le certificat (PowerShell admin sur le serveur RDS)
New-SelfSignedCertificate `
-DnsName "SRV-RDS02", "SRV-RDS02.NOUVY.LAN" `
-CertStoreLocation "Cert:\LocalMachine\My" `
-FriendlyName "RDWeb-SRV-RDS02-SAN" `
-NotAfter (Get-Date).AddYears(2)
À retenir : note bien le Thumbprint affiché en sortie — il sera utile pour identifier le certificat dans la console IIS et lors du remplacement des certificats RDS dans la console de déploiement.
2. Lier le certificat au site IIS hébergeant RDWeb
- Ouvrir Gestionnaire des services Internet (IIS) →
inetmgr.exe - Dans l'arborescence : Sites → clic droit sur Default Web Site → Modifier les liaisons (Edit Bindings)
- Sélectionner la ligne https, port 443 → Modifier
- Dans le champ Certificat SSL, sélectionner
RDWeb-SRV-RDS02-SANdans la liste déroulante - OK → Fermer
3. Tester l'accès web
Ouvrir un navigateur et accéder à https://srv-rds02.nouvy.lan/RDWeb. L'avertissement initial peut subsister tant que le certificat n'est pas approuvé sur le poste client (point 2 ci-dessus), mais le SAN garantit que les navigateurs modernes acceptent l'alternative srv-rds02 ↔ srv-rds02.nouvy.lan sans erreur de "nom invalide".
Bonne pratique : ce certificat auto-signé reste réservé aux environnements internes / labs. En production, le remplacer par un certificat émis par l'AD CS interne (cf. section 11) ou par un certificat public (Let's Encrypt, DigiCert) pour les accès externes via RD Gateway.
Authentification et page d'accueil
- L'utilisateur saisit son login
nouvy\prenom.nomet son mot de passe - Une fois authentifié, la page Accès Web RemoteApp et Bureau à distance affiche les icônes des applications publiées auxquelles il a droit
- Un clic sur une icône télécharge un fichier
.rdpqui, à l'ouverture, lance la RemoteApp - Lors du premier lancement, le client RDP demande une nouvelle authentification → l'application s'ouvre dans une fenêtre native
Personnalisation du portail
Le portail RD Web Access est entièrement personnalisable (logo, couleurs, message d'accueil). Les fichiers se trouvent dans :
C:\Windows\Web\RDWeb\Pages\
Fichiers à modifier :
| Fichier | Rôle |
|---|---|
images\logo_02.png |
Logo affiché en haut à gauche |
Site.xsl |
Contenu HTML/XSLT global |
Default.aspx |
Page d'accueil |
fr-FR\RDWAStrings.xml |
Textes affichés en français |
Bonne pratique : sauvegarder les fichiers originaux avant toute modification, et documenter les changements car ils peuvent être écrasés par certaines mises à jour Windows.
9. Gestion des licences (RD Licensing)
Période de grâce
Au démarrage, RDS fournit une période de grâce de 120 jours pendant laquelle aucune licence n'est requise. Passé ce délai, les connexions sont refusées si aucun serveur de licences n'est configuré.
Vérifier le nombre de jours restants :
# Sur SRV-RDS
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TerminalServiceSetting WHERE (__CLASS !="") CALL GetGracePeriodDays
Types de CAL (Client Access License)
| Type | Caractéristique | Quand l'utiliser |
|---|---|---|
| Per User (par utilisateur) | Licence attachée à un compte AD, utilisable depuis n'importe quel poste | Utilisateurs nomades, télétravail |
| Per Device (par périphérique) | Licence attachée à un poste, utilisable par n'importe quel utilisateur | Postes partagés (atelier, kiosque, 3x8) |
Choix recommandé pour NOUVY.LAN : Per User dans la majorité des cas, car les utilisateurs peuvent se connecter depuis plusieurs postes (PC fixe, portable, télétravail, mobile).
Étape 1 — Installer le rôle RD Licensing
- Server Manager → Services Bureau à distance → vue d'ensemble du déploiement
- Cliquer sur l'icône RD Licensing (en grisé)
- Sélectionner SRV-RDS comme serveur de licences
- Confirmer → l'installation prend ~2 minutes (sans redémarrage)
Étape 2 — Activer le serveur de licences
- Outils → Terminal Services → Gestionnaire de licences des services Bureau à distance (
licmgr.exe) - Clic droit sur SRV-RDS → Activer le serveur
- Méthode de connexion :
- Connexion automatique (HTTPS vers Microsoft) — recommandé si SRV-RDS a accès à Internet
- Web Browser (si pas d'accès direct, copier-coller un code sur https://activate.microsoft.com)
- Téléphone (dernier recours)
- Renseigner le nom, société, pays
- Coordonnées de l'entreprise (optionnel)
- À la fin de l'activation, cocher "Démarrer l'Assistant Installation des licences"
Étape 3 — Installer les CAL achetées
- Programme de licences :
- Open License (entreprise)
- Select Plus / Open Value (entreprise)
- Enterprise Agreement (grands comptes)
- Détail (achat unitaire via revendeur Microsoft)
- Saisir le numéro d'autorisation et le numéro de licence fournis par Microsoft à l'achat
- Type de produit : Windows Server 2025 — Per User CAL (ou Per Device selon achat)
- Quantité : nombre de CAL achetées
- Confirmer → les CAL sont importées
Étape 4 — Configurer le déploiement RDS pour utiliser le serveur de licences
- Server Manager → Services Bureau à distance → Vue d'ensemble du déploiement
- Menu Tâches → Modifier les propriétés du déploiement
- Onglet Licences des services Bureau à distance
- Sélectionner Par utilisateur (ou Par périphérique selon CAL achetées)
- Spécifier le serveur de licences : SRV-RDS.nouvy.lan
- Cliquer Ajouter → Appliquer
Étape 5 — Vérifier l'attribution des CAL
Après quelques connexions utilisateurs, ouvrir le Gestionnaire de licences RDS → onglet Rapports → Créer un rapport pour visualiser :
- Nombre de CAL Per User attribuées
- Liste des utilisateurs ayant consommé une CAL
- CAL disponibles vs utilisées
# Lister les CAL Per User attribuées
Get-WmiObject -Namespace "Root\CIMV2" -Class "Win32_TSLicenseKeyPack"
Important : un utilisateur Per User consomme une CAL pour 60 jours après sa première connexion. Si l'utilisateur ne se connecte plus, la CAL est libérée automatiquement à l'expiration.
10. RD Gateway — accès externe sécurisé
Pourquoi installer RD Gateway ?
Sans RD Gateway, accéder aux RemoteApp depuis l'extérieur nécessiterait :
- d'ouvrir le port RDP 3389 sur Internet (très risqué — attaques par force brute, ransomwares)
- ou d'utiliser un VPN (complexe à déployer côté client)
RD Gateway offre une troisième voie : l'utilisateur se connecte en HTTPS (port 443) à la passerelle, qui relaie ensuite les paquets RDP en interne. Avantages :
- Un seul port à exposer (443 — déjà ouvert pour la plupart des sites)
- Encapsulation TLS (chiffrement de bout en bout)
- Authentification AD requise avant tout transit RDP
- Politiques d'accès granulaires (CAP/RAP) — qui peut se connecter, à quoi
Étape 1 — Installer le rôle RD Gateway
- Server Manager → Services Bureau à distance → vue d'ensemble du déploiement
- Cliquer sur l'icône RD Gateway (en grisé)
- Sélectionner SRV-RDS (ou un serveur dédié — recommandé en DMZ pour la production)
- Nom du certificat SSL :
rds.nouvy.fr(nom DNS public) - Confirmer → installation et redémarrage automatique
Production : RD Gateway devrait idéalement être placé en DMZ, séparé de SRV-RDS qui reste sur le LAN. Pour le lab NOUVY.LAN, on accepte la cohabitation sur SRV-RDS.
Étape 2 — Configurer les CAP et RAP
Deux types de stratégies contrôlent qui peut se connecter et à quoi.
CAP — Connection Authorization Policy
Définit quels utilisateurs/groupes peuvent se connecter via la passerelle, et avec quelles méthodes (mot de passe, carte à puce).
- Outils → Terminal Services → Gestionnaire RD Gateway (
tsgateway.msc) - SRV-RDS → Stratégies → Stratégies d'autorisation des connexions → clic droit → Nouvelle stratégie
- Nom :
CAP-NOUVY-Users - Méthodes d'authentification : mot de passe (et/ou carte à puce)
- Membres :
NOUVY\GRP_RDS_Users - Délai d'inactivité : 60 minutes (déconnexion auto)
- Activation/désactivation des fonctionnalités client (redirection imprimantes, presse-papiers...)
RAP — Resource Authorization Policy
Définit à quelles ressources (serveurs RDSH) chaque utilisateur peut se connecter.
- Même console → Stratégies → Stratégies d'autorisation des ressources → clic droit → Nouvelle stratégie
- Nom :
RAP-NOUVY-Apps - Membres :
NOUVY\GRP_RDS_Users - Ressources : sélectionner le groupe
RDS Connection Brokers Servers(autorise l'accès à tous les RDSH du déploiement) - Ports autorisés : 3389 (RDP)
Étape 3 — Configurer l'accès externe DNS et pare-feu
| Élément | Configuration |
|---|---|
| Enregistrement DNS public | rds.nouvy.fr → IP publique du firewall |
| NAT/redirection sur le firewall | Port 443 entrant → 192.168.1.30:443 (SRV-RDS) |
| Certificat SSL public | Certificat valide pour rds.nouvy.fr (Let's Encrypt, ou certificat commercial) |
Étape 4 — Tester l'accès externe
Depuis un poste hors du réseau (4G mobile, télétravail) :
- Ouvrir un navigateur →
https://rds.nouvy.fr/RDWeb - S'authentifier
- Cliquer sur une RemoteApp
- Le fichier
.rdptéléchargé contient automatiquement les paramètres pour passer par RD Gateway
Vérifier dans le .rdp la présence des lignes :
gatewayhostname:s:rds.nouvy.fr
gatewayusagemethod:i:1
gatewaycredentialssource:i:0
gatewayprofileusagemethod:i:1
11. Sécurisation du déploiement RDS
Remplacer les certificats auto-signés
Quatre certificats sont utilisés par RDS (visibles dans Vue d'ensemble du déploiement → Tâches → Modifier les propriétés du déploiement → onglet Certificats) :
| Service | Rôle du certificat | Nom recommandé |
|---|---|---|
| RD Connection Broker — Activation unique | Signe les fichiers .rdp | srv-rds.nouvy.lan |
| RD Connection Broker — Publication | Identifie le broker dans les communications | srv-rds.nouvy.lan |
| RD Web Access | HTTPS du portail web | rds.nouvy.fr (externe) ou srv-rds.nouvy.lan (interne) |
| RD Gateway | TLS de la passerelle | rds.nouvy.fr |
Génération d'un certificat depuis l'AD CS interne (lab)
Si un rôle Active Directory Certificate Services est en place :
- Sur SRV-NOUVY (CA), créer un modèle de certificat Web Server dupliqué
- Émettre un certificat avec :
- Subject :
CN=srv-rds.nouvy.lan - SAN (Subject Alternative Name) :
DNS=srv-rds.nouvy.lan,DNS=rds.nouvy.fr
- Subject :
- Exporter le certificat avec sa clé privée au format
.pfx - Importer dans la console RDS → ajouter un mot de passe pour l'import
Certificat public (production)
Pour rds.nouvy.fr exposé sur Internet : utiliser Let's Encrypt (via win-acme par exemple) ou un certificat commercial DigiCert/Sectigo.
Authentification au niveau réseau (NLA)
NLA force l'authentification avant l'ouverture de la session graphique, ce qui empêche les attaques sur l'écran de connexion RDP.
# Vérifier que NLA est actif sur SRV-RDS
(Get-WmiObject -Class "Win32_TSGeneralSetting" -Namespace "root\cimv2\terminalservices" -Filter "TerminalName='RDP-Tcp'").UserAuthenticationRequired
# Doit retourner 1
NLA est activé par défaut depuis Windows Server 2012. Ne jamais le désactiver en production.
Restrictions par GPO
Plusieurs paramètres GPO durcissent RDS. Les retrouver dans :
Configuration ordinateur → Stratégies → Modèles d'administration → Composants Windows → Services Bureau à distance → Hôte de session Bureau à distance
| GPO recommandée | Valeur |
|---|---|
| Limiter le nombre de connexions | 50 (selon dimensionnement) |
| Définir un délai d'expiration pour les sessions actives | 8 heures |
| Définir un délai d'expiration pour les sessions inactives | 30 minutes |
| Demander une authentification au niveau réseau pour les connexions distantes | Activé |
| Exiger l'utilisation d'une couche de sécurité spécifique | TLS 1.2 |
| Définir le niveau de chiffrement | Élevé |
| Redirection des lecteurs côté client | Désactivée (évite l'exfiltration de données) |
| Redirection du presse-papiers | À évaluer selon besoin |
Pare-feu Windows
Les règles suivantes doivent être ouvertes sur SRV-RDS :
| Service | Protocole/Port | Source |
|---|---|---|
| RDP | TCP 3389 | LAN |
| RD Web Access | TCP 443 | LAN + Internet (via NAT) |
| RD Gateway | TCP 443 | Internet (via NAT) |
| RD Licensing | TCP 135, 49152-65535 (RPC dynamique) | LAN |
| WMI / management | TCP 135 + RPC | Admins |
# Vérifier les règles RDP
Get-NetFirewallRule -DisplayGroup "Bureau à distance" | Format-Table DisplayName, Enabled, Direction, Action
Auditer les connexions
Les événements RDS sont enregistrés dans plusieurs journaux d'observateur d'événements :
| Journal | Contenu |
|---|---|
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational |
Ouverture/fermeture de session locale RDS (ID 21, 22, 23, 24, 25) |
Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational |
Tentatives de connexion (ID 1149) |
Microsoft-Windows-TerminalServices-Gateway/Operational |
Connexions RD Gateway (ID 200, 205, 304) |
Sécurité |
Échecs/réussites de connexion AD (ID 4624, 4625) |
# Lister les connexions RDS récentes
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" -MaxEvents 20 |
Where-Object { $_.Id -in 21,22,23,24,25 } |
Select-Object TimeCreated, Id, Message
12. Tests et dépannage
Test côté client
Test 1 — Connexion via RD Web Access
- Ouvrir un navigateur sur un poste client →
https://srv-rds.nouvy.lan/RDWeb - S'authentifier avec un compte de
GRP_RDS_Users - La page doit afficher les RemoteApp publiées
- Cliquer sur une RemoteApp → un fichier
.rdpest téléchargé - Ouvrir le fichier → l'application s'ouvre dans une fenêtre native sur le poste
Test 2 — Lancement direct via fichier .rdp
Créer un raccourci .rdp à distribuer aux utilisateurs (sans passer par le portail web) :
- Sur SRV-RDS, naviguer dans Server Manager → Collections → RemoteApp publiées
- Sélectionner une application → Tâches → Exporter les paramètres RemoteApp
- Choisir l'emplacement → un fichier
.rdpest généré - Distribuer ce fichier aux utilisateurs (via GPO Drive Mapping, par exemple)
Test 3 — Microsoft Remote Desktop (Mac, iOS, Android)
L'application gratuite Microsoft Remote Desktop permet d'utiliser les RemoteApp depuis :
- macOS (App Store)
- iPhone/iPad (App Store)
- Android (Play Store)
Configuration :
- Ajouter une Workspace → URL :
https://srv-rds.nouvy.lan/RDWeb/feed/webfeed.aspx - S'authentifier
- Toutes les RemoteApp publiées apparaissent dans l'app
Commandes utiles de diagnostic
# Lister les utilisateurs connectés à SRV-RDS
qwinsta /server:srv-rds
# Forcer la déconnexion d'une session bloquée (ID de session obtenu via qwinsta)
logoff 3 /server:srv-rds
# Lister les RemoteApp publiées
Get-RDRemoteApp -CollectionName "Collection-Apps-NOUVY"
# Vérifier les rôles RDS installés
Get-WindowsFeature *RDS* | Where-Object { $_.InstallState -eq "Installed" }
# Vérifier l'état du serveur de licences
$LSObject = Get-WmiObject -Class "Win32_TSLicenseServer" -Namespace "Root\CIMV2" -ComputerName SRV-RDS
$LSObject.GetActivationStatus().ActivationStatus
# 0 = Activated, 1 = Not Activated
Problèmes courants
| Symptôme | Cause probable | Résolution |
|---|---|---|
| "Le serveur n'est pas disponible. Vérifiez le nom..." | DNS ne résout pas SRV-RDS | Vérifier l'enregistrement DNS et le ping |
| "Aucune licence Bureau à distance disponible" | Période de grâce expirée, pas de CAL | Installer/activer le serveur de licences, importer des CAL |
| "Vous n'avez pas l'autorisation de vous connecter..." | Utilisateur pas membre de GRP_RDS_Users ou de Utilisateurs du Bureau à distance |
Ajouter dans le bon groupe |
| Avertissement de certificat | Certificat auto-signé non approuvé | Déployer le certificat racine via GPO ou utiliser un vrai certificat |
| L'application ne se lance pas, message "Cette application est associée à plusieurs comptes" | Application installée hors mode RDS | Réinstaller via Change user /install |
| Profil utilisateur lent ou corrompu | Profil itinérant mal configuré | Activer les UPD à la place |
| Connexion possible mais bureau noir | GPU/Direct3D incompatible | Désactiver l'accélération matérielle dans la collection |
13. Bonnes pratiques
Dimensionnement
| Profil utilisateur | RAM par utilisateur | CPU par utilisateur |
|---|---|---|
| Léger (Office, navigateur, mail) | 1 à 2 Go | 0,25 à 0,5 vCPU |
| Standard (Office + logiciel métier) | 2 à 4 Go | 0,5 à 1 vCPU |
| Lourd (CAO, dev, multimédia) | 4 à 8 Go+ | 1 à 2 vCPU |
Règle de base : pour 50 utilisateurs standard simultanés, prévoir un serveur RDSH avec ~16 cœurs et 128 Go de RAM. Au-delà, ajouter d'autres RDSH dans la collection (équilibrage de charge automatique via le Connection Broker).
Haute disponibilité
Pour un environnement de production :
- 2 RDSH minimum dans la collection (équilibrage de charge)
- 2 Connection Brokers en mode haute disponibilité (avec base SQL externe)
- 2 RD Web Access derrière un load balancer
- 2 RD Gateway en cluster (NLB ou load balancer)
- 2 serveurs de licences RDS
Sauvegardes
Éléments à sauvegarder régulièrement :
| Élément | Méthode |
|---|---|
| Définition des collections et RemoteApp | Export PowerShell Export-RDDeployment |
| Disques de profil utilisateur (UPD) | Sauvegarde du partage \\srv-nouvy\UPD-NOUVY$ |
| Base de données du Connection Broker (si HA) | Sauvegarde SQL Server |
| Configuration RD Gateway (CAP/RAP) | Export depuis la console |
| Certificats SSL | Export .pfx avec clé privée + mot de passe |
| Serveur de licences (RD Licensing) | Sauvegarde de la base + clés CAL |
Maintenance
- Drain Mode avant maintenance d'un RDSH : empêche les nouvelles connexions, laisse les sessions existantes se terminer
# Mode drain (refuse les nouvelles connexions) Change logon /drain # Réactiver les connexions Change logon /enable # Vérifier l'état Change logon /query - Patcher en dehors des heures ouvrées ou utiliser le mode drain en début de soirée
- Surveiller les logs RDS quotidiennement (au moins via une supervision Zabbix/PRTG/Nagios)
- Auditer les CAL trimestriellement pour ajuster les achats
Documentation à tenir à jour
- Schéma d'architecture RDS (rôles, serveurs, certificats)
- Liste des RemoteApp publiées + responsable métier
- Liste des collections + groupes AD associés
- Procédure de récupération d'urgence (DRP)
- Inventaire des CAL achetées et utilisées
