Citrix Virtual Apps and Desktops

Ventana de servicio

La función Ventana de servicio permite programar y automatizar operaciones en máquinas virtuales aprovisionadas por MCS. Esta función actualmente admite varias operaciones, como el restablecimiento del disco del sistema operativo y los cambios en la configuración del hardware. Puede programar estas operaciones y volver más tarde para verificar su finalización, en lugar de realizar las actualizaciones manualmente.

Puede programar operaciones para una lista específica de máquinas virtuales o para un catálogo de máquinas completo. Cada operación se ejecuta a la hora especificada. Se pueden programar varias operaciones para la misma máquina virtual. Sin embargo, no se puede programar más de una actualización de hardware para una sola máquina virtual.

También puede:

  • Agregar una descripción para la Ventana de servicio.
  • Proporcionar un mensaje detallado que se mostrará a los usuarios que hayan iniciado sesión cuando se ejecute la operación.
  • Especificar cuántos días se deben conservar los metadatos de la tarea después de su finalización.
  • Configurar cuántos minutos de búfer se conceden para guardar el trabajo de los usuarios que han iniciado sesión antes de que la operación se ejecute forzosamente.

Ventajas

Mejora de la experiencia del usuario y la continuidad

  • Gestión de sesiones sin interrupciones: En lugar de desconexiones abruptas, puede definir una notificación profesional para guardar el trabajo antes de que la máquina virtual se apague.
  • Tiempo de inactividad programado: Puede trasladar las tareas de actualización pesadas a horas de menor actividad (por ejemplo, las 2:00 AM) sin necesidad de iniciar sesión manualmente en ese momento.
  • Actualizaciones de hardware rentables: La actualización de hardware mediante la Ventana de servicio ahorra costes significativos en implementaciones grandes. Esta función analiza automáticamente si una máquina virtual requiere un reinicio para aplicar la configuración. Por lo tanto, al evitar reinicios innecesarios, la Ventana de servicio minimiza estos gastos.

Flexibilidad de hardware avanzada

  • Actualizar configuraciones de hardware: Utilice la Ventana de servicio para programar las actualizaciones de hardware. El sistema gestiona de forma inteligente el flujo de actualización, comprobando la necesidad de reinicio y gestionando los cierres de sesión, lo que garantiza que su catálogo evolucione para satisfacer las nuevas demandas de recursos sin supervisión manual.
  • Reconfiguración flexible de SKU: Actualice fácilmente los SKU, lo que antes requería la recreación manual del catálogo.
  • Soporte de hibernación para máquinas virtuales existentes: Supera la limitación del “disco temporal”. La ventana de servicio permite que el controlador MCSIO reubique el archivo de paginación en la unidad C: y habilite las propiedades de hibernación en las máquinas virtuales que ya estaban implementadas.

Consideración importante

  • Notificación al usuario: Los usuarios que han iniciado sesión reciben una alerta inicial sobre la operación de la ventana de servicio, lo que les garantiza tiempo suficiente para guardar su trabajo. Una vez que expira el período de notificación, la máquina se apaga automáticamente para realizar la operación.

Operaciones de la ventana de servicio

La ventana de servicio actualmente admite restablecimientos de disco del sistema operativo, reparación de cuentas de Active Directory para catálogos aprovisionados por MCS existentes, habilitación de la unión híbrida de Entra para catálogos aprovisionados por MCS existentes y cambios en la configuración de hardware. Estas operaciones se pueden realizar mediante Web Studio o PowerShell.

Web Studio: Actualmente, compatible exclusivamente con entornos de Azure. Para obtener orientación, consulte los artículos específicos del hipervisor.

Comandos de PowerShell: Los comandos genéricos se describen en este artículo, mientras que los scripts detallados y específicos del hipervisor se pueden encontrar en nuestra página de GitHub https://github.com/citrix/citrix-mcs-sdk-samples/.

Restablecer disco del SO

Los restablecimientos del disco del sistema operativo se pueden realizar utilizando el comando de PowerShell New-ProvMaintenanceCycle. Los comandos crean una nueva ventana de servicio para un catálogo completo o máquinas virtuales específicas. El ciclo comienza a la hora que especifique en ScheduledStartTimeInUTC. También debe proporcionar MaxDurationInMinutes, que indica el tiempo máximo que puede ejecutarse la ventana de servicio.

Ejemplo: Restablecer disco del sistema operativo para máquinas virtuales específicas

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-->
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-->

Actualizar la configuración de hardware

Programe las actualizaciones de hardware utilizando la ventana de servicio, lo que le permite tener control total sobre cuándo surten efecto los cambios. Puede optar por dirigirse solo a las máquinas virtuales recién creadas, a un catálogo completo (máquinas virtuales nuevas y existentes) o a máquinas virtuales específicas según sea necesario.

  • Para actualizar la configuración de hardware para máquinas virtuales nuevas o para todo el catálogo, seleccione una versión del esquema de aprovisionamiento y ejecute el comando de PowerShell New-ProvSchemeHardwareUpdate. Puede aplicar una versión del esquema de aprovisionamiento creada previamente a las máquinas virtuales. También puede habilitar la hibernación en una máquina virtual con disco temporal.
  • Para actualizar la configuración de hardware de VM específicas, seleccione una versión de configuración de VM y ejecute el comando de PowerShell New-ProvVmHardwareUpdate.

Consideraciones importantes

  • Las nuevas máquinas añadidas a un catálogo después de programar una actualización de hardware se seguirán creando con especificaciones antiguas hasta la hora UTC especificada para aplicar las nuevas especificaciones.
  • Un único error de validación durante la creación de la ventana de servicio impide que se cree el ciclo y devuelve un mensaje de error.
  • Para habilitar la hibernación, tenga en cuenta lo siguiente:
    • La versión de VDA debe ser superior a 2503.
    • Debe instalarse Machine Creation Services I/O (MCSIO).
    • El perfil de la máquina debe admitir la hibernación.
    • La SKU de la VM y el sistema operativo deben admitir la hibernación.
    • Si VBS está habilitado, Hyper-V también debe estarlo. La virtualización anidada requiere el inicio de confianza (Trusted Launch) en la VM.
    • El tamaño libre del disco del sistema operativo debe ser mayor que el tamaño de la memoria de la VM.

Programar actualizaciones de hardware en un catálogo de máquinas completo o en nuevas VM

  1. Ejecute New-ProvSchemeVersion para crear una nueva versión del esquema de aprovisionamiento con la configuración de hardware actualizada. Para obtener más información, consulte la documentación del SDK.
  2. Ejecute el comando de PowerShell New-ProvSchemeHardwareUpdate para programar una ventana de servicio para las actualizaciones de hardware, tal como se especifica en la versión del esquema de aprovisionamiento.

Ejemplo: AllVMs (nuevas y existentes) en el catálogo de máquinas se consideran para la actualización:

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-->

Ejemplo: NewVMsOnly (nuevos y existentes) en el catálogo de máquinas se consideran para la actualización:

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-->

Ejecute Get-ProvSchemeHardwareUpdate para recuperar los objetos de la ventana de servicio asociados con las actualizaciones del esquema de hardware. Ejemplo:

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

Programar actualizaciones de hardware en VM específicas

  1. Ejecute New-ProvVmConfiguration para crear una nueva configuración de VM de aprovisionamiento. Para obtener más información, consulte la documentación del SDK.

  2. Ejecute el comando de PowerShell New-ProvVmHardwareUpdate para programar una ventana de servicio para las actualizaciones de hardware, tal como se especifica en la versión de configuración de la VM.

Nota:

Para cada VM, cualquier configuración personalizada (versión de configuración de VM) siempre tiene prioridad sobre las especificaciones definidas en la versión del esquema de aprovisionamiento. Si una configuración particular no está personalizada en la VM, su valor se hereda de la versión del esquema de aprovisionamiento asociado.

Ejemplo:

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

Ejecute Get-ProvVmHardwareUpdate para recuperar los objetos de la ventana de servicio asociados con las actualizaciones de VM de hardware. Ejemplo:

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

También puede eliminar una personalización utilizada para crear versiones de VM de aprovisionamiento mediante el comando Remove-ProvVmConfiguration. Ejemplo:

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

Reparar la cuenta de AD para catálogos existentes

Puede reparar las cuentas de equipo de Active Directory (AD) para catálogos de máquinas MCS existentes unidos a AD local y a Microsoft Entra Hybrid mediante la ventana de servicio. Esto es útil cuando las VM han perdido la confianza del dominio. Esta función se aplica tanto a los catálogos de máquinas MCS persistentes como a los no persistentes.

Para reparar las cuentas de AD de un catálogo de máquinas MCS existente, puede usar comandos de PowerShell para completar los siguientes pasos:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute el comando New-ProvIdentityUpdate de cualquiera de las siguientes maneras:

    • Para reparar la cuenta de AD de máquinas virtuales específicas por nombre:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Para programar la operación para un momento futuro en lugar de iniciarla inmediatamente:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. Ejecute Get-ProvMaintenanceCycle para comprobar el estado del ciclo de mantenimiento.

Para obtener más información, consulte Citrix PowerShell SDK

Nota:

  • Esta función se aplica únicamente a los catálogos de máquinas MCS unidos a Active Directory local y a Microsoft Entra Hybrid. No es compatible con máquinas unidas a Entra ID ni con máquinas no unidas a un dominio.
  • El grupo de identidades del esquema de aprovisionamiento debe tener una cuenta de servicio de Active Directory local con permisos suficientes para restablecer la contraseña de la cuenta de equipo en el dominio.

Habilitar la unión híbrida de Entra para catálogos aprovisionados por MCS existentes

Ahora puede convertir los catálogos de máquinas MCS unidos a Active Directory local existentes en catálogos unidos a Microsoft Entra Hybrid mediante la ventana de servicio. Esta función se aplica a los catálogos de máquinas MCS persistentes y no persistentes.

Para habilitar la unión híbrida de Entra para un catálogo de máquinas MCS existente, puede usar comandos de PowerShell para completar los siguientes pasos:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute el comando New-ProvIdentityUpdate de cualquiera de las siguientes maneras:

    • Para habilitar la unión híbrida de Entra para todas las máquinas virtuales de un catálogo inmediatamente:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Para habilitar la unión híbrida de Entra para máquinas virtuales específicas por nombre: :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • Para habilitar la unión híbrida de Entra y especificar una OU de destino para las nuevas máquinas virtuales:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow -OU "OU=SyncedDevices,DC=example,DC=com"
       <!--NeedCopy-->
      
    • Para programar la operación para un momento futuro en lugar de iniciarla inmediatamente:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. Ejecute Get-ProvMaintenanceCycle para comprobar el estado del ciclo de mantenimiento.

Para obtener más información, consulte Citrix PowerShell SDK

Nota:

  • Para asegurarse de que el catálogo funcione correctamente, debe convertir todas las máquinas virtuales existentes en el catálogo a unidas a Microsoft Entra híbrido.
  • Esta función no es compatible con los catálogos aprovisionados por MCS que comparten un grupo de identidades.
  • La imagen base del esquema de aprovisionamiento existente debe tener instalada la versión 2212 o posterior de VDA; consulte Requisitos para la unión híbrida de Microsoft Entra.
  • El grupo de identidades del esquema de aprovisionamiento debe tener una cuenta de servicio de Active Directory local con permiso para establecer la propiedad userCertificate en el dominio.
  • Asegúrese de que la OU que contiene las cuentas de equipo esté configurada para sincronizarse con Entra ID a través de Microsoft Entra Connect. Tiene dos opciones:

    • Configure Azure AD Connect para sincronizar dispositivos desde la OU original con Entra ID.
    • Mueva manualmente las cuentas de equipo existentes a una OU configurada para la sincronización de Azure AD Connect.

Comandos de PowerShell varios asociados con la ventana de servicio

  • Get-ProvMaintenanceCycle: Recupera información de todas las ventanas de servicio. Ejemplo:

     Get-ProvMaintenanceCycle -MaintenanceCycleId 10073b8e-7e94-4527-8580-0e448eae0ad1
     <!--NeedCopy-->
    
  • Get-ProvMaintenanceCycleVM: Recupera información de cada operación de Ventana de servicio para máquinas virtuales individuales, junto con su estado. Ejemplo:

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

    Los distintos estados de Ventana de servicio son:

    • En ejecución
    • Fallido
    • Completado
    • Cancelando
    • Cancelado
    • No procesado
    • Pendiente
    • Incompleto
    • Reparado
    • Recuperando
  • Remove-ProvMaintenanceCycle: Elimina una Ventana de servicio cuando esta no está activa. Ejemplo:

     Remove-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Cancel-ProvMaintenanceCycle: Si la operación aún no ha sido iniciada por MCS en una máquina virtual, este comando de PowerShell cancela la operación. MCS no cancela una operación que se esté ejecutando actualmente en la máquina virtual. Ejemplo:

     Cancel-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Restart-ProvMaintenanceCycle: Si una Ventana de servicio ha fallado o está incompleta debido a causas externas, como que el hipervisor esté inactivo o por tiempo insuficiente, este comando ayuda a reiniciar el ciclo y procesar cualquier trabajo fallido o no procesado. Ejemplo:

     Restart-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ScheduledStartTimeInUTC "June 19th 2024, 6AM" -MaxAllocatedDurationInMinutes 400
     <!--NeedCopy-->
    
  • Update-ProvMaintenanceCycle: Si ya hay una ventana de servicio programada y no ha comenzado, este comando modifica ciertos parámetros.

    Ejemplo: Actualizar la duración máxima:

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

    Ejemplo: Actualizar las máquinas virtuales para un esquema de aprovisionamiento:

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

Pasos siguientes

Para administrar las operaciones de la ventana de servicio mediante Web Studio en Azure, consulte Operaciones de la ventana de servicio en Azure.