Installation RemoteApp Windows Server 2019

Le RemoteApp permet l’utilisation de programmes, préexistants ou personnels, via les services Bureau à distance, sans générer tout un environnement de travail.

Nous allons donc voir comment procéder à une installation de RemoteApp sur Windows Server 2019.

Pré-requis

Nous allons devoir installer les services Bureau à distance pour utiliser le RemoteApp, pour cela il faut obligatoirement que notre serveur soit dans un domaine.

Si c’est déjà le cas, passez directement à l’étape « Installation services Bureau à distance ».

Sinon rendez-vous sur le lien suivant :
https://sqx-bki.fr/installation-roles-ad-ds-sur-windows-server-2019/

Installation services Bureau à Distance

Pour commencer, allez dans votre « Gestionnaire de serveur » et choisissez « Ajouter des rôles et fonctionnalités » à partir de « Gérer ».

Installation RemoteApp Windows Server 2019

Et choisissez « Installation des services Bureau à distance ».

Dans notre cas, nous souhaitons tout installer sur un même serveur, alors nous choisissons « Démarrage rapide ».

Installation RemoteApp Windows Server 2019

Puis, « Déploiement de bureaux basés sur une session ».

Installation RemoteApp Windows Server 2019

Enfin, on sélectionne notre serveur.

Installation RemoteApp Windows Server 2019

Pour terminer, on validera la configuration en cliquant sur « Déployer ».
Le déploiement doit afficher que tout est réussi.

Installation RemoteApp Windows Server 2019

Configuration des services Bureau à Distance

Maintenant que les services sont installés, il faut les configurer.
Pour cela, toujours dans le gestionnaire de serveur, allez dans la partie « Services Bureau à distance ».

Installation RemoteApp Windows Server 2019

Serveur de Collection

Ensuite, allez dans « Collections », puis en haut à droite « Tâches » et « Créer une collection de sessions ».

Donnez un nom à votre collection, ici « CollectionTest », puis choisissez votre serveur hôte. Si jamais il n’apparaît pas, vérifier qu’aucune autre collection n’est présente, dans ce cas, supprimez-la.

Sélectionnez les groupes d’utilisateurs autorisés à se connecter à la collection.
Vous pouvez également désactiver en fonction de vos besoins les disques de profil.

Finalement, validez votre configuration en cliquant sur « Créer ».

Votre collection est à présent bien installée.

Serveur de licence

Il faudra également configurer un serveur de licence, ici ce sera la même machine.

Choisissez donc dans la vue d’ensemble « Gestionnaire de licence ».

Indiquez le serveur qui sera gestionnaire des licences.

Validez votre choix via « Ajouter », et vérifiez que tout est installé.

Le serveur de licence est correctement configuré.

Configuration RemoteApp

Désormais tous vos services sont installés et configurés.
Il ne nous reste plus qu’à publier nos programmes RemoteApp.

Pour cela, toujours dans le « Gestionnaire de serveur », dans la partie « Services Bureau à distance », il faut aller dans notre nouvelle collection « CollectionTest ».

Et dans la partie « Programmes RemoteApp », cliquer sur « Tâches », puis « Publier des programmes RemoteApp ».

À partir d’ici vous pouvez soit choisir un programme parmi la liste pré-faite, ou via l’onglet « Ajouter… » n’importe quel logiciel installé sur votre serveur.

Notre exemple se fera sur l’invite de commande de Windows, pas présent dans la liste mais présent de base sur le serveur, le fonctionnement est le même pour n’importe quel logiciel vous appartenant.

On sélectionne donc notre « cmd.exe » dans le chemin « C:\Windows\System32\ ».

Pour terminer, cliquer sur « Suivant » et « Publier ».
Il doit vous indiquer que votre programme est bien publié.

Accès aux RemoteApp

Désormais vos programmes sont bien publiés et vous pouvez y accéder via le catalogue web.

Pour y accéder, entrez l’adresse suivante dans un navigateur :

https://IPdeVotreServeur/RDWeb

Vous devrez alors accéder à une interface comme dans l’image suivante, indiquez vos identifiants du domaine.

Vous arriverez alors dans le catalogue ou sont publiés vos différentes applications RemoteApp.

Une fenêtre RDP s’ouvre, vous pouvez choisir de l’enregistrer pour pouvoir la réutiliser directement sans passer à chaque fois par le catalogue du serveur.

Indiquez alors à nouveau vos identifiants de domaine.

Installation RemoteApp Windows Server 2019

Votre application s’ouvre alors !
Un simple affichage du nom de la machine nous montre que l’on se trouve bien sur notre serveur.

Installation RemoteApp Windows Server 2019

Dans notre barre des tâches on peut également constater que le logiciel est accolé du logo RDP nous montrant que c’est bien une connexion distante.

Votre installation de RemoteApp sur Windows Server 2019 est à présent fonctionnelle.

Modification du nom du serveur de collection

Comme vous l’avez peut-être constaté, la connexion à l’application se fait via le nom complet du serveur de collection et non son adresse IP.

Il est possible de modifier cela via un script Powershell proposé par Microsoft, voici un lien de téléchargement.

https://gallery.technet.microsoft.com/Change-published-FQDN-for-2a029b80

Exécutez-le via l’invite de commande Powershell, puis renseignez le nouveau nom que vous souhaitez. Dans notre exemple on choisit de le renommer 1.2.3.4.
Vous pouvez même le renommer avec un port, par exemple 1.2.3.4:6666.

Installation RemoteApp Windows Server 2019

Ainsi la page de connexion au catalogue reste la même, mais pas la seconde connexion RDP au programme en lui même.
Cela peut ainsi vous permettre d’effectuer des connexions en dehors de votre domaine et de faire des redirections pour vos connexions externes.

Exemple

Mon IP publique est 1.2.3.4.
Pour accéder au catalogue, il suffit de rediriger le port 443 de mon serveur « TEST2019.SQXBKI.LAN » avec le chemin « /RDWeb » sur n’importe quel port, par exemple 6666.
Ainsi je peux accéder de l’extérieur à mon catalogue à l’adresse :
https://1.2.3.4:6666/RDweb

Le problème est qu’il tentera de lancer le programme RemoteApp avec l’adresse suivante « TEST2019.SQXBKI.LAN », adresse que vous ne pourrez alors pas résoudre.

Ainsi en renommant mon serveur, via le script Powershell, « TEST2019.SQXBKI.LAN » par « 1.2.3.4:7777 » il me restera alors simplement à rediriger le port 7777 de mon serveur vers le port RDP soit 3389.

De ce fait, en lançant l’application il tentera de se connecter à :
1.2.3.4:7777
Qui sera alors redirigé vers le serveur RDP et lancera mon application.

6 réponses sur “Installation RemoteApp Windows Server 2019”

  1. Salut,

    Merci beaucoup pour cette intro a RemoteDesktop/RemoteApp !
    Pourrais-tu traiter dans un article de la publication/configuration d’un RemoteDesktop complet ? Je pense que le sujet est intéressant !

    1. Bonjour Bastien, merci de ton retour c’est vraiment sympa ! Oui effectivement le sujet est intéressant mais j’ai déjà pas mal d’articles en attente (retard) 😉 Je mets ça dans la boîte à idée !

  2. Bonjour, excellent tous ca, je viens de faire mon premier test.
    Par contre j’ai le problème de résolution de nom quand je veux lancer la remoteapp… Et le petit script n’existe plus sur ton lien…
    Ou alors il y a une autre technique ?

    1. Bonjour,

      Effectivement je vois que le script n’existe plus sur le site de Microsoft…

      Je l’ai retrouvé sur un autre site, pas de possibilité de le tester de mon côté mais le voici :

      [CmdletBinding()]
      Param(
      [Parameter(Mandatory=$True,HelpMessage= »Specifies the FQDN that clients will use when connecting to the deployment. »,Position=1)]
      [string]$ClientAccessName,
      [Parameter(Mandatory=$False,HelpMessage= »Specifies the RD Connection Broker server for the deployment. »,Position=2)]
      [string]$ConnectionBroker= »localhost »
      )

      $Host.UI.RawUI.BackgroundColor = « Black »; Clear-Host

      $CurrentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
      If (($CurrentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)) -eq $false)
      {
      $ArgumentList = « -noprofile -noexit -file ` »{0}` » -ClientAccessName $ClientAccessName -ConnectionBroker $ConnectionBroker »
      Start-Process powershell.exe -Verb RunAs -ArgumentList ($ArgumentList -f ($MyInvocation.MyCommand.Definition))
      Exit
      }

      Function Get-RDMSDeployStringProperty ([string]$PropertyName, [string]$BrokerName)
      {
      $ret = iwmi -Class « Win32_RDMSDeploymentSettings » -Namespace « root\CIMV2\rdms » -Name « GetStringProperty » `
      -ArgumentList @($PropertyName) -ComputerName $BrokerName `
      -Authentication PacketPrivacy -ErrorAction Stop
      Return $ret.Value
      }

      Try
      {
      If ((Get-RDMSDeployStringProperty « DatabaseConnectionString » $ConnectionBroker) -eq $null) {$BrokerInHAMode = $False} Else {$BrokerInHAMode = $True}
      }
      Catch [System.Management.ManagementException]
      {
      If ($Error[0].Exception.ErrorCode -eq « InvalidNamespace »)
      {
      If ($ConnectionBroker -eq « localhost »)
      {
      Write-Host « `n Set-RDPublishedName Failed.`n`n The local machine does not appear to be a Connection Broker. Please specify the`n FQDN of the RD Connection Broker using the -ConnectionBroker parameter.`n » -ForegroundColor Red
      }
      Else
      {
      Write-Host « `n Set-RDPublishedName Failed.`n`n $ConnectionBroker does not appear to be a Connection Broker. Please make sure you have `n specified the correct FQDN for your RD Connection Broker server.`n » -ForegroundColor Red
      }
      }
      Else
      {
      $Error[0]
      }
      Exit
      }

      $OldClientAccessName = Get-RDMSDeployStringProperty « DeploymentRedirectorServer » $ConnectionBroker

      If ($BrokerInHAMode.Value)
      {
      Import-Module RemoteDesktop
      Set-RDClientAccessName -ConnectionBroker $ConnectionBroker -ClientAccessName $ClientAccessName
      }
      Else
      {
      $return = iwmi -Class « Win32_RDMSDeploymentSettings » -Namespace « root\CIMV2\rdms » -Name « SetStringProperty » `
      -ArgumentList @(« DeploymentRedirectorServer »,$ClientAccessName) -ComputerName $ConnectionBroker `
      -Authentication PacketPrivacy -ErrorAction Stop
      }

      $CurrentClientAccessName = Get-RDMSDeployStringProperty « DeploymentRedirectorServer » $ConnectionBroker

      If ($CurrentClientAccessName -eq $ClientAccessName)
      {
      Write-Host « `n Set-RDPublishedName Succeeded. » -ForegroundColor Green
      Write-Host « `n Old name: $OldClientAccessName`n`n New name: $CurrentClientAccessName »
      Write-Host « `n If you are currently logged on to RD Web Access, please refresh the page for the change to take effect.`n »
      }
      Else
      {
      Write-Host « `n Set-RDPublishedName Failed.`n » -ForegroundColor Red
      }

      Bonne journée 🙂

      BKI

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *