← Tous les articles

Procédure rds

Installation et configuration des Services Bureau à distance (RDS)

Mise en place complète d'un serveur RDS sous Windows Server 2022 : passerelle, gestionnaire de licences, collection RemoteApp, packaging MSIX et signature d'un certificat auto-signé pour publier des applications.

Ce TP a été réalisé dans le cadre de la formation YNOV. L'objectif : déployer un serveur RDS qui publie des applications RemoteApp à des utilisateurs de l'Active Directory, en passant par une passerelle sécurisée par certificat. On termine par le packaging d'une application via MSIX et sa signature avant publication.

1. Prérequis

Machine 1 — Serveur

  • OS : Windows Server 2022
  • RAM : 4 Go
  • Stockage : 40 Go
  • IP statique : 192.168.10.10

Machine 2 — Client

  • OS : Windows 11
  • RAM : 6 Go
  • Stockage : 80 Go
  • IP statique : 192.168.10.50

2. Installation des services Bureau à distance

Créer une machine Windows Server, l'ajouter au domaine avec un nom spécifique — pour ma part SRV-APP.

Création de la VM SRV-APP

Une fois connecté avec un compte d'administration, ouvrir le Gestionnaire de serveur. Cliquer sur Gérer puis Ajouter des rôles et fonctionnalités.

Gestionnaire de serveur

Sélectionner Installation basée sur un rôle ou une fonctionnalité.

Sélection du type d'installation

Cocher Services Bureau à distance.

Sélection du rôle RDS

Dans les fonctionnalités, cocher Assistance à distance.

Assistance à distance

Dans les services de rôles, cocher tous les services sauf « Hôte de virtualisation des services Bureau à distance ».

Services de rôles

Confirmer et attendre la fin de l'installation. Une fois le serveur redémarré, les services sont accessibles via le Gestionnaire de serveur.

Installation terminée

Pour utiliser ce service, ajouter un dernier rôle. Relancer Ajouter des rôles ou des fonctionnalités et sélectionner cette fois Installation des services Bureau à distance.

Installation services Bureau à distance

Sélectionner Démarrage rapide car tous les services seront sur le même serveur.

Démarrage rapide

Sélectionner Déploiement basé sur une session — la connexion RDS se fera via les utilisateurs de l'AD.

Déploiement basé sur une session

Sélectionner le serveur puis cliquer sur Déployer.

Sélection du serveur

Une fois déployé, on retrouve les outils des Services Bureau à distance dans le Gestionnaire de serveur.

Vue d'ensemble RDS

Vérifier dans les propriétés système que Assistance à distance et Bureau à distance sont autorisés.

Propriétés système

3. Configuration de la passerelle des services RDS

L'objectif : forcer les machines clientes à passer par notre serveur. Sur la vue d'ensemble, cliquer sur Passerelle des services.

Passerelle des services

Sélectionner le serveur puis, pour le nom du certificat, entrer nom_machine + nom_de_domaine.

Configuration certificat

Confirmer puis attendre la fin du téléchargement.

Téléchargement en cours

Avant de fermer, cliquer sur Configurer le certificat.

Configurer le certificat

Cliquer sur Créer un certificat…, donner le même nom que le certificat SSL, le stocker et cocher la case en dessous.

Création du certificat

Cliquer sur Appliquer. Répéter l'opération sur les 3 autres services en sélectionnant Sélectionner un certificat existant… et en prenant le certificat qui vient d'être créé + son mot de passe (un par un). Le résultat final :

Certificats appliqués

Cliquer sur OK. La passerelle est configurée. Aller dans TâchesModifier les propriétés de déploiement :

Propriétés de déploiement

Dans Passerelle des serveurs, le serveur doit bien être renseigné. Si la méthode d'ouverture de session ne correspond pas à celle ci-dessous, la modifier.

Méthode d'ouverture de session

4. Configurer le gestionnaire de licences

Toujours dans la vue d'ensemble, cliquer sur Gestionnaire de licences. Sélectionner le serveur, confirmer, attendre la fin du téléchargement.

Gestionnaire de licences

Cliquer sur Vérifier les propriétés du Gestionnaire de licences des services Bureau à distance pour le déploiement. Comme la connexion se fera via les utilisateurs AD, sélectionner Par utilisateur puis Appliquer et OK.

Configuration par utilisateur

Le gestionnaire de licences est maintenant configuré.

Gestionnaire configuré

5. Configurer la collection RemoteApp

Dans l'onglet Collections, supprimer celle qui est créée par défaut pour en créer une à nous. Aller dans TâchesCréer une collection de sessions.

Suppression collection par défaut
Créer une collection

La nommer comme on le souhaite.

Nommage de la collection

Sélectionner le serveur puis, dans Groupes utilisateurs, choisir les groupes autorisés à lancer les applications via l'interface web. Pour ma part, j'ai mis tous les utilisateurs du domaine — c'est restrictible si besoin.

Groupes utilisateurs

Décocher Activer les disques de profil utilisateur.

Disques de profil

Confirmer, attendre, fermer.

Installation collection

On va maintenant sélectionner les applications à publier en RemoteApp. Dans Collections, sélectionner celle qu'on vient de créer puis Publier des programmes RemoteApp.

Publier RemoteApp

6. Création du fichier MSIX

On va packager 7-Zip en MSIX. Le procédé se répète pour chaque application supplémentaire.

Sur la machine cliente, aller sur le Microsoft Store et installer MSIX Packaging Tool.

MSIX Packaging Tool dans le Store

Sélectionner Package d'installation.

Package d'installation

Sélectionner Créer un package sur cet ordinateur.

Créer un package local

Récupérer le .exe de 7-Zip depuis un navigateur et l'indiquer à l'utilitaire.

Sélection de l'exécutable

Renseigner les informations obligatoires du formulaire.

Formulaire d'informations

Faire Suivant jusqu'à cette page puis Créer.

Création du fichier MSIX

Le fichier .msix est créé. Le déplacer ensuite vers le serveur RDS.

Fichier MSIX créé

7. Signature du fichier MSIX (auto-signé)

Pour utiliser le logiciel sur le serveur RDS, créer un certificat auto-signé. Les commandes PowerShell suivantes sont à adapter selon l'application packagée.

Créer le certificat auto-signé :

PowerShell (Admin) PS
$cert = New-SelfSignedCertificate -Type CodeSigningCert -Subject "CN=7zip" -CertStoreLocation Cert:\LocalMachine\My

Exporter la clé publique dans un .cer pour pouvoir l'installer sur d'autres machines :

PowerShell (Admin) PS
Export-Certificate -Cert $cert -FilePath C:\Packages\7zip.cer

Convertir le mot de passe en SecureString puis exporter le certificat avec sa clé privée dans un .pfx protégé par mot de passe :

PowerShell (Admin) PS
$pwd = ConvertTo-SecureString -String "1234" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:\Packages\7zip.pfx -Password $pwd

Signer le package MSIX avec le .pfx pour qu'il soit reconnu comme application fiable :

PowerShell (Admin) PS
signtool sign /fd SHA256 /f C:\Packages\7zip.pfx /p 1234 "C:\Packages\7zip.msix"

Installer le package pour tous les utilisateurs du système :

PowerShell (Admin) PS
Add-AppxProvisionedPackage -Online -PackagePath C:\Packages\7zip.msix -SkipLicense

Publier 7-Zip en application RemoteApp sur le serveur RDS :

PowerShell (Admin) PS
New-RDRemoteApp -CollectionName "RemoteApp" -Alias "7zip" -DisplayName "7-Zip" -FilePath "C:\Windows\System32\cmd.exe" -CommandLineSetting Require -RequiredCommandLine '/c start "" shell:AppsFolder\7zip_kc7rvhsejyqfe!App'

Redémarrer le serveur. Dans l'interface RDS, onglet CollectionsRemoteApp, l'application doit apparaître.

Application publiée

Répéter les étapes 6 et 7 pour chaque application supplémentaire à publier.

8. Connexion aux programmes RemoteApp

Le serveur est opérationnel. Sur la machine cliente, dans un navigateur :

Navigateur URL
https://nom_du_serveur.nom_du_domaine/rdweb

Renseigner les identifiants de l'utilisateur puis cliquer sur S'inscrire.

Page de connexion RDWeb

Les applications de la collection apparaissent. En sélectionner une et, dans Téléchargements, ouvrir le fichier .rdp.

Applications disponibles

Cliquer sur Connexion, renseigner les identifiants en précisant le nom de domaine. L'application est lancée à distance — les ressources sont sur le serveur RDS, la machine cliente ne consomme presque rien.

Connexion RemoteApp active
Application en cours d'utilisation

9. Annexes

Architecture simplifiée

Architecture RDS simplifiée

Bonus — Publication d'une troisième application

Après avoir répété les parties 6 et 7, la nouvelle application apparaît dans CollectionsRemoteApp.

Troisième application publiée

Elle est aussi visible côté client sur l'interface web.

Interface web client
Application sur client

Désinstallation d'un package MSIX

Pour désinstaller une application (exemple avec 7-Zip) — désinstaller pour tous les utilisateurs :

PowerShell (Admin) PS
Get-AppxPackage -AllUsers 7zip | Remove-AppxPackage -AllUsers

Supprimer le provisionnement (important en environnement serveur) :

PowerShell (Admin) PS
Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like "7zip"} | Remove-AppxProvisionedPackage -Online

Le serveur RDS est en place, les utilisateurs de l'AD peuvent lancer leurs applications depuis n'importe quel poste via l'interface RDWeb. Côté infra : c'est plus léger que de déployer chaque appli sur chaque poste, et la gestion des licences se centralise.