ℹ️ À savoir · En bref
Citrix Optimizer (renommé Citrix Optimizer Tool) applique à une image Windows un modèle d'optimisations : services, tâches planifiées, applications UWP, fonctionnalités Windows, registre. Objectif : des VDA plus légers, des ouvertures de session plus rapides et plus d'utilisateurs par serveur.
Outil gratuit, sans installation (un zip), en interface graphique ou en PowerShell. Version actuelle 3.5 : prise en charge de Windows Server 2025 et de Windows 11 24H2 / 25H2.
Objectifs de la fiche
- Savoir quand et où utiliser Citrix Optimizer dans le cycle de vie de l'image.
- Choisir un modèle, analyser, puis optimiser sans casser l'image.
- Automatiser en PowerShell et revenir en arrière.
- Créer des modèles personnalisés et utiliser l'intégration WEM.
Prérequis et versions
| Point | Détail |
|---|---|
| Téléchargement | Article CTX224676 (compte Citrix requis) ; extraire le zip dans un dossier du VDA |
| Prérequis | PowerShell 2.0 ou plus, .NET Framework 4.6.2 ou plus, droits administrateur |
| OS pris en charge (3.5) | Windows 10 1903 à 22H2, Windows 11 (jusqu'à 25H2), Windows Server 2022 et 2025 |
| Contenu | CitrixOptimizer.exe (interface), CtxOptimizerEngine.ps1 (moteur), dossier Templates, dossier Logs |
Le processus

| Mode | Effet |
|---|---|
| Analyze | Compare le système au modèle et affiche les écarts, sans rien modifier ; rapport HTML |
| Execute (Optimize) | Applique les éléments cochés et enregistre l'état antérieur dans Execute_History.xml |
| Rollback | Restaure l'état enregistré avant l'exécution ; PowerShell uniquement, et pas pour les applications supprimées |
Interface graphique
- Lancer
CitrixOptimizer.exeen administrateur. - Choisir le modèle proposé pour l'OS (sélection automatique) ou Browse pour un modèle personnalisé.
- Déplier chaque groupe, lire la description des éléments et décocher ce dont tes utilisateurs ont besoin.
- Analyze, lire le rapport, puis Optimize ; View results ouvre le rapport HTML. L'historique des exécutions et le rollback sont aussi accessibles dans l'interface.
PowerShell
CtxOptimizerEngine.ps1
# Dans une console PowerShell administrateur, depuis le dossier de l'outil
Get-Help .\CtxOptimizerEngine.ps1 -Full # liste complète des paramètres
# Analyse avec sélection automatique du modèle (aucune modification)
.\CtxOptimizerEngine.ps1 -Mode Analyze
# Exécution d'un modèle précis, copie de l'historique hors du dossier Logs
.\CtxOptimizerEngine.ps1 -Source .\Templates\Contoso_WS2025_VDA.xml -Mode Execute -OutputXml C:\Build\Optimizer_Execute.xml
# Retour arrière à partir de l'historique d'une exécution
.\CtxOptimizerEngine.ps1 -Source C:\Build\Optimizer_Execute.xml -Mode Rollback
-Source(ou-Template) : chemin complet, relatif, ou simple nom cherché dans.\Templates. Absent ouAutoSelect: meilleur modèle pour la build Windows (repli sur la build précédente).- Sans
-OutputXml, l'historique est dans.\Logs\<aaaa-mm-jj_hh-mm-ss>\Execute_History.xml. - Contrôle d'un script de build : présence de
<run_successful />dans le XML de sortie.
Modèles personnalisés
| Moyen | Usage |
|---|---|
| Template Builder (menu de l'outil) | Créer un modèle : services, tâches, registre, UWP, fonctionnalités, code PowerShell, conditions, éléments en analyse seule |
| Copie d'un modèle Citrix | Partir du modèle officiel de l'OS et retirer ce que tu ne veux jamais appliquer |
| Nommage | Respecter la syntaxe de nom des modèles Citrix pour qu'AutoSelect retienne aussi ton modèle |
| Marketplaces | Marketplace Citrix (modèles officiels) et Community Marketplace (modèles tiers, à relire avant usage) |
💡 Astuce
Garde ton modèle dans le dépôt Git de l'image (avec la liste des éléments décochés et la raison) : la même optimisation est rejouée à chaque nouvelle image.
Dans un pipeline de build (Packer, Ansible, MCS), lance d'abord Analyze et archive le rapport HTML avec l'image.
Avec WEM
- Console WEM › System Optimization › Citrix Optimizer : modèles intégrés par OS, ajout de modèles personnalisés (fichier, OS, groupes), activation par modèle.
- Un seul modèle par OS ; sélection automatique possible ; les modèles personnalisés ne s'exportent pas (garde une copie).
- Exécution à l'ajout ou à la modification du modèle, ou chaque semaine (Run Weekly) ; sur des VDA non persistants, à chaque redémarrage.
- Application immédiate : rafraîchir l'agent puis Process Citrix Optimizer (Agents › Statistics).
⚠️ Piège
Ne combine pas sans réfléchir l'optimisation dans l'image et celle de WEM : deux sources qui modifient les mêmes services rendent les écarts difficiles à expliquer. Choisis où vit chaque réglage.
Où l’utiliser dans le cycle de l’image
| Contexte | Moment |
|---|---|
| MCS / PVS | Sur l'image maître, après les mises à jour Windows et les applications, juste avant le scellement (BIS-F peut l'enchaîner) |
| App Layering | Dans la couche OS (ou la couche plateforme), avant de finaliser la couche |
| Persistant / Remote PC | Possible, mais limiter aux éléments sans impact utilisateur |
Pièges fréquents
| Symptôme | Cause probable | Parade |
|---|---|---|
| Application Store, calculatrice ou capture d'écran absentes | Applications UWP supprimées par le modèle | Snapshot ; décocher ces éléments ; pas de rollback pour les suppressions |
| Recherche Windows lente ou cassée | Service de recherche ou indexation désactivé | Le réactiver si Outlook / FSLogix en dépendent |
| Fonction perdue après une mise à jour Windows | Nouvelle build, modèle de la build précédente | Mettre l'outil à jour, relancer Analyze |
| Écart inexpliqué entre deux VDA | Optimisation à la fois dans l'image et dans WEM | Une seule source par réglage |
| Rollback sans effet | Mauvais XML, ou élément de type suppression | Utiliser Execute_History.xml de la bonne exécution ; revenir au snapshot |
🔷 En contexte Citrix
Pour tes images maîtres Windows Server 2025 sous MCS : passe en version 3.5, lance Analyze après les mises à jour cumulatives, décoche ce qui touche au menu Démarrer, à la recherche et aux applications utiles aux utilisateurs, puis teste les ouvertures de session avant de sceller.
Si WEM est déjà en place, décide une fois pour toutes si l'optimisation vit dans l'image (reproductible, versionnée) ou dans WEM (centralisée).
À retenir
- Citrix Optimizer Tool 3.5 : zip sans installation, GUI ou PowerShell, Windows 10 / 11 et Server 2022 / 2025.
- Snapshot → Analyze → Execute sélectif → test → scellement.
- Rollback en PowerShell à partir d'Execute_History.xml ; jamais pour les applications supprimées.
- AutoSelect choisit le modèle par build ; Template Builder pour tes modèles.
- Intégration WEM : un modèle par OS, exécution à chaque redémarrage sur les non persistants.
Auto-évaluation
Q1. Quelle différence entre Analyze et Execute ?
→ Analyze compare le système au modèle sans rien modifier ; Execute applique les éléments sélectionnés et enregistre l'état antérieur.
Q2. Comment annuler une optimisation ?
→ En PowerShell : CtxOptimizerEngine.ps1 -Mode Rollback -Source avec le Execute_History.xml de l'exécution (dossier Logs ou chemin donné par -OutputXml).
Q3. Pourquoi prendre un snapshot avant d'optimiser alors que le rollback existe ?
→ Le rollback ne restaure pas les applications supprimées ; seul le snapshot permet de les récupérer.
Q4. Que se passe-t-il si tu ne précises pas de modèle en PowerShell ?
→ AutoSelect choisit le meilleur modèle pour la build Windows, avec repli sur la build précédente.