Windows 11 + Azure Virtual Desktop = 1

Ayant récemment abordé l’ajout d’images Windows 11 sous Azure ici, je me devais également de faire un nouvel article sur l’installation de machines virtuelles W11 au sein d’un environnement Azure Virtual Desktop.

Dans cet article nous allons tester différentes manières d’associer des machines virtuelles Windows 11 à AVD. Chaque méthode apporte des avantages et un niveau d’automatisation différent. Comme à chaque fois, il faut disposer au préalable d’un tenant et d’une souscription Azure sur laquelle vous déploierez les ressources Azure.

Point 0a : Prérequis de licences

A la différence d’un environnement RDS, Azure Virtual Desktop ne nécessite pas de licence côté serveur dans le cadre d’un environnement Windows 10/11. Cela n’est pas le cas si votre AVD est basé sur Windows Server. Vous pouvez accéder à Windows 10 et Windows 7 avec Azure Virtual Desktop si vous possédez l’une des licences suivantes par utilisateur :

  • Microsoft 365 E3/E5
  • Microsoft 365 A3/A5/Student Use Benefits
  • Microsoft 365 F3
  • Microsoft 365 Business Premium
  • Windows 10 Entreprise E3/E5
  • Windows 10 Éducation A3/A5
  • Windows 10 VDA par utilisateur

Point 0b : Prérequis techniques

Comme indiqué précédemment, nous allons commencer les déploiements en partant des prérequis suivants :

  • Un tenant Microsoft
  • Une souscription Azure
  • Un réseau virtuel
  • Un contrôleur de domaine (VM AD + Azure AD Connect ou Azure AD DS)
  • Un compte de stockage, paramétré pour FSLogix
  • Un pool d’hôtes Azure Virtual Desktop
  • Un espace de travail Azure Virtual Desktop
Voici une liste des ressources Azure déjà en place sur ma souscription, avant la mise en place de Windows 11.

Les points listés sont les mêmes pour un environnement Azure Virtual Desktop en Windows 10. Une fois en place, nous allons déployer des machines virtuelles en Windows 11 via les méthodes suivantes :

  • Méthode 1 : Déploiement direct depuis le pool d’hôtes AVD
  • Méthode 2 : Création d’une VM, puis enrôlement manuel dans le pool d’hôtes AVD
  • Méthode 3 : Création d’une VM puis enrôlement automatique via une extension script
  • Méthode 4 : Utilisation d’un template entièrement automatique et hébergé GitHub

Méthode 1 : Déploiement depuis le host pool

Dans cette méthode, nous allons simplement créer et ajouter une machine virtuelle Windows 11 sur notre environnement Azure Virtual Desktop.

Sur le portail Azure, recherchez Azure Virtual Desktop dans la barre de recherche et sélectionnez Azure Virtual Desktop dans les suggestions :

Sur l’écran d’Azure Virtual Desktop, choisissez Pool d’hôtes puis cliquez sur celui déjà créé précédemment dans votre environnement :

Si vous avez créé le vôtre sans machine virtuelle comme le mien, vous devriez avoir le chiffre 0 dans le nombre total de machines virtuelles. Cliquez dessus pour en ajouter :

Cliquez sur Ajouter :

Le premier onglet est grisé, car ces informations sont dédiées au pool d’hôtes. Cliquez sur le bouton Suivant pour ajouter la machine virtuelle :

Après avoir renseigné les premiers champs, cherchez l’image de Windows 11 en cliquant pour voir toutes les images disponibles dans la marketplace Azure :

Utilisez la barre de recherche pour retrouver l’image Windows 11, puis choisissez l’image avec les applications Microsoft 365 Gen 2 :

Cliquez ici pour obtenir plus d’information sur Windows 11 Gen 2 (bas de l’article).

Choisissez la puissance et le nombre de machines virtuelles ainsi que la performance du disque OS :

Microsoft recommande toujours les disques Premium SSD pour les environnements AVD de production.

Sélectionnez le réseau virtuel et le sous-réseau correspondant :

Il est vivement conseiller de créer un sous-réseau propre à AVD.

Continuez avec les informations du domaine :

Les éléments de jointure sont importants car ils peuvent faire échouer le déploiement Azure.
Prenez le temps de bien vérifier ces informations.

Finissez avec les informations d’administration des machines virtuelles, puis cliquez pour valider la création :

Une fois la validation passée, vous pouvez déclencher la création de la ou les machines virtuelles :

La création ne prendra alors que quelques minutes seulement :

Retournez sur votre pool d’hôtes pour bien constater l’apparition et la bonne disponibilité des VMs :

Enfin, pensez bien à affecter un groupe d’utilisateurs AVD, issu de votre domaine AD sur le groupe d’application de bureau à distance :

Lancez Windows Remote Desktop avec un utilisateur AVD pouvant lancer la session de bureau à distance :

Le téléchargement de l’application Microsoft Remote Desktop peut se faire ici.

Une dernière authentification est alors demandée pour ouvrir la session Windows 11 à l’utilisateur :

Ca y est, on dispose enfin de notre premier bureau Windows 11 sous AVD !!!

Il ne reste plus qu’à rajouter les informations de registre pour finaliser la configuration FSLogix :

#Variables
$storageAccountName = "fslogixjl"
$fileshare = "userprofiles"

#Create registry key 'Profiles' under 'HKLM:\SOFTWARE\FSLogix'
   $registryPath = "HKLM:\SOFTWARE\FSLogix\Profiles"
   if(!(Test-path $registryPath)){
       New-Item -Path $registryPath -Force | Out-Null
   }

#Add registry values to enable FSLogix profiles, add VHD Locations, Delete local profile and FlipFlop Directory name
New-ItemProperty -Path $registryPath -Name "VHDLocations" -Value "\\$storageAccountName.file.core.windows.net\$fileshare" -PropertyType String -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "Enabled" -Value 1 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "DeleteLocalProfileWhenVHDShouldApply" -Value 1 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "FlipFlopProfileDirectoryName" -Value 1 -PropertyType DWord -Force | Out-Null

#Display script completion in console
Write-Host "Script Executed successfully" 

Contrôlez alors dans votre partage de fichier créé pour FSLogix la présence du VHD :

En conclusion, la méthode habituelle de déploiement d’un Azure Virtual Desktop ne diffère en rien avec Windows 11. Nous allons nous intéresser à d’autres méthodes possibles de déploiement de Windows 11 pour AVD.

Méthode 2 : Création d’une VM puis enrôlement manuel

Quel que soit l’OS désiré, il est possible de créer une machine virtuelle par la méthode classique puis de l’enrôler manuellement via l’installation de la solution RD Agent.

Dans le cadre de l’installation de Windows 11 avec le Trusted Launch (encore en Preview), il faut alors utiliser ce portail Azure. La création de la machine virtuelle est alors des plus classiques :

Ajoutez provisoirement une adresse IP publique afin de pouvoir installer l’agent AVD :

Dans l’onglet Avancée, l’utilisation d’une image Gen 2 vous permet alors de profiter de toutes les fonctionnalités du Trusted Launch :

Connectez-vous en RDP sur la machine virtuelle nouvellement créée et suivez le processus suivant :

  • Joignez la machine virtuelle Windows 11 au domaine AD :
  • Téléchargez l’agent Azure Virtual Desktop et exécutez le programme d’installation
  • Lorsque le programme d’installation vous demande le jeton d’inscription, entrez la clef d’enregistrement disponible dans le pool d’hôtes AVD
Retrouvez la clef d’enregistrement AVD directement sur le pool d’hôtes AVD.
Copiez la clef récupérée dans le programme d’installation d’AVD.
  • Téléchargez l’agent de démarrage d’Azure Virtual Desktop et exécutez le programme d’installation
  • Télécharger et installez FSLogix puis ajoutez via PowerShell la configuration FSLogix :
#Variables
$storageAccountName = "fslogixjl"
$fileshare = "userprofiles"

#Create registry key 'Profiles' under 'HKLM:\SOFTWARE\FSLogix'
   $registryPath = "HKLM:\SOFTWARE\FSLogix\Profiles"
   if(!(Test-path $registryPath)){
       New-Item -Path $registryPath -Force | Out-Null
   }

#Add registry values to enable FSLogix profiles, add VHD Locations, Delete local profile and FlipFlop Directory name
New-ItemProperty -Path $registryPath -Name "VHDLocations" -Value "\\$storageAccountName.file.core.windows.net\$fileshare" -PropertyType String -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "Enabled" -Value 1 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "DeleteLocalProfileWhenVHDShouldApply" -Value 1 -PropertyType DWord -Force | Out-Null
New-ItemProperty -Path $registryPath -Name "FlipFlopProfileDirectoryName" -Value 1 -PropertyType DWord -Force | Out-Null

#Display script completion in console
Write-Host "Script Executed successfully" 
  • Redémarrez la machine virtuelle

La nouvelle machine rejoint alors celle de la première méthode :

Testez la connexion à Azure Virtual Desktop via l’accès HTML 5 depuis cette URL :

Contrôlez sur le compte de stockage l’apparition du second profil utilisateur :

En conclusion, la seconde méthode de déploiement d’un Azure Virtual Desktop par la création d’une VM, puis son enrôlement fonctionne très bien Windows 11. Nous allons maintenant nous intéresser à la création d’une VM dans AVD par l’ajout d’un script en extension.

Méthode 3 : Création d’une VM puis enrôlement automatique via une extension script

La 3ème méthode est très proche de la seconde méthode, à savoir qu’elle se fait par le déploiement d’une machine virtuelle. La différence va porter par l’utilisation d’une extension, appelant un script en PowerShell. Nous devons ce script à Dean Cefola, de l’Azure Academy. Ce script a connu les évolutions suivantes :

# 09/15/2019                     1.0        Intial Version
# 09/16/2019                     2.0        Add FSLogix installer
# 09/16/2019                     2.1        Add FSLogix Reg Keys 
# 09/16/2019                     2.2        Add Input Parameters 
# 09/16/2019                     2.3        Add TLS 1.2 settings
# 09/17/2019                     3.0        Chang download locations to dynamic
# 09/17/2019                     3.1        Add code to disable IESEC for admins
# 09/20/2019                     3.2        Add code to discover OS (Server / Client)
# 09/20/2019                     4.0        Add code for servers to add RDS Host role
# 10/01/2019                     4.2        Add all FSLogix Profile Container Reg entries for easier management
# 10/07/2019                     4.3        Add FSLogix Office Container Reg entries for easier management
# 10/16/2019                     5.0        Add Windows 7 Support
# 07/20/2020                     6.0        Add WVD Optimize Code from The-Virtual-Desktop-Team
# 10/27/2020                     7.0        Optimize FSLogix settings - Remove Office Profile Settings
# 02/01/2021                     7.1        Add RegKey for Screen Protection
# 05/22/2021                     7.2        Multiple changes to WVD Optimization code (remove winversion, Add EULA, Add Paramater for Optimize All
# 06/30/2021                     7.3        Add RegKey for Azure AD Join

Renseignez les paramètres de la machine virtuelle de manière classique, et cliquez sur l’ajout d’une extension à installer dans l’onglet Avancé :

Cherchez dans la liste celle appelée Custom Script Extension :

Puis cliquez sur Créer:

L’extension doit être stockée sur un compte de stockage de type Blob, vous pouvez la chercher ici :

Sélectionnez un compte de stockage si vous en disposez d’un. Si non, il vous faudra en créer un :

Créez un nouveau container pour stocker le script PowerShell :

Nommez-le et cliquez sur Créer :

Rentrez dans celui-ci et cliquez sur Upload :

Renseignez l’URL suivante dans le nom du fichier et cliquez sur Ouvrir :

https://raw.githubusercontent.com/DeanCefola/Azure-WVD/master/PowerShell/New-WVDSessionHost.ps1

Cliquez ensuite sur Upload :

Enfin cliquez sur éelectionner :

Vous devrez ensuite renseigner deux paramètres pour que l’extension fonctionne correctement :

  • Profilepath : nom du partage SMB où doivent être stockés les profiles FSLogix
  • RegistrationToken : Clef d’enregistrement des machines dans le pool d’hôtes Azure Virtual Desktop

Ce qui donne dans mon cas les paramètres suivants :

-ProfilePath \\fslogixjl.file.core.windows.net\userprofiles -RegistrationToken eyJhbGciOiJSUzI1NiIsImtpZCI6Ijk3NkE4Q0I1MTQwNjkyM0E4MkU4QUQ3MUYzQjE4NzEyN0Y2OTRDOTkiLCJ0eXAiOiJKV1QifQ.eyJSZWdpc3RyYXRpb25JZCI6IjY2N2RhOGUyLWMxMDAtNGU1Ni1hMTIyLWZmOGFkMTE3YjdmMyIsIkJyb2tlclVyaSI6Imh0dHBzOi8...

Pensez encore une fois à activer toutes les fonctionnalités du Trusted Launch sur le même onglet Avancé :

Lancez la création de la machine virtuelle. Quelques minutes plus tard, vous devriez constater l’apparition de la machine virtuelle dans votre pool d’hôtes Azure Virtual Desktop :

La machine restera en indisponible tant que cette dernière n’est pas jointe au domaine Active Directory. Pour cela, vous devrez vous connecter en RDP à cette dernière avec le compte administrateur renseigné lors de sa création. Une fois connecté il ne vous restera qu’à rejoindre le domaine :

Un redémarrage plus tard, vous devriez constater que la machine virtuelle est bien passée en Disponible dans Azure Virtual Desktop :

Un lancement d’une session AVD utilisera les paramètres FSLogix que vous avez renseigné et le dossier sera bien créé sur le compte de stockage :

En conclusion, cette 3ème méthode est pratique, mais demande encore quelques opérations manuelles. La dernière méthode de cet article, elle aussi créée par Dean, est encore plus automatisée.

Méthode 4 : Utilisation d’un template GitHub

Cette 4ème et dernière méthode nous amène sur GitHub et ses liens de déploiement vers Azure. La page GitHub de Dean se trouve ici. Sur cette page se trouve ce qui nous intéresse :

Cliquez sur ce lien pour emporter le template sur votre portail Azure. Renseignez les champs selon les paramètres de votre environnement AVD et Validez :

Le template va alors se déployer en quelques minutes :

Vérifiez alors la bonne jointure des VMs avec Azure Virtual Desktop via le pool d’hôtes :

Comme à chaque fois, un lancement d’une session AVD utilisera les paramètres FSLogix que vous aviez renseigné et le dossier sera bien créé sur le compte de stockage :

En conclusion, cette 4ème et dernière méthode est certainement la plus pratique de toutes et en plus très rapide, même si certaines options de machines virtuelles ne sont alors plus disponibles au moment de la configuration.

Conclusion

Windows 11 est maintenant bien présent sur Azure Virtual Desktop. Sa sortie très prochaine nous amène à considérer cet OS dans de futurs projets de bureau à distance. Je suis sûr que Microsoft continuera à nous apporter encore plus de fonctionnalités dans les mois qui viennent. Pour vous aider dans les tests de ces différentes méthodes, vous trouverez ci-dessous la vidéo YouTube mis en ligne par Dean sur ce sujet et qui m’a aidé à préparer mon article :

Enfin n’hésitez pas à faire part de vos remarques sur Windows 11 sur AVD dans les commentaires 😋.

Laisser un commentaire

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