Catégorie : Horizon Page 5 of 9

Suppression des logs du master

Lors de l'optimisation de la VM master Horizon avec VMware OSOT, les fichiers de logs de l'agent Horizon dans le dossier C:\ProgramData\VMware\VDM\logs ne sont pas supprimés.
Cela peut être gênant lors du debugging des bureaux virtuels ou du template interne car ces fichiers peuvent vite devenir volumineux.

Pour supprimer l'ensemble des logs, le script suivant doit être lancé en Powershell sur le master avant son extinction.

<# Arrêt des process Horizon #>
net stop tsdrvdisvc
net stop WSNM
net stop vmware_print_redir_service
net stop vmwrxgservice
net stop Spooler
net stop v4v_agent
net stop VMBlast
net stop hzMonService
net stop vmware-viewcomposer-ga
net stop ftscansvchv
net stop ftnlsv3hv
net stop vmwsprrdpsrv
taskkill /IM "scanner.exe" /F
taskkill /IM "vmwareviewclipboard.exe" /F
taskkill /IM "WSSM.exe" /F
taskkill /IM "vmwsprrdp.exe" /F

<# Suppression des fichiers de logs #>
Remove-Item C:\ProgramData\VMware\VDM\logs\* -Force -ErrorAction SilentlyContinue -Recurse
Remove-Item 'C:\ProgramData\VMware\VMware Blast\*' -Force -ErrorAction SilentlyContinue -Recurse

Script PowerShell disponible ici lien

Automatiser l'installation des VMware Tools

Le master Microsoft Windows utilisé par VMware Horizon nécessite l'installation des VMware Tools de manière personnalisée afin d'optimiser l'image.

Lors de l'installation, il est recommandé de supprimer les composants suivants:

  • Assistance VMware Carbon Black
  • Fournisseur de temps VMware
  • Pilote d'introspection de fichier NSX
  • Pilote d'introspection de réseau NSX
  • Détection des services
  • Dossiers partagés
  • Support de services VSS

Pour installer VMware Tools en ligne de commande de manière automatique, sans prise en charge de VMware NSX, sans reboot automatique et avec retour graphique :

setup64.exe /s /v" /qb REBOOT=R ADDLOCAL=ALL REMOVE=VmwTimeProvider,FileIntrospection,NetworkIntrospection,ServiceDiscovery,Hgfs,VSS,CBHelper

La commande est sur une seule ligne


Pour installer VMware Tools en ligne de commande de manière automatique, avec prise en charge de VMware NSX, sans reboot automatique et avec retour graphique :

setup64.exe /s /v" /qb REBOOT=R ADDLOCAL=ALL REMOVE=VmwTimeProvider,ServiceDiscovery,Hgfs,VSS,CBHelper

La commande est sur une seule ligne


 ⚠️ Windows 10 : VMware Tools 10.1.0 minimum
 ⚠️ Windows 11 : VMware Tools 10.3.5 minimum

MàJ : Horizon 2212

Cette mise à jour est une version ESB (Extended Service Branch info)

Principales nouveautés :

  • Horizon Published Apps on Demand (nécessite App Volumes 2212)
  • Support des clés de licences MAK avec Instant-Clone
  • Support des pools vTPM Instant-Clone en provisioning mode B (sans VM Parent)
  • Sélection de l'OU Active Directory lors de la création d'un pool automatique full clone
  • Optimisation intelligente avec Blast Optimizer
  • Amélioration des performances GPU sur les machines physiques en Windows Server 2022
  • Paramétrage réseau des pool Instant-Clone basé sur le master et non plus sur le snapshot
  • Support de 500 VM par ESXi dans les environnements non vSAN
  • Support de IPv6 sur Cloud Pod Architecture
  • Agent Linux : 8 nouvelles versions de Linux supportées dont Debian (7 retirées)
  • Support de PostgreSQL 13.8, 14.5 et 15.0
  • Persistence de l'affichage des colonnes masquées/affichées dans la console Horizon
  • Création de CSR et import de certificat depuis la console Horizon

⬆️ L'upgrade vers la 2212 est possible depuis Horizon 7.13 ou 2206 minimum.
⚠️ VMware Tools 10.3.23/24/25 ne sont pas supportés par Horizon 2212.

Débugger le template Instant-Clone

Lors de la création ou la mise à jour d'un pool VMware Horizon Instant-Clone, une machine virtuelle template (cp-template-xxxxx) est automatiquement créée par le processus de déploiement.

Cette machine virtuelle est un clone lié du master et elle est intégrée par Horizon au domaine Active Directory.

Si pour une raison quelconque (adresse IP, problème Windows, etc...) la machine template n'est pas ajoutée au domaine, le déploiement est stoppé, la machine s'arrête au bout de 5 minutes puis elle est supprimée.

Il peut être intéressant d'avoir plus de temps pour se connecter en RDP/Console à cette machine pour analyser les fichiers de logs et tester un ajout au domaine manuellement afin de valider la configuration.

Procédure à réaliser sur le Master :

  • Dans vSphere Web Client, sélectionnez la VM master et cliquez sur Gérer > Configurer > Options VM > Modifier > Options VM > Avancé > Modifier la configuration.
  • Ajouter un nouveau Paramètres de configuration :  cloneprep.debug.mode
  • Mettre la valeur à ON
  • Prendre un nouveau snapshot et le publier

Cette procédure empêche Horizon de verrouiller et de supprimer les machines templates, elles devront être supprimées manuellement.

Azure AD

VMware Horizon 8 supporte désormais Azure AD en mode hybride.

Les bureaux virtuels peuvent joindre les domaines Active Directory et Azure AD. Cependant, cela est valable uniquement pour les machines non managées ou les clones complets, les instant-clones ne sont pas encore supportés.

Paramètres "Graphiques 3D"

Il est possible d'activer le Support 3D au niveau de la carte vidéo VMware dans la VM master.

En activant ce paramètre, il est possible de sélectionner le Rendu 3D Logiciel et d'affecter une quantité de RAM pour la 3D.
VMware précise que ce paramètre n'a aucun impact sur les performances vidéo de Windows 10/11 et qu'il ne devrait pas être utilisé.

Quant au rendu Matériel, il nécessite une carte graphique (principalement des modèles pro de chez Nvidia et Intel) configurée sur l'hôte ESXi sinon la machine virtuelle sera incapable de démarrer.

Profils utilisateurs présents sur le Connection Server

Il est possible de retrouver des profils "utilisateurs" Windows sur ses Connection Servers alors même qu'ils n'ont pas les droits pour se connecter localement ou avec le bureau à distance.

Ces profils sont créés automatiquement par Microsoft Windows lors d'une connexion avec le client Horizon et que l'utilisateur doit changer son mot de passe (password expiré)

Lors du changement de mot de passe, le Connection Server à besoin de créer un profil utilisateur localement.

Ces profils ne sont pas supprimés automatiquement, il faudra donc le faire manuellement.

Mise en oeuvre du MFA avec Duo

L'offre Duo Free permet de déployer gratuitement du MFA sur VMware Horizon. Cette version est limitée à 10 utilisateurs.

Prérequis

  • Application smartphone Duo Mobile
  • S'inscrire à l'essai gratuit lien
  • Machine virtuelle Windows Server 2016+
  • Créer un compte de service AD pour Duo (ex: svc_duo)
  • Télécharger Duo Authentication Proxy lien

Sur la machine virtuelle Windows Server, exécuter l'installeur de l'Authentication Proxy
Next
Sélectionner Proxy Service et Proxy Manager
Lancer Proxy Manager et Finish

Se connecter sur l'interface Admin de Duo lien

Dans Users > Add User, cliquer sur le bouton Add User

Ajouter un nouvel utilisateur qui sera autorisé à se connecter sur Horizon.
Utiliser le même username que dans l'Active Directory.

Entrer un Username et un email
Cliquer sur Send Enrollment Email

Ajouter une nouvelle application

Dans Applications > Protect an Application, choisir VMware View et cliquer sur Protect

Il faut maintenant configurer le fichier authproxy.cfg dans Proxy Manager

host = Adresse de votre contrôleur Active Directory
service_account_username = Compte de service AD Duo
service_account_password = Mot de passe du compte de service Duo
search_dn= Distinguished name de l'OU contenant les utilisateurs qui se connectent à Horizon
ikey = Votre integration key.
skey = Votre secret key.
api_host = Votre API hostname ("api-XXXXXXXX.duosecurity.com").
radius_ip_1 = Adresse IP de votre Horizon Connection Server.
radius_secret_1 = Votre mot de passe qui sera également créer sur Horizon

Cliquer sur Validate pour vérifier si il n'y a pas d'erreur
Cliquer sur Save pour sauvegarder le fichier de configuration
Cliquer sur Save and continue pour confirmer
Cliquer sur Start Service pour démarrer le Proxy

Se connecter sur la console Horizon
Aller dans Paramètres > Serveurs


Cliquer sur l'onglet Serveurs de connexion
Sélectionner le serveur et cliquer sur Modifier

Dans l'onglet Authentification, Authentification à deux facteurs, choisir RADIUS

Dans Authentificateur, choisir Créer un authentificateur

Nommer l'authentificateur puis cliquer sur Suivant

Paramétrer l'authentificateur

Nom d'hôte = Adresse du Duo Authentication Proxy
Port = 1812
Type d'authentification = PAP
Secret partagé = radius_secret_1 du fichier authproxy.cfg

Cocher ces deux cases et sélectionner l'authentificateur


Sur le smartphone de l'utilisateur, ouvrir le mail d'enrollment et cliquer sur le lien

Dérouler l'assistant Duo

Puis lancer l'application Duo

Enfin, nommer l'authentificateur


Lancer le client Horizon et se connecter avec le mot de passe Active Directory habituel

Une notification Duo mobile apparaîtra sur le smartphone, approuver pour autoriser la connexion au bureau virtuel

...

Script de délégation Instant-Clone

Le compte utilisateur Active Directory utilisé par VMware Instant-Clone requiert plusieurs permissions sur l'unité d'organisation (OU) où sont stockés les comptes d'ordinateurs des machines Instant-Clone.
Ces permissions sont également appliquées sur les OU enfants.

Pour automatiser cette délégation, j'ai créé un script PowerShell où il faut simplement paramétrer deux variables.

$ICuser correspond à l'utilisateur de domaine définit au niveau du pool.
$OU correspond à l'unité d'organisation (conteneur AD) des bureaux virtuels.

Lancer le script sur un contrôleur de domaine AD.

# Script de délégation de controle Active Directory
# Pour l'utilisateur VMware Instant-Clone
# https://vdihub.fr

# Renseigner OU bureaux virtuels Horizon entre ""
$OU = "OU=vdi,DC=dom,DC=local"

# Renseigner utilisateur Instant-Clone entre ""
$ICuser = "DOM\user"

# Effacement des erreurs précédentes
$Error.Clear()

# Créer / supprimer les objets ordinateurs (Create Delete Computer Objects)
dsacls "$OU" /G ""$ICuser":CCDC;Computer" /I:T

# Ecrire toutes les propriétes (Read All Properties)
dsacls "$OU" /G ""$ICuser":WP;;Computer" /I:S

# Lire toutes les propriétes (Write All Properties)
dsacls "$OU" /G ""$ICuser":RP;;Computer" /I:S

 # Lister le contenu (List Contents)
dsacls "$OU" /G ""$ICuser":LC;;Computer" /I:S

# Lire les permissions (Read Permissions)
dsacls "$OU" /G ""$ICuser":RC;;Computer" /I:S 

# Réinitialiser le mot de passe (Reset Password)
dsacls "$OU" /G ""$ICuser":CA;Reset Password;Computer" /I:S

# Rapport
$Error
Write-Host ""
Write-Host "User configuré : $ICuser" -ForegroundColor darkblue -BackgroundColor white
Write-host "OU configurée : $OU" -ForegroundColor darkblue -BackgroundColor white

Script PowerShell disponible ici lien

Ajuster la qualité graphique via les stratégies de groupe

Pour chaque codec, il est possible d'ajuster la qualité graphique de l'affichage.

La qualité peut être améliorée pour obtenir un meilleur rendu et une plus grande précision des images.
Au contraire, la qualité peut être diminuée afin de réduire la latence et la bande passante utilisée.

Prérequis

  • Modèles ADMX (Omnissa-Horizon-Extra-Bundle.zip) implémentés sur les contrôleurs de domaine AD

Configuration

  • Ouvrir la console Active Directory Stratégies de groupe
  • Modifier la GPO pour Horizon
  • Configuration Ordinateur > Stratégies > Modèles d'administration > VMware Blast > Qualité du codec Blast (si le codec Blast est utilisé)

Modifier les paramètres de quantification.
Plus la valeur est élevée, plus l'image sera dégradée.
Pour le codec Blast, le QP par défaut est égal à zéro.


Deux exemples ci-dessous pour comparer la qualité minimale et par défaut.


Pour obtenir une image sans perte de la plus haute qualité possible, il faut activer la fonctionnalité build-to-lossless en ajoutant une nouvelle valeur dans le registre du bureau virtuel.
Cette modification est immédiatement prise en compte.

  • Ouvrir Regedit
  • Aller à HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Blast\Config
  • Créer une valeur chaîne EncoderBuildToPNG
  • Mettre la donnée à 1

Pour ajuster la qualité en temps-réel sur un bureau virtuel, vous pouvez utiliser mon utilitaire gratuit Blast Configurator

Page 5 of 9