Citrix Virtual Apps and Desktops

Administrar un catálogo de Microsoft Azure

Administrar catálogos de máquinas describe los asistentes que administran un catálogo de máquinas. La siguiente información cubre detalles específicos de los entornos de nube de Microsoft Azure Resource Manager.

Nota:

Antes de administrar un catálogo de Microsoft Azure, debe terminar de crear un catálogo de Microsoft Azure. Consulte Crear un catálogo de Microsoft Azure.

Cambiar el tipo de almacenamiento a un nivel inferior cuando una VM está apagada

Puede ahorrar costes de almacenamiento cambiando el tipo de almacenamiento de un disco administrado a un nivel inferior cuando apaga una VM. Para ello, utilice la propiedad personalizada StorageTypeAtShutdown.

El tipo de almacenamiento del disco cambia a un nivel inferior (como se especifica en la propiedad personalizada StorageTypeAtShutdown) cuando apaga la VM. Después de encender la VM, el tipo de almacenamiento vuelve al original (como se especifica en la propiedad personalizada StorageType o la propiedad personalizada WBCDiskStorageType).

Importante:

El disco no existe hasta que la VM se enciende al menos una vez. Por lo tanto, no puede cambiar el tipo de almacenamiento la primera vez que enciende la VM.

Requisitos

  • Aplicable a un disco administrado. Esto implica que se establece la propiedad personalizada UseManagedDisks en true.
  • Aplicable a un catálogo persistente y no persistente con un disco de SO persistente. Esto implica que se establece la propiedad personalizada persistOsDisk en true.
  • Aplicable a un catálogo no persistente con un disco WBC persistente. Esto implica que se establece la propiedad personalizada persistWBC en true.

Restricción

  • Según Microsoft, solo puede cambiar el tipo de disco dos veces al día. Consulte el documento de Microsoft. Según Citrix, la actualización StorageType se produce cada vez que hay una acción de inicio o desasignación para la VM. Por lo tanto, limite el número de acciones de encendido por VM a dos veces al día. Por ejemplo, una acción de encendido por la mañana para iniciar la VM y otra por la noche para desasignar la VM.

Cambiar el tipo de almacenamiento a un nivel inferior

Antes de continuar con los pasos, consulte los Requisitos y la Restricción.

  1. Agregue la propiedad personalizada StorageTypeAtShutdown, establezca el valor en Standard_LRS (HDD) y cree un catálogo mediante New-ProvScheme. Para obtener información sobre cómo crear un catálogo mediante PowerShell, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

    Nota:

    Si StorageTypeAtShutdown tiene un valor distinto de vacío o Standard_LRS (HDD), la operación falla.

    Ejemplo de cómo establecer propiedades personalizadas al crear un catálogo persistente:

    $customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
    <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    Ejemplo de cómo establecer propiedades personalizadas al crear un catálogo no persistente:

    $customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
    <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
    <Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
    <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
    <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
    <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
    <Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
    <Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
    <Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    

    Nota:

    Cuando se utiliza un perfil de máquina, la propiedad personalizada tiene prioridad sobre la propiedad definida en MachineProfile.

  2. Apague la VM y compruebe el tipo de almacenamiento de la VM en el portal de Azure. El tipo de almacenamiento del disco cambia a un nivel inferior, tal como se especifica en la propiedad personalizada StorageTypeAtShutdown.
  3. Encienda la VM. El tipo de almacenamiento del disco vuelve al tipo de almacenamiento mencionado en:
    • Propiedad personalizada StorageType para el disco del SO
    • Propiedad personalizada WBCDiskStorageType para el disco WBC solo si la especifica en CustomProperties. De lo contrario, vuelve al tipo de almacenamiento mencionado en StorageType.

Aplicar StorageTypeAtShutdown a un catálogo existente

Antes de continuar con los pasos, consulte los Requisitos y la Restricción.

Utilice Set-ProvScheme para añadir una VM a un catálogo existente. La función se aplica a las nuevas VM añadidas después de ejecutar Set-ProvScheme. Las máquinas existentes no se ven afectadas.

Ejemplo de cómo establecer propiedades personalizadas al añadir una VM a un catálogo existente:

$customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
<Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
<Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
<Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
<Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
<Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
</CustomProperties>'

$ProvScheme = Get-Provscheme -ProvisioningSchemeName $CatalogName

Set-ProvScheme -ProvisioningSchemeName $ProvScheme.ProvisioningSchemeName -CustomProperties $customProperties
<!--NeedCopy-->

Cambiar el tipo de almacenamiento de las VM existentes a un nivel inferior al apagarlas

Antes de continuar con los pasos, consulte los Requisitos y la Restricción.

Puede ahorrar costes de almacenamiento cambiando el tipo de almacenamiento de las VM existentes a un nivel inferior cuando las VM se apagan. Para ello, utilice la propiedad personalizada StorageTypeAtShutdown.

Para cambiar el tipo de almacenamiento de las máquinas existentes en un catálogo a un nivel inferior cuando las VM se apagan:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix®* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute Get-Provscheme -ProvisioningSchemeName $CatalogName.
  4. Cambie la cadena de propiedades personalizadas.

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
    </CustomProperties>'
    <!--NeedCopy-->
    
  5. Actualice el esquema de aprovisionamiento del catálogo existente. La actualización se aplica a las nuevas VM añadidas después de ejecutar Set-ProvScheme.

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Actualice las VM existentes para habilitar StorageTypeAtShutdown.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. La próxima vez que encienda las máquinas, se actualizará la propiedad StorageTypeAtShutdown de las máquinas. El tipo de almacenamiento cambia en el siguiente apagado.
  8. Ejecute el siguiente comando para ver el valor StorageTypeAtShutdown de cada VM en un catálogo:

    Get-ProvVM -ProvisioningSchemeName <catalog-name> | foreach { $vmName = $_.VMName; $storageTypeAtShutdown = ($_.CustomVmData | ConvertFrom-Json).StorageTypeAtShutdown.DiskStorageAccountType; return New-Object psobject -Property @{ "VMName" = $vmName; "StorageTypeAtShutdown" = $storageTypeAtShutdown } }
    <!--NeedCopy-->
    

Actualizar las máquinas aprovisionadas al estado actual del esquema de aprovisionamiento

El comando Set-ProvScheme cambia el esquema de aprovisionamiento. Sin embargo, no afecta a las máquinas existentes. Con el comando de PowerShell Set-ProvVMUpdateTimeWindow, puede aplicar el esquema de aprovisionamiento actual a una máquina o conjunto de máquinas persistentes o no persistentes existentes. También puede programar un intervalo de tiempo para las actualizaciones de configuración de las máquinas existentes aprovisionadas por MCS. Cualquier encendido o reinicio durante el intervalo de tiempo programado aplica una actualización programada del esquema de aprovisionamiento a una máquina. Actualmente, en Azure, puede actualizar ServiceOffering, MachineProfile y las siguientes propiedades personalizadas:

  • StorageType
  • WBCDiskStorageType
  • IdentityDiskStorageType
  • LicenseType
  • DedicatedHostGroupId
  • PersistWBC
  • PersistOsDisk
  • PersistVm

Nota:

  • Solo puede actualizar las propiedades personalizadas StorageType, WBCDiskStorageType y IdentityDiskStorageType para un catálogo que utilice discos administrados en entornos de Azure.
  • Si ejecuta Set-ProvVMUpdateTimeWindow dos veces, el comando más reciente surte efecto.

Puede actualizar:

  • Una sola VM
  • Una lista de VM específicas o todas las VM existentes asociadas a un ID de esquema de aprovisionamiento
  • Una lista de máquinas virtuales específicas o todas las máquinas virtuales existentes asociadas a un nombre de esquema de aprovisionamiento (nombre de catálogo de máquinas)

Después de realizar los siguientes cambios en el esquema de aprovisionamiento, la instancia de VM se vuelve a crear para los catálogos persistentes en Azure:

  • Cambiar MachineProfile
  • Quitar LicenseType
  • Quitar DedicatedHostGroupId

Nota:

El disco del sistema operativo de las máquinas existentes, junto con todos sus datos, permanece tal cual y se adjunta una nueva VM al disco.

Antes de actualizar las máquinas virtuales existentes:

  1. Compruebe la configuración de las máquinas existentes. Por ejemplo,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Actualice el esquema de aprovisionamiento. Por ejemplo,

    • Con la VM como entrada de perfil de máquina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • Con la especificación de plantilla como entrada de perfil de máquina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog"
       -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
       -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
    • Solo con la oferta de servicio:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Compruebe si la propiedad actual de la VM coincide con el esquema de aprovisionamiento actual y si hay alguna acción de actualización pendiente en la VM. Por ejemplo,

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    También puede encontrar máquinas con una versión determinada. Por ejemplo,

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Para solicitar que las actualizaciones de las máquinas existentes se apliquen en el siguiente reinicio:

  1. Ejecute los siguientes comandos para actualizar las máquinas existentes y que las actualizaciones se apliquen en el siguiente reinicio.

    • Para actualizar todas las máquinas existentes. Por ejemplo:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Para actualizar una lista de máquinas específicas. Por ejemplo:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Para actualizar máquinas según la salida de Get-ProvVM. Por ejemplo:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      

    Nota:

    • StartsNow indica que la hora de inicio programada es la hora actual.
    • DurationInMinutes con un número negativo (por ejemplo, –1) indica que no hay límite superior en el período de tiempo de la programación.
  2. Buscar máquinas con una actualización programada. Por ejemplo:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. Reinicie las máquinas. En el siguiente encendido, los cambios de propiedades se aplican a las máquinas existentes. Puede comprobar el estado actualizado con el siguiente comando. Por ejemplo:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

Para programar una máquina virtual para que se actualice a la configuración de aprovisionamiento más reciente la próxima vez que se inicie en el período de tiempo programado:

  1. Ejecute los siguientes comandos:

    • Para programar una actualización con la hora de inicio como la hora actual

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
       <!--NeedCopy-->
      
    • Para programar una actualización en un fin de semana

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” -StartTimeInUTC “10/15/2022 9:00am” -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes
       <!--NeedCopy-->
      

    Nota:

    • VMName es opcional. Si no se especifica, la actualización se programa para todo el catálogo.
    • En lugar de StartTimeInUTC, use StartsNow para indicar que la hora de inicio programada es la hora actual.
    • DurationInMinutes es opcional. El valor predeterminado es 120 minutos. Un número negativo (por ejemplo, –1) indica que no hay límite superior en la ventana de tiempo de la programación.
  2. Compruebe el estado de la actualización.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. Encienda la VM. Si enciende la máquina después de la franja horaria programada, no se aplica la actualización de la configuración. Si enciende la máquina dentro de la franja horaria programada,

    • Si la máquina está apagada y

      • no enciende la máquina, no se aplica la actualización de la configuración
      • enciende la máquina, se aplica la actualización de la configuración
    • Si la máquina está encendida y

      • no reinicia la máquina, no se aplica la actualización de la configuración
      • reinicia la máquina, se aplica la actualización de la configuración

Para cancelar la actualización de la configuración:

También puede cancelar una actualización de configuración de una sola VM, varias VM o un catálogo completo. Para cancelar una actualización de configuración:

  1. Ejecute Clear-ProvVMUpdateTimeWindow. Por ejemplo:

    • Para cancelar la actualización de la configuración programada para una sola VM:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • Para cancelar la actualización de configuración programada para varias máquinas virtuales:

       Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      

      Nota:

      Las máquinas virtuales deben ser del mismo catálogo.

Actualizar propiedades de máquinas virtuales individuales

Puede actualizar las propiedades de máquinas virtuales individuales en un catálogo de máquinas MCS persistente mediante el comando de PowerShell Set-ProvVM. Sin embargo, las actualizaciones no se aplican de inmediato. Debe establecer el período de tiempo mediante el comando de PowerShell Set-ProvVMUpdateTimeWindow para que se apliquen las actualizaciones.

Esta implementación le ayuda a administrar máquinas virtuales individuales de manera eficiente sin actualizar todo el catálogo de máquinas. Actualmente, esta función solo se aplica al entorno de Azure.

Actualmente, las propiedades que puede actualizar son:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

Con esta función, puede:

Antes de actualizar las propiedades de una máquina virtual:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Compruebe la configuración del catálogo de máquinas existente. Por ejemplo:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. Compruebe la configuración de la VM en la que quiere aplicar las actualizaciones. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

Actualizar las propiedades de una VM

Siga estos pasos para actualizar las propiedades de una VM:

  1. Apague la VM en la que quiere aplicar las actualizaciones.
  2. Actualice las propiedades de la VM. Por ejemplo, si quiere actualizar la propiedad personalizada del tipo de almacenamiento (StorageType) de la VM, ejecute lo siguiente:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    

    Puede actualizar las propiedades de dos VM en un catálogo de máquinas simultáneamente. Por ejemplo:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    
    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine2 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    

    Nota:

    Las actualizaciones no se aplican de inmediato.

  3. Obtenga la lista de propiedades que se van a actualizar y la versión de configuración. Por ejemplo:

    Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Compruebe el valor de la propiedad de Version y las propiedades que se van a actualizar (en este caso, StorageType).

  4. Compruebe la versión de configuración. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Compruebe el valor de la propiedad de ProvVMConfigurationVersion. La actualización aún no se ha aplicado. La VM sigue en la configuración antigua.

  5. Solicite una actualización programada. Por ejemplo:

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

    Para obtener más información sobre las actualizaciones programadas, consulte Actualizar máquinas aprovisionadas al estado actual del esquema de aprovisionamiento.

    Nota:

    También se aplica cualquier actualización pendiente del esquema de aprovisionamiento.

  6. Reinicie la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. Compruebe la versión de la configuración. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Compruebe el valor de la propiedad de ProvVMConfigurationVersion. La actualización ya se ha aplicado. La VM ahora tiene la nueva configuración.

  8. Para aplicar más actualizaciones de configuración en la VM, apague la VM y repita los pasos.

Conservar las propiedades actualizadas en una VM después de actualizar el catálogo de máquinas

Haga lo siguiente para conservar las propiedades actualizadas en una VM:

  1. Apague la VM en la que desea aplicar las actualizaciones.
  2. Actualice el catálogo de máquinas. Por ejemplo, si desea cambiar el tamaño de la VM (ServiceOffering) y el tipo de almacenamiento (StorageType), ejecute lo siguiente:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. Obtenga los detalles de configuración del catálogo de máquinas. Por ejemplo:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    

    Ahora, ProvisioningSchemeVersion se incrementa en uno. El tamaño de la VM y el tipo de almacenamiento también se actualizan.

  4. Actualice las propiedades de la VM. Por ejemplo, proporcione un perfil de máquina a la VM.

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
    <!--NeedCopy-->
    

    Nota:

    La entrada del perfil de la máquina tiene una etiqueta y un tamaño de VM diferente (ServiceOffering) especificados.

  5. Obtenga la lista de propiedades que tendrá la VM después de fusionar las actualizaciones de configuración de la VM con las actualizaciones del catálogo de máquinas. Por ejemplo:

    Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Nota:

    Cualquier actualización en la VM anulará las actualizaciones realizadas en el catálogo de máquinas.

  6. Solicite una actualización programada para la VM. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Reinicie la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    

    La VM mantiene su tamaño de VM actualizado, derivado del perfil de la máquina. Los valores de las etiquetas especificados en el perfil de la máquina también se aplican a la VM. Sin embargo, el tipo de almacenamiento se deriva del esquema de aprovisionamiento más reciente.

  8. Obtenga la versión de configuración de la VM. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Ahora, ProvisioningSchemeVersion y ProvVMConfigurationVersion muestran la versión más reciente.

Revertir las actualizaciones de configuración aplicadas a una VM

  1. Después de aplicar las actualizaciones a una VM, apague la VM.
  2. Ejecute el siguiente comando para eliminar las actualizaciones aplicadas a la VM. Por ejemplo:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. Solicite una actualización programada para la VM. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Reinicie la VM. Por ejemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. Compruebe la versión de configuración de la VM. Por ejemplo:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    El valor ProvVMConfigurationVersion es ahora la versión de configuración del catálogo de máquinas.

Cambiar el cifrado de disco

Puede cambiar el cifrado de disco en entornos de virtualización de Azure y hacer lo siguiente:

  • Cree un catálogo de máquinas MCS con un conjunto de cifrado de disco (DES) diferente del DES de la imagen maestra mediante el comando New-ProvScheme. Por ejemplo:

     $customProperties = @"
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="DiskEncryptionSetId" Name="Zones" Value="/subscriptions/XXXXXXXXXXXXXXXXXXXXXXXXXXXXX/resourceGroups/testrsg/providers/Microsoft.Compute/diskEncryptionSets/test-diskEncryptionSet"/>
     </CustomProperties>
     "@
     New-ProvScheme -CleanOnBoot `
     -ProvisioningSchemeName $provisioningSchemeName `
     -HostingUnitName $hostingUnitName `
     -IdentityPoolName $identityPoolName `
     -InitialBatchSizeHint $numberOfVms `
     -masterImagePath $masterImagePath `
     -NetworkMapping $networkMapping `
     -CustomProperties $customProperties
     <!--NeedCopy-->
    
  • Cambie el tipo de cifrado de disco de una clave DES a otra clave DES de un catálogo de máquinas MCS existente y de las VM existentes mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Después de reiniciar las VM, podrá ver la clave DES actualizada. Por ejemplo:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Actualice un catálogo de máquinas MCS y una VM que no estaban habilitados previamente para CMEK para que tengan cifrado de clave de cifrado administrada por el cliente (CMEK) (DES), cifrado de disco en el host o cifrado doble mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Para obtener información sobre los diferentes tipos de cifrado, consulte Cifrado del lado del servidor de Azure, Cifrado de disco de Azure en el host y Cifrado doble en disco administrado.

  • Actualice un catálogo de máquinas MCS y las VM existentes para que no estén cifrados, si estaban cifrados previamente, mediante los comandos Set-ProvScheme y Set-ProvVMUpdateTimeWindow. Por ejemplo:

     $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
     </CustomProperties>'
     Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    
  • Habilite el cifrado de disco con un punto de conexión privado (un catálogo de máquinas MCS que utilizó una conexión de host habilitada con ProxyHypervisorTrafficThroughConnector). Para obtener información sobre cómo habilitar el cifrado de disco con puntos de conexión privados, consulte Habilitar el cifrado de disco con punto de conexión privado.

Habilitar el cifrado de disco con punto de conexión privado

Según la limitación de Azure, actualmente no se puede tener cifrado del lado del servidor con claves administradas por el cliente para puntos de conexión privados. Sin embargo, puede actualizar un catálogo de máquinas MCS existente y las VM con puntos de conexión privados para que se cifren con la clave DES.

Actualizar un catálogo de máquinas existente con puntos de conexión privados

Los pasos detallados para actualizar un catálogo de máquinas existente con puntos de conexión privados son los siguientes:

  1. Cree un catálogo sin cifrado de disco a través de ProxyHypervisorTrafficThroughConnector.
  2. Ejecute Set-ProvScheme para actualizar el catálogo con DiskEncryptionSetId.

    Nota:

    DiskEcryptionSetId se puede configurar a través de CustomProperties o MachineProfile. Cuando se define tanto en CustomProperties como en MachineProfile, se aplican las propiedades definidas en CustomProperties.

    Ejemplo al usar CustomProperties:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1"/>
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    

    Ejemplo al usar MachineProfile: Use una VM que tenga el cifrado de disco habilitado o una especificación de plantilla con la configuración de cifrado de disco:

    Set-ProvScheme -ProvisioningSchemeName azure-catalog -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    

    Alternativamente, puede actualizar un perfil de máquina mediante Web Studio.

  3. Ejecute Set-ProvVMUpdateTimeWindow para actualizar las VM de catálogo existentes. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Después de reiniciar las VM, puede ver el cifrado de disco actualizado en los discos de la VM en el portal de Azure.
  5. Ejecute Set-ProvScheme para deshabilitar el cifrado de disco antes de agregar nuevas VM al catálogo.

    Nota:

    Este paso es necesario porque está actualizando un catálogo de puntos de conexión privados. Si no realiza este paso, recibirá errores al intentar agregar nuevas VM al catálogo.

    Por ejemplo:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="" />
    </CustomProperties>'
    Set-ProvScheme -ProvisioningSchemeName azure-catalog -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Agregue nuevas VM al catálogo.

Actualizar VM de catálogo individuales

Los pasos detallados para actualizar las VM de catálogo individuales son los siguientes:

  1. Cree un catálogo sin cifrado de disco a través de ProxyHypervisorTrafficThroughConnector.
  2. Ejecute Set-ProvVM para actualizar la VM del catálogo con DiskEncryptionSetId.

    Nota:

    El DiskEcryptionSetId se puede configurar mediante CustomProperties o MachineProfile.

    Ejemplo al usar CustomProperties:

    $customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/456c683e2ed7/resourceGroups/testrg/providers/Microsoft.Compute/diskEncryptionSets/diskEncryptionSet1" />
    </CustomProperties>'
    Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -CustomProperties $customProperties
    <!--NeedCopy-->
    

    Ejemplo al usar MachineProfile:

    Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    
  3. Ejecute Set-ProvVMUpdateTimeWindow para actualizar las VM de catálogo existentes. Por ejemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Después de reiniciar las VM, puede ver el cifrado de disco actualizado en los discos de las VM en el portal de Azure.
  5. Agregue nuevas VM al catálogo.

Usar disco temporal como disco WBC para catálogos existentes

Puede usar el disco temporal de Azure como disco de caché de reescritura (WBC) para los catálogos de máquinas MCS existentes. Utilice el comando de PowerShell Set-ProvScheme para actualizar los catálogos y las VM existentes.

Requisitos previos

El catálogo existente debe cumplir las siguientes condiciones:

Nota:

Si el catálogo existente no cumple los siguientes requisitos, el disco WBC no se ubicará dentro del disco temporal.

  • MCSIO está habilitado: Las propiedades personalizadas WriteBackCacheMemorySize, WriteBackCacheDiskSize y UseWriteBackCache están habilitadas.
  • El disco de SO efímero no está habilitado.
  • WBC no es persistente: PersistWBC es false.
  • UseTempDiskForWBC es nulo o falso.
  • El tamaño del disco temporal debe ser mayor que el tamaño total de (el tamaño del disco de caché de reescritura + espacio reservado para el archivo de paginación + 1 GB de espacio de búfer).

Importante:

No se permite cambiar una oferta de servicio de una con un disco temporal a una sin él, o viceversa.

Actualizar catálogos existentes

Para actualizar un catálogo existente, ejecute los siguientes comandos:

  1. Ejecute Set-ProvScheme en el catálogo existente para actualizar UseTempDiskForWBC a true. Por ejemplo:

    Set-ProvScheme -ProvisioningSchemeName name -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"Standard_LRS`"/><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"ManagedDisksPreview`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"False`"/><Property xsi:type=`"StringProperty`" Name=`"UseTempDiskForWBC`" Value=`"True`"/><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"False`"/></CustomProperties>"
    <!--NeedCopy-->
    
  2. Agregue nuevas máquinas al catálogo y enciéndalas. Las nuevas máquinas virtuales tienen un disco WBC dentro del disco temporal.

Recuperar información de máquinas virtuales de Azure, instantáneas, disco del SO y definición de imagen de galería

Puede mostrar información de una máquina virtual de Azure, incluidos el disco y el tipo de SO, la instantánea y la definición de imagen de galería. Esta información se muestra para los recursos de la imagen maestra cuando se asigna un catálogo de máquinas. Utilice esta funcionalidad para ver y seleccionar una imagen de Linux o Windows. Se agregó una propiedad de PowerShell, TemplateIsWindowsTemplate, al parámetro AdditionDatafield. Este campo contiene información específica de Azure: tipo de máquina virtual, disco del SO, información de imagen de galería e información de tipo de SO. Establecer TemplateIsWindowsTemplate en True indica que el tipo de SO es Windows; establecer TemplateIsWindowsTemplate en False indica que el tipo de SO es Linux.

Sugerencia:

La información que muestra la propiedad de PowerShell TemplateIsWindowsTemplate se deriva de la API de Azure. A veces, este campo puede estar vacío. Por ejemplo, una instantánea de un disco de datos no contiene el campo TemplateIsWindowsTemplate porque el tipo de SO no se puede recuperar de una instantánea.

Por ejemplo, establezca el parámetro AdditionData de la máquina virtual de Azure en True para el tipo de SO Windows mediante PowerShell:

PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->

Clonar un catálogo de MCS

Divida un catálogo de MCS persistente y no persistente existente en varios catálogos. Al crear un clon del esquema de aprovisionamiento original, puede aplicar diferentes directivas y configuraciones de nivel de catálogo a subconjuntos específicos de máquinas virtuales. Esta funcionalidad es especialmente útil cuando diferentes roles funcionales dentro de una organización, como Finanzas o Ejecutivos, requieren configuraciones de recursos diferentes (por ejemplo, límites de copia de seguridad) en comparación con los usuarios estándar.

Ejemplo de uso

Un administrador gestiona un catálogo grande de máquinas virtuales. El equipo ejecutivo requiere un mayor número de copias de seguridad de lo que permite la directiva estándar. El administrador utiliza el comando Copy-ProvScheme para clonar el esquema de aprovisionamiento de catálogo existente en un nuevo catálogo. Esto permite al administrador aplicar una directiva de copia de seguridad dedicada al nuevo catálogo Ejecutivo, manteniendo la configuración original para el resto de la organización.

Aplicabilidad

  • Entornos de Azure
  • Catálogos de MCS persistentes y no persistentes
  • Catálogos de Citrix Provisioning aprovisionados por MCS

Limitaciones

  • Esquema de aprovisionamiento: Solo se copia la versión más reciente del esquema de aprovisionamiento.
  • Programaciones de copia de seguridad: La programación de copia de seguridad no se copia al nuevo catálogo; el nuevo catálogo debe tener su propia programación de copia de seguridad configurada.
  • Grupos de identidades: Los objetos relacionados con la identidad no se clonan y permanecen compartidos utilizando el mismo ADAccountIdentityPool.
  • Grupos de entrega: Las operaciones de los grupos de entrega y las asignaciones de usuarios no se modifican ni se asocian durante el proceso de clonación.

Consideraciones importantes

  • Grupos de recursos (TargetLocation):

    • Si no proporciona un TargetLocation (grupo de recursos de Azure):
      • Para un grupo de recursos administrado por Citrix, se crea un nuevo grupo de recursos administrado por Citrix.
      • Para un grupo de recursos BYO (Bring Your Own), los nuevos recursos del esquema de aprovisionamiento se crean en el mismo grupo de recursos.
    • Si proporciona un TargetLocation:

      • Los recursos se crean en el grupo de recursos proporcionado.
      • El grupo de recursos especificado ya debe existir en Azure.
  • Instantánea de disco base: Siempre se hace una copia de la instantánea de disco base, independientemente de la configuración del grupo de recursos.

Requisitos previos

  • Debe haber un esquema de aprovisionamiento existente (catálogo de origen) disponible.
  • Si se especifica una ubicación de destino, el grupo de recursos de Azure de destino debe existir.

Configurar con PowerShell

  1. Abra una ventana de PowerShell.
  2. Ejecute el comando Copy-ProvScheme con los parámetros necesarios: SourceProvisioningSchemeName (o SourceProvisioningSchemeUid) y TargetProvisioningSchemeName.

    Ejemplo 1: Copiar un esquema de aprovisionamiento por nombre.

    Este ejemplo copia el esquema llamado “Backup” en un nuevo esquema llamado “TestCopy”.

    Copy-ProvScheme -SourceProvisioningSchemeName Backup -TargetProvisioningSchemeName TestCopy
    <!--NeedCopy-->
    

    Ejemplo 2: Copiar un esquema de aprovisionamiento por Uid a un grupo de recursos específico

    Este ejemplo copia un esquema usando su Uid y especifica un grupo de recursos de destino llamado “TestRg”.

    Copy-ProvScheme -SourceProvisioningSchemeUid 771e205d-1ee5-4ad2-b044-ecf3d7f24ec7 -TargetProvisioningSchemeName TestCopy -TargetLocation TestRg
    <!--NeedCopy-->
    

Identificar los recursos creados por MCS

A continuación, se muestran las etiquetas que MCS añade a los recursos. Las etiquetas de la tabla se representan como “clave”:”valor”.

Nombre del recurso Etiqueta
Disco de ID “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Imagen “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco del SO “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
PrepVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Instantánea publicada “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Grupo de recursos “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Cuenta de almacenamiento “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
VM en el catálogo “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco WBC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

Nota:

Una VM no es visible en el inventario de Citrix si se agrega una etiqueta CitrixResource para identificarla como un recurso creado por MCS. Puede quitar o cambiar el nombre de la etiqueta para que sea visible.

Quitar etiquetas

Al crear un catálogo o una VM, se crean etiquetas en los siguientes recursos:

  • Grupo de recursos
  • Máquina virtual
  • Disco del sistema operativo
  • Disco de identidad
  • Interfaz de red
  • Cuenta de almacenamiento

Puede eliminar máquinas virtuales y catálogos de máquinas de la base de datos de Citrix y eliminar etiquetas. Puede usar:

  • Remove-ProvVM con el parámetro ForgetVM para eliminar máquinas virtuales y etiquetas de una sola máquina virtual o de una lista de máquinas virtuales de un catálogo de máquinas.
  • Remove-ProvScheme con el parámetro ForgetVM para eliminar un catálogo de máquinas de la base de datos de Citrix y etiquetas de todo un catálogo de máquinas.

Esta función solo se aplica a las máquinas virtuales persistentes.

Para ello:

  1. Abra una ventana de PowerShell.
  2. Ejecute asnp citrix* para cargar los módulos de PowerShell específicos de Citrix.
  3. Ejecute Remove-ProvVM para eliminar máquinas virtuales de la base de datos de Citrix y etiquetas de las máquinas virtuales. Por ejemplo:

    Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM
    <!--NeedCopy-->
    
  4. Ejecute Remove-ProvScheme para eliminar el catálogo de máquinas de la base de datos de Citrix y las etiquetas de los catálogos de máquinas. Por ejemplo:

    Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM
    <!--NeedCopy-->
    

    Nota:

    Después de usar el parámetro ForgetVM en Remove-ProvScheme, MCS elimina todas las instantáneas, incluida la instantánea del disco base, si el esquema de aprovisionamiento está presente en un grupo de recursos propio (BYORG) o en un grupo de recursos administrado por Citrix.

Más información