Citrix Virtual Apps and Desktops

Gerenciar um catálogo do Microsoft Azure

Gerenciar catálogos de máquinas descreve os assistentes que gerenciam um catálogo de máquinas. As informações a seguir abrangem detalhes específicos dos ambientes de nuvem do Microsoft Azure Resource Manager.

Nota:

Antes de gerenciar um catálogo do Microsoft Azure, você precisa concluir a criação de um catálogo do Microsoft Azure. Consulte Criar um catálogo do Microsoft Azure.

Converter um catálogo de máquinas não baseado em perfil de máquina em um catálogo de máquinas baseado em perfil de máquina

Você pode usar uma especificação de VM ou modelo como entrada de perfil de máquina para converter um catálogo de máquinas não baseado em perfil de máquina em um catálogo de máquinas baseado em perfil de máquina. As VMs existentes e as novas VMs adicionadas ao catálogo obtêm valores de propriedades do perfil da máquina, a menos que sejam substituídas por propriedades personalizadas explícitas.

Nota:

Um catálogo de máquinas existente baseado no perfil da máquina não pode ser alterado para um catálogo de máquinas que não baseado no perfil da máquina.

Para isso:

  1. Crie um catálogo de máquinas persistente ou não persistente com VMs e sem um perfil de máquina.
  2. Abra uma janela do PowerShell.
  3. Execute o comando Set-ProvScheme para aplicar os valores das propriedades do perfil da máquina às novas VMs adicionadas ao catálogo de máquinas. Por exemplo:

    Set-ProvScheme = Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\machineprofile.folder<ResourceGroupName><TemplateSpecName><VersionName>
    <!--NeedCopy-->
    
  4. Execute o comando Set-ProvVMUpdateTimeWindow para aplicar os valores das propriedades do perfil da máquina às VMs existentes do catálogo de máquinas. Por exemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName xxxx -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  5. Reinicialize as VMs existentes para obter os valores das propriedades do perfil da máquina.

Preserve uma máquina virtual provisionada durante o ciclo de energia

Escolha se deseja preservar uma máquina virtual provisionada durante o ciclo de energia. Use o parâmetro do PowerShell New-ProvScheme CustomProperties. Esse parâmetro oferece suporte a uma propriedade extra, PersistVm, usada para determinar se uma máquina virtual provisionada persiste quando a energia é desligada. Defina a propriedade PersistVm como true para manter uma máquina virtual quando desligada ou defina a propriedade como false para garantir que a máquina virtual não seja preservada quando desligada.

Nota:

A propriedade PersistVm só se aplica a um esquema de provisionamento com as propriedades CleanOnBoot e UseWriteBackCache habilitadas. Se a propriedade PersistVm não for especificada para máquinas virtuais não persistentes, elas serão excluídas do ambiente do Azure quando desligadas.

No exemplo a seguir, o parâmetro New-ProvScheme CustomProperties define a propriedade PersistVm como true:

<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="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->

No exemplo a seguir, o New-ProvScheme CustomProperties parâmetro preserva o cache de gravação PersistVM definindo como true:

 New-ProvScheme
 -AzureAdJoinType "None"
 -CleanOnBoot
 -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=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
 -HostingUnitName "demo"
 -IdentityPoolName "NonPersistent-MCSIO-PersistVM"
 -MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
 -NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
 -ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
 -WriteBackCacheDiskSize 127
 -WriteBackCacheMemorySize 256
 <!--NeedCopy-->

Dica:

A propriedade PersistVm determina se uma máquina virtual provisionada deve ser preservada. A propriedade PersistOsdisk determina se o disco de SO deve ser mantido. Para preservar uma máquina virtual provisionada, primeiro preserve o disco de SO. Não exclua o disco de SO sem primeiro excluir a máquina virtual. Você pode usar a propriedade PersistOsdisk sem usar a especificação do parâmetro PersistVm.

Alterar o tipo de armazenamento para um nível inferior quando uma VM é desligada

Você pode economizar nos custos de armazenamento mudando o tipo de armazenamento de um disco gerenciado para um nível inferior ao desligar uma VM. Para fazer isso, use a propriedade StorageTypeAtShutdown personalizada.

O tipo de armazenamento do disco muda para um nível inferior (conforme especificado na propriedade personalizada StorageTypeAtShutdown) quando você desliga a VM. Depois de ligar a VM, o tipo de armazenamento volta ao original (conforme especificado na propriedade StorageType personalizada ou na propriedade WBCDiskStorageType personalizada).

Importante:

O disco não existe até que a VM seja ligada pelo menos uma vez. Portanto, você não pode alterar o tipo de armazenamento ao ligar a VM pela primeira vez.

Requisitos

  • Aplicável a um disco gerenciado. Isso implica que você defina a propriedade personalizada UseManagedDisks como true.
  • Aplicável a um catálogo persistente e não persistente com um disco de sistema operacional permanente. Isso implica que você defina a propriedade personalizada persistOsDisk como true.
  • Aplicável a um catálogo não persistente com um disco WBC persistente. Isso implica que você defina a propriedade personalizada persistWBC como true.

Restrição

  • De acordo com a Microsoft, você só pode alterar o tipo de disco duas vezes por dia. Consulte o documento da Microsoft. De acordo com a Citrix, a atualização de StorageType acontece sempre que há uma ação de Iniciar ou Desalocar para a VM. Portanto, limite o número de ações de energia por VM a duas vezes por dia. Por exemplo, uma ação de energia pela manhã para iniciar a VM e outra à noite para desalocar a VM.

Alterar o tipo de armazenamento para um nível inferior

Antes de prosseguir com as etapas, consulte os Requisitos e a Restrição.

  1. Adicione a propriedade personalizada StorageTypeAtShutdown, defina o valor como Standard_LRS (HDD) e crie um catálogo usando New-ProvScheme. Para obter informações sobre como criar um catálogo usando o PowerShell, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

    Nota:

    Se StorageTypeAtShutdown tiver qualquer valor diferente de vazio ou Standard_LRS (HDD), a operação falhará.

    Exemplo de configuração de propriedades personalizadas ao criar um 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-->
    

    Exemplo de configuração de propriedades personalizadas ao criar um catálogo não 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:

    Quando você usa um perfil de máquina, a propriedade personalizada tem precedência sobre a propriedade definida em MachineProfile.

  2. Desligue a VM e verifique o tipo de armazenamento da VM no portal do Azure. O tipo de armazenamento do disco muda para um nível inferior, conforme especificado na propriedade StorageTypeAtShutdown personalizada.
  3. Ligue a VM. O tipo de armazenamento do disco volta para o tipo de armazenamento mencionado em:
    • Propriedade personalizada StorageType para disco do sistema operacional
    • Propriedade personalizada WBCDiskStorageType para o disco WBC somente se você especificar em CustomProperties. Caso contrário, ele volta para o tipo de armazenamento mencionado em StorageType.

Aplicar StorageTypeAtShutdown a um catálogo existente

Antes de prosseguir com as etapas, consulte os Requisitos e a Restrição.

Use Set-ProvScheme para adicionar uma VM a um catálogo existente. O recurso se aplica às novas VMs adicionadas após a execução de Set-ProvScheme. As máquinas existentes não são afetadas.

Exemplo de configuração de propriedades personalizadas ao adicionar uma VM a um 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-->

Alterar o tipo de armazenamento das VMs existentes para um nível inferior no desligamento

Antes de prosseguir com as etapas, consulte os Requisitos e a Restrição.

Você pode economizar custos de armazenamento alterando o tipo de armazenamento das VMs existentes para um nível inferior quando as VMs são desligadas. Para fazer isso, use a propriedade StorageTypeAtShutdown personalizada.

Para alterar o tipo de armazenamento das máquinas existentes em um catálogo para um nível inferior quando as VMs são desligadas:

  1. Abra uma janela do PowerShell.
  2. Execute o comando asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Execute Get-Provscheme -ProvisioningSchemeName $CatalogName.
  4. Altere a cadeia de caracteres das propriedades 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. Atualize o esquema de provisionamento do catálogo existente. A atualização se aplica às novas VMs adicionadas após a execução de Set-ProvScheme.

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Atualize as VMs existentes para habilitar StorageTypeAtShutdown.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Quando você ligar as máquinas na próxima vez, a propriedade StorageTypeAtShutdown das máquinas será atualizada. O tipo de armazenamento muda no próximo desligamento.
  8. Execute o comando a seguir para visualizar o valor StorageTypeAtShutdown de cada VM em um 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-->
    

Personalizar o comportamento de ativação em caso de falha na alteração do tipo de armazenamento

Ao ligar, o tipo de armazenamento de um disco gerenciado pode apresentar falha ao mudar para o tipo desejado devido a uma falha no Azure. Nesses cenários, a VM permanece desligada e uma mensagem de falha é enviada a você. No entanto, você pode optar por ligar a VM, mesmo quando o armazenamento não pode ser restaurado para o tipo configurado, ou optar por manter a VM desligada.

  • Se você configurar a propriedade personalizada FailSafeStorageType como true (configuração padrão) ou não a especificar nos comandos New-ProvScheme ou Set-ProvScheme:

    • Na ativação, a VM é ligada com o tipo de armazenamento incorreto.
    • Na desativação, a VM permanece desligada com o tipo de armazenamento incorreto.
  • Se você configurar a propriedade personalizada FailSafeStorageType como false nos comandos New-ProvScheme ou Set-ProvScheme:

    • Na ativação, a VM permanece desligada com o tipo de armazenamento incorreto.
    • Na desativação, a VM permanece desligada com o tipo de armazenamento incorreto.

Para criar um catálogo de máquinas:

  1. Abra uma janela do PowerShell.
  2. Execute o comando asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Crie um pool de identidades se ainda não tiver sido criado.
  4. Adicione a propriedade personalizada em New-ProvScheme. Por exemplo:

    New-ProvScheme -HostingUnitName "Azure-Resources-1" -IdentityPoolName "name" -InitialBatchSizeHint 1
    -MasterImageVM "XDHyp:\HostingUnits\Azure-Resources-1\image.folder\abc.resourcegroup\def.snapshot"
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\Azure-Resources-1\ght.folder\abc.resourcegroup\abc-vnet.virtualprivatecloud\default.network"}
    -ProvisioningSchemeName "name"
    -ServiceOffering "XDHyp:\HostingUnits\Azure-Resources-1\serviceoffering.folder\Standard_DS2_v2.serviceoffering"
    -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
    <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"StorageTypeAtShutdown`" Value=`"Standard_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"true`" />
    </CustomProperties>"
    <!--NeedCopy-->
    
  5. Crie o catálogo de máquinas. Para obter informações sobre como criar um catálogo usando o Remote PowerShell SDK, consulte https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Para atualizar um catálogo de máquinas existente que inclua a propriedade personalizada FailSafeStorageType. Essa atualização não afeta as VMs existentes.

  1. Atualize a propriedade personalizada no comando Set-ProvScheme. Por exemplo:
   Set-ProvScheme -ProvisioningSchemeName <String> -CustomProperties "
   <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
   <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"IdentityDiskStorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"false`" />
   </CustomProperties>"
   <!--NeedCopy-->

Para aplicar a alteração feita em Set-ProvScheme às VMs existentes, execute o comando Set-ProvVMUpdateTimeWindow com os parâmetros -StartsNow e -DurationInMinutes -1.

  1. Execute o comando Set-ProvVMUpdateTimeWindow com o comando de parâmetros -StartsNow e -DurationInMinutes -1. Por exemplo:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Reinicie as VMs.

Atualizar máquinas provisionadas para o estado atual do esquema de provisionamento

O comando Set-ProvScheme altera o esquema de provisionamento. No entanto, isso não afeta as máquinas existentes. Usando o comando Set-ProvVMUpdateTimeWindow do PowerShell, você pode aplicar o esquema de provisionamento atual a uma máquina persistente ou não persistente existente ou a um conjunto de máquinas. Você também pode agendar um horário para as atualizações de configuração das máquinas provisionadas pelo MCS existentes. Qualquer ativação ou reinicialização durante o horário programado aplica uma atualização programada do esquema de provisionamento a uma máquina. Atualmente, no Azure, você pode atualizar ServiceOffering,MachineProfile e as seguintes propriedades personalizadas:

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

Nota:

  • Você só pode atualizar as propriedades personalizadas StorageType, WBCDiskStorageType e IdentityDiskStorageType de um catálogo usando o disco gerenciado em ambientes do Azure.
  • Se você executar Set-ProvVMUpdateTimeWindow duas vezes, o comando mais recente entrará em vigor.

Você pode atualizar:

  • Uma única VM
  • Uma lista de VMs específicas ou todas as VMs existentes associadas a um ID de esquema de provisionamento
  • Uma lista de VMs específicas ou todas as VMs existentes associadas a um nome de esquema de provisionamento (nome do catálogo de máquinas)

Depois de fazer as seguintes alterações no esquema de provisionamento, a instância de VM é recriada para catálogos persistentes no Azure:

  • Altere o MachineProfile
  • Remova LicenseType
  • Remova DedicatedHostGroupId

Nota:

O disco do sistema operacional das máquinas existentes, juntamente com todos os seus dados, permanece como está e uma nova VM é anexada ao disco.

Antes de atualizar as VMs existentes:

  1. Verifique a configuração das máquinas existentes. Por exemplo,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Atualize o esquema de provisionamento. Por exemplo,

    • Com a VM como entrada do perfil da máquina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • Com a especificação do modelo como entrada do perfil da 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-->
      
    • Com apenas a oferta do serviço:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Verifique se a propriedade atual da VM corresponde ao esquema de provisionamento atual e se há alguma ação de atualização pendente na VM. Por exemplo,

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

    Você também pode encontrar máquinas com uma versão específica. Por exemplo,

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

Para solicitar que atualizações sejam aplicadas na próxima reinicialização das máquinas existentes:

  1. Execute os comandos a seguir para atualizar as máquinas existentes e fazer com que as atualizações sejam aplicadas na próxima reinicialização.

    • Para atualizar todas as máquinas existentes. Por exemplo,

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Para atualizar uma lista de máquinas específicas. Por exemplo,

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Para atualizar máquinas com base na saída de Get-ProvVM. Por exemplo,

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

    Nota:

    • StartsNow indica que a hora de início programada é a hora atual.
    • DurationInMinutes com um número negativo (por exemplo, —1) indica que não há limite superior na janela de tempo do cronograma.
  2. Encontre máquinas com uma atualização agendada. Por exemplo,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. Reinicialize as máquinas. Na próxima vez que forem ligadas, as alterações às propriedades serão aplicadas às máquinas existentes. Você pode verificar o status atualizado usando o seguinte comando. Por exemplo,

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

Para programar a atualização de uma VM com as configurações de provisionamento mais recentes na próxima vez que ela for iniciada na janela do horário agendado.

  1. Execute os seguintes comandos:

    • Para agendar uma atualização com a hora de início como a hora atual

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
       <!--NeedCopy-->
      
    • Para agendar uma atualização em um fim de semana

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

    Nota:

    • VMName é opcional. Se não for especificada, a atualização será agendada para todo o catálogo.
    • Em vez de StartTimeInUTC, use StartsNow para indicar que a hora de início do agendamento é a hora atual.
    • DurationInMinutes é opcional. O padrão é 120 minutos. Um número negativo (por exemplo, —1) indica que não há limite superior na janela de tempo do cronograma.
  2. Verifique o status da atualização.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. Ligue a VM. Se você ligar a máquina após o horário programado, a atualização da configuração não será aplicada. Se você ligar a máquina dentro do horário programado,

    • Se a máquina estiver desligada, e

      • você não ligar a máquina, a atualização de configuração não é aplicada
      • você ligar a máquina, a atualização de configuração é aplicada
    • Se a máquina estiver ligada, e

      • você não reiniciar a máquina, a atualização de configuração não é aplicada
      • você reiniciar a máquina, a atualização de configuração é aplicada

Para cancelar a atualização de configuração:

Você também pode cancelar uma atualização de configuração de uma única VM, várias VMs ou um catálogo inteiro. Para cancelar uma atualização de configuração:

  1. Execute Clear-ProvVMUpdateTimeWindow. Por exemplo:

    • Para cancelar a atualização de configuração agendada de uma única VM:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • Para cancelar a atualização de configuração agendada de várias VMs:

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

      Nota:

      As VMs devem ser do mesmo catálogo.

Atualizar propriedades de VMs individuais

Você pode atualizar as propriedades de VMs individuais em um catálogo de máquinas MCS persistentes usando o comando Set-ProvVM do PowerShell. No entanto, as atualizações não são aplicadas imediatamente. Você deve definir a janela de tempo usando o comando Set-ProvVMUpdateTimeWindow do PowerShell para que as atualizações sejam aplicadas.

Essa implementação ajuda você a gerenciar VMs individuais de forma eficiente sem atualizar todo o catálogo de máquinas. Atualmente, esse recurso é aplicável somente ao ambiente do Azure.

Atualmente, as propriedades que você pode atualizar são:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

Usando esse recurso, você pode:

Antes de atualizar as propriedades de uma VM:

  1. Abra uma janela do PowerShell.
  2. Execute o comando asnp citrix* para carregar os módulos do PowerShell específicos da Citrix.
  3. Verifique a configuração do catálogo de máquinas existente. Por exemplo:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. Verifique a configuração da VM na qual você deseja aplicar as atualizações. Por exemplo:

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

Atualizar propriedades de uma VM

Faça o seguinte para atualizar as propriedades em uma VM:

  1. Desative a VM na qual você deseja aplicar as atualizações.
  2. Atualize as propriedades da VM. Por exemplo, se você quiser atualizar a propriedade personalizada do tipo de armazenamento (StorageType) da VM, execute o seguinte:

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

    Você pode atualizar as propriedades de duas VMs em um catálogo de máquinas simultaneamente. Por exemplo:

    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:

    As atualizações não são aplicadas imediatamente.

  3. Obtenha a lista de propriedades especificadas para serem atualizadas e a versão da configuração. Por exemplo:

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

    Verifique o valor da propriedade Version e as propriedades a serem atualizadas (nesse caso, StorageType).

  4. Verifique a versão da configuração. Por exemplo:

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

    Verifique o valor da propriedade de ProvVMConfigurationVersion. A atualização ainda não foi aplicada. A VM ainda está na configuração antiga.

  5. Solicite uma atualização agendada. Por exemplo:

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

    Para obter mais informações sobre atualizações agendadas, consulte Atualizar máquinas provisionadas para o estado atual do esquema de provisionamento.

    Nota:

    Qualquer atualização pendente do esquema de provisionamento também é aplicada.

  6. Reinicie a VM. Por exemplo:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. Verifique a versão da configuração. Por exemplo:

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

    Verifique o valor da propriedade de ProvVMConfigurationVersion. A atualização agora está aplicada. A VM agora tem a nova configuração.

  8. Para aplicar mais atualizações de configuração na VM, desligue-a e repita as etapas.

Manter as propriedades atualizadas em uma VM após a atualização do catálogo de máquinas

Faça o seguinte para manter as propriedades atualizadas em uma VM:

  1. Desative a VM na qual você deseja aplicar as atualizações.
  2. Atualize o catálogo de máquinas. Por exemplo, se você quiser alterar o tamanho da VM (ServiceOffering) e o tipo de armazenamento (StorageType), execute o seguinte:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. Obtenha os detalhes de configuração do catálogo de máquinas. Por exemplo:

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

    Agora, ProvisioningSchemeVersion é incrementado em um. O tamanho da VM e o tipo de armazenamento também são atualizados.

  4. Atualize as propriedades da VM. Por exemplo, forneça um perfil de máquina para a 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:

    A entrada do perfil da máquina tem uma tag e um tamanho de VM diferente (ServiceOffering) especificado.

  5. Obtenha a lista de propriedades que a VM terá após mesclar as atualizações de configuração na VM com as atualizações do catálogo de máquinas. Por exemplo:

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

    Nota:

    Qualquer atualização na VM substituirá as atualizações feitas no catálogo de máquinas.

  6. Solicite uma atualização agendada para a VM. Por exemplo:

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

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

    A VM mantém seu tamanho de VM atualizado conforme derivado do perfil da máquina. Os valores da tag, conforme especificado no perfil da máquina, também são aplicados à VM. No entanto, o tipo de armazenamento é derivado do esquema de provisionamento mais recente.

  8. Obtenha a versão de configuração da VM. Por exemplo:

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

    Agora, ProvisioningSchemeVersion e ProvVMConfigurationVersion mostram a versão mais recente.

Reverter as atualizações de configuração aplicadas a uma VM

  1. Depois de aplicar as atualizações a uma VM, desligue-a.
  2. Execute o comando a seguir para remover as atualizações aplicadas à VM. Por exemplo:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. Solicite uma atualização agendada para a VM. Por exemplo:

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

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. Verifique a versão de configuração da VM. Por exemplo:

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

    Agora, o valor ProvVMConfigurationVersion é a versão de configuração do catálogo de máquinas.

Recuperar informações para VMs do Azure, instantâneos, disco de SO e definição de imagem da galeria

Você pode exibir informações para uma VM do Azure, incluindo disco de SO e tipo, instantâneo e definição de imagem da galeria. Essas informações são exibidas para recursos na imagem mestre quando um catálogo de máquinas é atribuído. Use essa funcionalidade para exibir e selecionar uma imagem do Linux ou do Windows. Uma propriedade do PowerShell, TemplateIsWindowsTemplate, foi adicionada ao parâmetro AdditionDatafield. Esse campo contém informações específicas do Azure: tipo de VM, disco de SO, informações da imagem da galeria e informações do tipo do sistema operacional. Se TemplateIsWindowsTemplate for definido como True, isso indica que o tipo de sistema operacional é Windows; se TemplateIsWindowsTemplate for definido como False, isso indica que o tipo de sistema operacional é Linux.

Dica:

As informações exibidas pela propriedade do TemplateIsWindowsTemplate PowerShell são derivadas da API do Azure. Às vezes, esse campo pode estar vazio. Por exemplo, um instantâneo de um disco de dados não contém o campo TemplateIsWindowsTemplate porque o tipo de sistema operacional não pode ser recuperado de um instantâneo.

Por exemplo, defina o parâmetro AdditionData da VM do Azure como True para o tipo de sistema operacional Windows usando o 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-->

Identificar recursos criados pelo MCS

A seguir estão as marcas que o MCS adiciona aos recursos. As tags na tabela são representadas como “key”:”value”.

Nome do recurso Marca
Disco de identificação “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Imagem “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco do sistema operacional “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
PrepVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Instantâneo publicado “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Resource group “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Storage account “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
VM in catalog “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco WBC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

Nota:

Uma VM não fica visível no inventário da Citrix se uma tag CitrixResource for adicionada para identificá-la como um recurso criado pelo MCS. Você pode remover ou renomear a tag para torná-la visível.

Mais informações