Citrix Virtual Apps and Desktops

Fenêtre de service

La fonctionnalité Fenêtre de service permet de planifier et d’automatiser les opérations sur les machines virtuelles provisionnées par MCS. Cette fonctionnalité prend actuellement en charge diverses opérations telles que la réinitialisation du disque du système d’exploitation et les modifications de configuration matérielle. Vous pouvez planifier ces opérations et revenir plus tard pour vérifier leur achèvement, plutôt que d’effectuer les mises à jour manuellement.

Vous pouvez planifier des opérations pour une liste spécifique de machines virtuelles ou pour un catalogue de machines entier. Chaque opération s’exécute à l’heure spécifiée. Plusieurs opérations peuvent être planifiées pour la même machine virtuelle. Cependant, vous ne pouvez pas planifier plus d’une mise à jour matérielle pour une seule machine virtuelle.

Vous pouvez également :

  • Ajouter une description pour la Fenêtre de service.
  • Fournir un message détaillé à afficher à tous les utilisateurs connectés lorsque l’opération s’exécute.
  • Spécifier le nombre de jours pendant lesquels les métadonnées de la tâche doivent être conservées après l’achèvement.
  • Configurer le nombre de minutes de tampon accordées pour enregistrer le travail des utilisateurs connectés avant que l’opération ne soit exécutée de force.

Avantages

Amélioration de l’expérience utilisateur et de la continuité

  • Gestion élégante des sessions : Au lieu de déconnexions abruptes, vous pouvez définir une notification professionnelle pour enregistrer le travail avant l’arrêt de la machine virtuelle.
  • Temps d’arrêt planifié : Vous pouvez déplacer les tâches de mise à jour importantes vers les heures creuses (par exemple, 2h00 du matin) sans avoir à vous connecter manuellement à ce moment-là.
  • Mises à jour matérielles rentables : La mise à jour du matériel à l’aide de la Fenêtre de service permet de réaliser des économies importantes sur les grandes implémentations. Cette fonctionnalité analyse automatiquement si une machine virtuelle nécessite un redémarrage pour appliquer les paramètres. Par conséquent, en évitant les redémarrages inutiles, la Fenêtre de service minimise ces dépenses.

Flexibilité matérielle avancée

  • Mettre à jour les configurations matérielles : Utilisez la Fenêtre de service pour planifier les mises à jour matérielles. Le système gère intelligemment le flux de mise à jour, vérifiant la nécessité d’un redémarrage et gérant les déconnexions de session, garantissant ainsi que votre catalogue évolue pour répondre aux nouvelles demandes de ressources sans aucune supervision manuelle.
  • Reconfiguration flexible des SKU : Mettez à jour facilement les SKU, ce qui nécessitait auparavant une recréation manuelle du catalogue.
  • Prise en charge de l’hibernation pour les machines virtuelles existantes : Surmonte la limitation du « disque temporaire ». La fenêtre de service permet au pilote MCSIO de déplacer le fichier d’échange vers le lecteur C: et d’activer les propriétés d’hibernation sur les machines virtuelles déjà déployées.

Considération importante

  • Notification de l’utilisateur : Les utilisateurs connectés reçoivent une alerte initiale concernant l’opération de la fenêtre de service, ce qui leur laisse suffisamment de temps pour enregistrer leur travail. Une fois la période de notification expirée, la machine s’éteint automatiquement pour effectuer l’opération.

Opérations de la fenêtre de service

La fenêtre de service prend actuellement en charge la réinitialisation des disques du système d’exploitation, la réparation des comptes Active Directory pour les catalogues provisionnés MCS existants, l’activation de la jonction hybride Entra pour les catalogues provisionnés MCS existants et les modifications de configuration matérielle. Ces opérations peuvent être effectuées à l’aide de Web Studio ou de PowerShell.

Web Studio : Actuellement, pris en charge exclusivement pour les environnements Azure. Pour obtenir des conseils, reportez-vous aux articles spécifiques à l’hyperviseur.

Commandes PowerShell : Les commandes génériques sont décrites dans cet article, tandis que des scripts détaillés et spécifiques à l’hyperviseur peuvent être trouvés sur notre page GitHub https://github.com/citrix/citrix-mcs-sdk-samples/.

Réinitialiser le disque OS

Les réinitialisations de disque du système d’exploitation peuvent être effectuées à l’aide de la commande PowerShell New-ProvMaintenanceCycle. La commande crée une nouvelle fenêtre de service pour un catalogue entier ou des machines virtuelles spécifiques. Le cycle commence à l’heure que vous spécifiez dans ScheduledStartTimeInUTC. Vous fournissez également MaxDurationInMinutes, qui indique la durée maximale d’exécution de la fenêtre de service.

Exemple : Réinitialiser le disque OS pour des VM spécifiques

New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription "Resetting Boot Disk" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -VMName VDA02,VDA03
<!--NeedCopy-->

Exemple : Réinitialiser le disque du système d’exploitation pour l’ensemble du catalogue

New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription "Resetting Boot Disk" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -AllVMs
<!--NeedCopy-->

Mettre à jour les paramètres matériels

Planifiez les mises à jour matérielles à l’aide de la fenêtre de service, ce qui vous donne un contrôle total sur le moment où les modifications prennent effet. Vous pouvez choisir de cibler uniquement les machines virtuelles nouvellement créées, un catalogue entier (machines virtuelles nouvelles et existantes) ou des machines virtuelles spécifiques selon les besoins.

  • Pour mettre à jour les paramètres matériels des nouvelles machines virtuelles ou de l’ensemble du catalogue, sélectionnez une version de schéma de provisionnement et exécutez la commande PowerShell New-ProvSchemeHardwareUpdate. Vous pouvez appliquer une version de schéma de provisionnement précédemment créée aux machines virtuelles. Vous pouvez également activer l’hibernation sur une machine virtuelle avec un disque temporaire.
  • Pour mettre à jour les paramètres matériels de VM spécifiques, sélectionnez une version de configuration de VM et exécutez la commande PowerShell New-ProvVmHardwareUpdate.

Considérations importantes

  • Les nouvelles machines ajoutées à un catalogue après la planification d’une mise à jour matérielle continuent d’être créées avec des spécifications plus anciennes jusqu’à l’heure UTC spécifiée pour l’application des nouvelles spécifications.
  • Un seul échec de validation lors de la création de la fenêtre de service empêche la création du cycle et renvoie un message d’erreur.
  • Pour activer l’hibernation, tenez compte des éléments suivants :
    • La version du VDA doit être supérieure à 2503.
    • Machine Creation Services I/O (MCSIO) doit être installé.
    • Le profil de la machine doit prendre en charge l’hibernation.
    • La référence SKU de la VM et le système d’exploitation doivent prendre en charge l’hibernation.
    • Si VBS est activé, Hyper-V doit également être activé. La virtualisation imbriquée nécessite le lancement sécurisé (Trusted Launch) sur la VM.
    • La taille libre du disque du système d’exploitation doit être supérieure à la taille de la mémoire de la VM.

Planifier les mises à jour matérielles sur un catalogue de machines entier ou de nouvelles VM

  1. Exécutez New-ProvSchemeVersion pour créer une nouvelle version de schéma de provisionnement avec des paramètres matériels mis à jour. Pour plus d’informations, consultez la documentation SDK.
  2. Exécutez la commande PowerShell New-ProvSchemeHardwareUpdate pour planifier une fenêtre de service pour les mises à jour matérielles, comme spécifié dans la version du schéma de provisionnement.

Exemple : AllVMs (nouvelles et existantes) dans le catalogue de machines sont prises en compte pour la mise à jour :

New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription "Updating RAM and CPU Count to 8GB and 4" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -AllVMs
<!--NeedCopy-->

Exemple : NewVMsOnly (nouveaux et existants) dans le catalogue de machines sont pris en compte pour la mise à jour :

New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription "Updating RAM and CPU Count to 8GB and 4" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -NewVMsOnly
<!--NeedCopy-->

Exécutez Get-ProvSchemeHardwareUpdate pour récupérer les objets de fenêtre de service associés aux mises à jour de schéma matériel. Exemple :

Get-ProvSchemeHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
<!--NeedCopy-->

Planifier les mises à jour matérielles sur des machines virtuelles spécifiques

  1. Exécutez New-ProvVmConfiguration pour créer une nouvelle configuration de machine virtuelle de provisioning. Pour plus d’informations, consultez la documentation du SDK.

  2. Exécutez la commande PowerShell New-ProvVmHardwareUpdate pour planifier une fenêtre de service pour les mises à jour matérielles, comme spécifié dans la version de configuration de la machine virtuelle.

Remarque :

Pour chaque machine virtuelle, tous les paramètres personnalisés (version de configuration de la machine virtuelle) priment toujours sur les spécifications définies dans la version du schéma de provisioning. Si un paramètre particulier n’est pas personnalisé sur la machine virtuelle, sa valeur est héritée de la version du schéma de provisioning associée.

Exemple :

New-ProvVmHardwareUpdate -ProvVmConfigurationVersion 4 -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -VMName AbcTest01
<!--NeedCopy-->

Exécutez Get-ProvVmHardwareUpdate pour récupérer les objets de fenêtre de service associés aux mises à jour matérielles des machines virtuelles. Exemple :

Get-ProvVmHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
<!--NeedCopy-->

Vous pouvez également supprimer une personnalisation utilisée pour créer des versions de machines virtuelles de provisioning à l’aide de la commande Remove-ProvVmConfiguration. Exemple :

Remove-ProvVmConfiguration -Version 2 -VMName AbcTest01
<!--NeedCopy-->

Réparer le compte AD pour les catalogues existants

Vous pouvez réparer les comptes d’ordinateur Active Directory (AD) pour les catalogues de machines MCS existants joints à un AD local et à Microsoft Entra Hybrid à l’aide de la fenêtre de service. Ceci est utile lorsque les machines virtuelles ont perdu la confiance du domaine. Cette fonctionnalité s’applique aux catalogues de machines MCS persistants et non persistants.

Pour réparer les comptes AD d’un catalogue de machines MCS existant, vous pouvez utiliser des commandes PowerShell pour effectuer les étapes suivantes :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger les modules PowerShell spécifiques à Citrix.
  3. Exécutez la commande New-ProvIdentityUpdate de l’une des manières suivantes :

    • Pour réparer le compte AD de machines virtuelles spécifiques par nom :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Pour planifier l’opération à une date ultérieure au lieu de la démarrer immédiatement :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. Exécutez Get-ProvMaintenanceCycle pour vérifier l’état du cycle de maintenance.

Pour plus d’informations, consultez le SDK PowerShell de Citrix

Remarque :

  • Cette fonctionnalité s’applique uniquement aux catalogues de machines MCS joints à un Active Directory local et aux catalogues de machines MCS joints à Microsoft Entra Hybrid. Elle ne prend pas en charge les machines jointes à Entra ID et les machines non jointes à un domaine.
  • Le pool d’identités du schéma de provisionnement doit disposer d’un compte de service Active Directory local avec des autorisations suffisantes pour réinitialiser le mot de passe du compte d’ordinateur dans le domaine.

Activer la jonction hybride Entra pour les catalogues provisionnés MCS existants

Vous pouvez désormais convertir les catalogues de machines MCS existants joints à un Active Directory local en catalogues joints à Microsoft Entra Hybrid à l’aide de la fenêtre de service. Cette fonctionnalité s’applique aux catalogues de machines MCS persistants et non persistants.

Pour activer la jonction hybride Entra pour un catalogue de machines MCS existant, vous pouvez utiliser des commandes PowerShell pour effectuer les étapes suivantes :

  1. Ouvrez une fenêtre PowerShell.
  2. Exécutez asnp citrix* pour charger les modules PowerShell spécifiques à Citrix.
  3. Exécutez la commande New-ProvIdentityUpdate de l’une des manières suivantes :

    • Pour activer immédiatement la jonction hybride Entra pour toutes les machines virtuelles d’un catalogue :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Pour activer la jonction hybride Entra pour des machines virtuelles spécifiques par nom : :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Pour activer la jonction hybride Entra et spécifier une unité d’organisation cible pour les nouvelles machines virtuelles :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow -OU "OU=SyncedDevices,DC=example,DC=com"
       <!--NeedCopy-->
      
    • Pour planifier l’opération à une date ultérieure au lieu de la démarrer immédiatement :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. Exécutez Get-ProvMaintenanceCycle pour vérifier l’état du cycle de maintenance.

Pour plus d’informations, consultez Citrix PowerShell SDK

Remarque :

  • Pour vous assurer que le catalogue fonctionne correctement, vous devez convertir toutes les machines virtuelles existantes du catalogue en machines jointes à Microsoft Entra hybride.
  • Cette fonctionnalité ne prend pas en charge les catalogues provisionnés par MCS qui partagent un pool d’identités.
  • L’image de base du schéma de provisionnement existant doit avoir la version 2212 ou ultérieure du VDA installée, voir Exigences pour la jonction hybride Microsoft Entra.
  • Le pool d’identités du schéma de provisionnement doit disposer d’un compte de service Active Directory local avec l’autorisation de définir la propriété userCertificate dans le domaine.
  • Assurez-vous que l’unité d’organisation contenant les comptes d’ordinateur est configurée pour se synchroniser avec Entra ID via Microsoft Entra Connect. Vous avez deux options :

    • Configurez Azure AD Connect pour synchroniser les appareils de l’unité d’organisation d’origine vers Entra ID.
    • Déplacez manuellement les comptes d’ordinateur existants vers une unité d’organisation configurée pour la synchronisation Azure AD Connect.

Commandes PowerShell diverses associées à la fenêtre de service

  • Get-ProvMaintenanceCycle : Récupère les informations de toutes les fenêtres de service. Exemple :

     Get-ProvMaintenanceCycle -MaintenanceCycleId 10073b8e-7e94-4527-8580-0e448eae0ad1
     <!--NeedCopy-->
    
  • Get-ProvMaintenanceCycleVM: Récupère les informations de chaque opération de fenêtre de service pour les machines virtuelles individuelles, ainsi que son statut. Exemple :

     Get-ProvMaintenanceCycleVM -MaintenanceOperation HardwareUpdate -VirtualMachineSid 42263076-44ae-1ff9-f58b-62d57ddf8db5
     <!--NeedCopy-->
    

    Les différents statuts de fenêtre de service sont :

    • En cours d’exécution
    • Échoué
    • Terminé
    • Annulation en cours
    • Annulé
    • Non traité
    • En attente
    • Incomplet
    • Réparé
    • Récupération en cours
  • Remove-ProvMaintenanceCycle: Supprime une fenêtre de service lorsque celle-ci n’est pas active. Exemple :

     Remove-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Cancel-ProvMaintenanceCycle: Si l’opération n’a pas encore été démarrée par MCS sur une machine virtuelle, cette commande PowerShell annule l’opération. MCS n’annule pas une opération en cours d’exécution sur la machine virtuelle. Exemple :

     Cancel-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Restart-ProvMaintenanceCycle: Si une fenêtre de service a échoué ou est incomplète en raison de causes externes, telles qu’un hyperviseur hors service ou un temps insuffisant, cette commande permet de redémarrer le cycle et de traiter les tâches ayant échoué ou non traitées. Exemple :

     Restart-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ScheduledStartTimeInUTC "June 19th 2024, 6AM" -MaxAllocatedDurationInMinutes 400
     <!--NeedCopy-->
    
  • Update-ProvMaintenanceCycle : Si une fenêtre de service est déjà planifiée et n’a pas démarré, cette commande modifie certains paramètres.

    Exemple : Mettre à jour la durée maximale :

     Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -MaxDurationInMinutes 100
     <!--NeedCopy-->
    

    Exemple : Mettre à jour les machines virtuelles pour un schéma de provisionnement :

     Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ProvisioningSchemeUid 867af1ba-5b72-402e-9dc3-033298248f8e -VMName ncn01,ncn02
     <!--NeedCopy-->
    

Étapes suivantes

Pour gérer les opérations de fenêtre de service à l’aide de Web Studio dans Azure, consultez Opérations de fenêtre de service dans Azure.