Dans mes précédents articles, je vous ai détaillé comment mettre en place les différents rôles nécessaires au déploiement d’une infrastructure Remote Desktop (RDS) basée sur Windows Server 2012 R2. Si ce n’est pas déjà fait, je vous invite donc à consulter mes précédents articles :
- Installation de Remote Desktop Services (RDS) sur Windows Server 2012 R2 et publication d’une RemoteApp
- Installation de Remote Desktop Gateway sur Windows Server 2012 R2
- Activer vos licences CAL RDS sur Windows Server 2012 R2
Aujourd’hui, je vous propose de revenir sur un cas particulier auquel j’ai dû faire face à savoir le changement du port qui est généralement utilisé par la Remote Desktop Gateway.
Par défaut, lorsque vous configurez la RD Gateway elle fonctionnera sur le port 443 / https avec bien entendu un certificat SSL. Ce port peut-être facilement modifié dans la console RD Gateway Manager au niveau de l’onglet Transports Settings puis HTTPs port.
Dans le cas présent, j’ai choisi d’utiliser le port 10040. Cela signifie que lorsque vous vous connectez à une machine en Remote Desktop vous devrez renseigner ce port au niveau de la gateway en spécifiant manuellement le :10040 à la fin du hostname de votre RD Gateway.
En réalisant, cette modification vous pourrez donc accéder à vos machines depuis votre RD Gateway (sous réserve d’une éventuelle configuration supplémentaire en termes de NAT sur votre appliance réseau – cela dépend de votre configuration ; personnellement j’utilise un Sophos).
En revanche, le point qui va nous intéressé maintenant c’est comment changer ce port d’accès pour que le serveur RD Web Access utilise ce port spécifique et non pas le port 443 pour se connecter à la Gateway. En effet, si vous tentez d’ouvrir une application publiée depuis votre RD Web Access vous verrez que l’accès à la ressource ne peut pas se faire puisque le fichier RDP qui est alors téléchargé contient le paramètre gatewayhostname:s:fqdn-gateway mais en l’absence d’une précision au niveau de port, c’est le 443 par défaut qui sera utilisé. Cela ne correspond donc pas à notre 10040 et la session ne pourra donc pas aboutir.
Vous pouvez faire le test, modifiez le fichier RDP en ajoutant gatewayhostname:s:fqdn-gateway:10040, sans oublier de supprimer la ligne signature et vous verrez que votre session va bien s’ouvrir (en effet, la signature atteste que le fichier n’a pas été modifié après coup donc si vous le modifiez sans supprimer la signature, vous aurez un message d’erreur). Désormais avec la précision du port, cela fonctionne ! Il nous reste donc plus qu’à faire en sorte que chaque fichier RDP généré comporte cette mention supplémentaire du port 10040 !
Comme pour le Delivery Controller qui génère les fichiers ICA sur une plateforme Citrix, c’est le Connection Broker qui génère pour nous ces fichiers RDP. Par défaut, la plupart des paramètres que vous retrouvez dans ce fichier RDP peuvent être retrouvés dans la clé de registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\
Terminal Server\CentralPublishedResources\ PublishedFarms\<RD_Collection>\DeploymentSettings
Vous pourriez donc directement modifier la clé de registre et ajouter le :10040 à la fin… mais au cours des tests dès que j’ai pu effectuer je me suis aperçu que lorsque j’effectuais une nouvelle (dé)publication d’une RemoteApp la référence au port spécifique était systématiquement écrasée et donc la référence à mon port spécifique perdue ! 🙁
J’ai donc trouvé sur l’article suivant une CmdLet PowerShell qui permet de réaliser la modification de manière définitive :
Set-RDSessionCollectionConfiguration –CollectionName « Your Collection » `
-CustomRdpProperty « gatewayhostname:s:<GATEWAY.FQDN>:<Port, e.g. 9999> » `
-ConnectionBroker <Your Connection Broker>
Vous devez exécuter cette commande dans une invite de commandes PowerShell (ouverte avec les privilèges Administrateur) et tous les serveurs Session Host doivent être disponibles car le Broker va tenter les contacter pour procéder à ce changement de configuration.
Le changement a été effectué. Je crois avoir redémarré le Broker mais j’ignore si cela était nécessaire.
Re-connectez-vous à votre portail RD Web Access et tentez maintenant d’accéder à une nouvelle application. Lors du téléchargement du fichier RDP, ouvrez le avec NotePad++, vous devriez voir que la modification est désormais bien présente ! 🙂
Et bien sûr, cliquez sur votre fichier RDP pour vérifier que l’application se charge bien ! 🙂