Citrix Virtual Apps and Desktops

Gestire un catalogo Microsoft Azure

Nota:

Da luglio 2023, Microsoft ha rinominato Azure Active Directory (Azure AD) in Microsoft Entra ID. In questo documento, qualsiasi riferimento ad Azure Active Directory, Azure AD o AAD si riferisce ora a Microsoft Entra ID.

Gestire i cataloghi di macchine descrive le procedure guidate per la gestione di un catalogo di macchine. Le seguenti informazioni riguardano i dettagli specifici degli ambienti cloud di Microsoft Azure Resource Manager.

Nota:

Prima di gestire un catalogo Microsoft Azure, è necessario completare la creazione di un catalogo Microsoft Azure. Vedere Creare un catalogo Microsoft Azure.

Modificare il tipo di archiviazione a un livello inferiore quando una VM viene spenta

È possibile risparmiare sui costi di archiviazione passando il tipo di archiviazione di un disco gestito a un livello inferiore quando si spegne una VM. A tale scopo, utilizzare la proprietà personalizzata StorageTypeAtShutdown.

Il tipo di archiviazione del disco cambia a un livello inferiore (come specificato nella proprietà personalizzata StorageTypeAtShutdown) quando si spegne la VM. Dopo aver riacceso la VM, il tipo di archiviazione torna a quello originale (come specificato nella proprietà personalizzata StorageType o nella proprietà personalizzata WBCDiskStorageType).

Importante:

Il disco non esiste finché la VM non viene accesa almeno una volta. Pertanto, non è possibile modificare il tipo di archiviazione alla prima accensione della VM.

Requisiti

  • Applicabile a un disco gestito. Ciò implica l’impostazione della proprietà personalizzata UseManagedDisks su true.
  • Applicabile a un catalogo persistente e non persistente con un disco del sistema operativo persistente. Ciò implica l’impostazione della proprietà personalizzata persistOsDisk su true.
  • Applicabile a un catalogo non persistente con un disco WBC persistente. Ciò implica l’impostazione della proprietà personalizzata persistWBC su true.

Restrizione

  • Secondo Microsoft, è possibile modificare il tipo di disco solo due volte al giorno. Vedere il documento Microsoft. Secondo Citrix, l’aggiornamento di StorageType avviene ogni volta che si verifica un’azione di avvio o deallocazione per la VM. Pertanto, limitare il numero di azioni di alimentazione per VM a due volte al giorno. Ad esempio, un’azione di alimentazione al mattino per avviare la VM e una alla sera per deallocare la VM.

Modificare il tipo di archiviazione a un livello inferiore

Prima di procedere con i passaggi, consultare i Requisiti e la Restrizione.

  1. Aggiungere la proprietà personalizzata StorageTypeAtShutdown, impostare il valore su Standard_LRS (HDD) e creare un catalogo utilizzando New-ProvScheme. Per informazioni sulla creazione di un catalogo tramite PowerShell, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

    Nota:

    Se StorageTypeAtShutdown ha un valore diverso da vuoto o Standard_LRS (HDD), l’operazione fallisce.

    Esempio di impostazione delle proprietà personalizzate durante la creazione di un catalogo 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-->
    

    Esempio di impostazione delle proprietà personalizzate durante la creazione di un catalogo non 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 si utilizza un profilo macchina, la proprietà personalizzata ha la precedenza sulla proprietà definita in MachineProfile.

  2. Spegnere la VM e controllare il tipo di archiviazione della VM nel portale di Azure. Il tipo di archiviazione del disco cambia a un livello inferiore, come specificato nella proprietà personalizzata StorageTypeAtShutdown.
  3. Accendere la VM. Il tipo di archiviazione del disco torna al tipo di archiviazione menzionato in:
    • Proprietà personalizzata StorageType per il disco del sistema operativo
    • Proprietà personalizzata WBCDiskStorageType per il disco WBC solo se specificata in CustomProperties. Altrimenti, torna al tipo di archiviazione menzionato in StorageType.

Applicare StorageTypeAtShutdown a un catalogo esistente

Prima di procedere con i passaggi, consultare i Requisiti e la Restrizione.

Utilizzare Set-ProvScheme per aggiungere una VM a un catalogo esistente. La funzionalità si applica alle nuove VM aggiunte dopo l’esecuzione di Set-ProvScheme. Le macchine esistenti non sono interessate.

Esempio di impostazione delle proprietà personalizzate durante l’aggiunta di una VM a un catalogo esistente:

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

Modificare il tipo di archiviazione delle VM esistenti a un livello inferiore allo spegnimento

Prima di procedere con i passaggi, consultare i Requisiti e la Restrizione.

È possibile risparmiare sui costi di archiviazione modificando il tipo di archiviazione delle VM esistenti a un livello inferiore quando le VM vengono spente. A tale scopo, utilizzare la proprietà personalizzata StorageTypeAtShutdown.

Per modificare il tipo di archiviazione delle macchine esistenti in un catalogo a un livello inferiore quando le VM vengono spente:

  1. Aprire una finestra PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Eseguire Get-Provscheme -ProvisioningSchemeName $CatalogName.
  4. Modificare la stringa delle proprietà personalizzate.

    $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. Aggiornare lo schema di provisioning del catalogo esistente. L’aggiornamento si applica alle nuove VM aggiunte dopo l’esecuzione di Set-ProvScheme.

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Aggiornare le VM esistenti per abilitare StorageTypeAtShutdown.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Alla successiva accensione delle macchine, la proprietà StorageTypeAtShutdown delle macchine viene aggiornata. Il tipo di archiviazione cambia al successivo spegnimento.
  8. Eseguire il seguente comando per visualizzare il valore StorageTypeAtShutdown per ogni VM in un catalogo:

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

Aggiornare le macchine con provisioning allo stato corrente dello schema di provisioning

Il comando Set-ProvScheme modifica lo schema di provisioning. Tuttavia, non influisce sulle macchine esistenti. Utilizzando il comando PowerShell Set-ProvVMUpdateTimeWindow, è possibile applicare lo schema di provisioning corrente a una macchina persistente o non persistente esistente o a un set di macchine. È anche possibile pianificare una fascia oraria per gli aggiornamenti della configurazione delle macchine con provisioning MCS esistenti. Qualsiasi accensione o riavvio durante la fascia oraria pianificata applica un aggiornamento dello schema di provisioning pianificato a una macchina. Attualmente, in Azure, è possibile aggiornare ServiceOffering, MachineProfile e le seguenti proprietà personalizzate:

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

Nota:

  • È possibile aggiornare solo le proprietà personalizzate StorageType, WBCDiskStorageType e IdentityDiskStorageType per un catalogo che utilizza un disco gestito negli ambienti Azure.
  • Se si esegue Set-ProvVMUpdateTimeWindow due volte, ha effetto il comando più recente.

È possibile aggiornare:

  • Una singola VM
  • Un elenco di VM specifiche o tutte le VM esistenti associate a un ID schema di provisioning
  • Un elenco di VM specifiche o tutte le VM esistenti associate a un nome di schema di provisioning (nome del catalogo macchine)

Dopo aver apportato le seguenti modifiche allo schema di provisioning, l’istanza della VM viene ricreata per i cataloghi persistenti in Azure:

  • Modificare il MachineProfile
  • Rimuovere LicenseType
  • Rimuovere DedicatedHostGroupId

Nota:

Il disco del sistema operativo delle macchine esistenti, insieme a tutti i suoi dati, rimane invariato e una nuova VM viene collegata al disco.

Prima di aggiornare le VM esistenti:

  1. Controllare la configurazione delle macchine esistenti. Ad esempio,

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Aggiornare lo schema di provisioning. Ad esempio,

    • Con la VM come input del profilo macchina:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • Con la specifica del modello come input del profilo macchina:

       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-->
      
    • Con la sola offerta di servizio:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits\<hosting-unit>\serviceoffering.folder\<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Controllare se la proprietà corrente della VM corrisponde allo schema di provisioning corrente e se è presente un’azione di aggiornamento in sospeso sulla VM. Ad esempio,

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

    È anche possibile trovare macchine con una versione particolare. Ad esempio,

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

Per richiedere che gli aggiornamenti per le macchine esistenti vengano applicati al successivo riavvio:

  1. Eseguire i seguenti comandi per aggiornare le macchine esistenti e fare in modo che gli aggiornamenti vengano applicati al successivo riavvio.

    • Per aggiornare tutte le macchine esistenti. Ad esempio,

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Per aggiornare un elenco di macchine specifiche. Ad esempio,

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Per aggiornare le macchine in base all’output di Get-ProvVM. Ad esempio,

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

    Nota:

    • StartsNow indica che l’ora di inizio pianificata è l’ora corrente.
    • DurationInMinutes con un numero negativo (ad esempio, –1) indica che non esiste un limite superiore per la finestra temporale della pianificazione.
  2. Trovare le macchine con un aggiornamento pianificato. Ad esempio,

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. Riavviare le macchine. Alla successiva accensione, le modifiche alle proprietà vengono applicate alle macchine esistenti. È possibile controllare lo stato aggiornato utilizzando il seguente comando. Ad esempio,

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

Per pianificare l’aggiornamento di una VM alle impostazioni di provisioning più recenti la prossima volta che si avvia nella finestra temporale pianificata:

  1. Eseguire i seguenti comandi:
  • Per pianificare un aggiornamento con l’ora di inizio come ora corrente

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
     <!--NeedCopy-->
    
  • Per pianificare un aggiornamento nel fine settimana

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

Nota:

  • VMName è facoltativo. Se non specificato, l’aggiornamento viene pianificato per l’intero catalogo.
  • Invece di StartTimeInUTC, usare StartsNow per indicare che l’ora di inizio della pianificazione è l’ora corrente.
  • DurationInMinutes è facoltativo. Il valore predefinito è 120 minuti. Un numero negativo (ad esempio, –1) indica che non esiste un limite superiore per la finestra temporale della pianificazione.
  1. Controllare lo stato dell’aggiornamento.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Accendere la VM. Se si accende la macchina dopo la fascia oraria pianificata, l’aggiornamento della configurazione non viene applicato. Se si accende la macchina entro la fascia oraria pianificata:

    • Se la macchina è spenta e

      • non si accende la macchina, l’aggiornamento della configurazione non viene applicato
      • si accende la macchina, l’aggiornamento della configurazione viene applicato
    • Se la macchina è accesa e

      • non si riavvia la macchina, l’aggiornamento della configurazione non viene applicato
      • si riavvia la macchina, l’aggiornamento della configurazione viene applicato

Per annullare l’aggiornamento della configurazione:

È possibile annullare un aggiornamento della configurazione di una singola VM, di più VM o di un intero catalogo. Per annullare un aggiornamento della configurazione:

  1. Eseguire Clear-ProvVMUpdateTimeWindow. Ad esempio:

    • Per annullare l’aggiornamento della configurazione pianificato per una singola VM:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • Per annullare l’aggiornamento della configurazione pianificato per più VM:

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

      Nota:

      Le VM devono provenire dallo stesso catalogo.

Aggiornare le proprietà delle singole VM

È possibile aggiornare le proprietà delle singole VM in un catalogo macchine MCS persistente utilizzando il comando PowerShell Set-ProvVM. Tuttavia, gli aggiornamenti non vengono applicati immediatamente. È necessario impostare la finestra temporale utilizzando il comando PowerShell Set-ProvVMUpdateTimeWindow affinché gli aggiornamenti vengano applicati.

Questa implementazione consente di gestire le singole VM in modo efficiente senza aggiornare l’intero catalogo macchine. Attualmente, questa funzionalità è applicabile solo all’ambiente Azure.

Attualmente, le proprietà che è possibile aggiornare sono:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

Utilizzando questa funzionalità, è possibile:

Prima di aggiornare le proprietà di una VM:

  1. Aprire una finestra di PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Controllare la configurazione del catalogo macchine esistente. Ad esempio:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. Controllare la configurazione della VM su cui si desidera applicare gli aggiornamenti. Ad esempio:

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

Aggiornare le proprietà di una VM

Eseguire le operazioni seguenti per aggiornare le proprietà di una VM:

  1. Spegnere la VM su cui si desidera applicare gli aggiornamenti.
  2. Aggiornare le proprietà della VM. Ad esempio, se si desidera aggiornare la proprietà personalizzata del tipo di archiviazione (StorageType) della VM, eseguire quanto segue:

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

    È possibile aggiornare le proprietà di due VM in un catalogo macchine contemporaneamente. Ad esempio:

    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:

    Gli aggiornamenti non vengono applicati immediatamente.

  3. Ottenere l’elenco delle proprietà che devono essere aggiornate e la versione della configurazione. Ad esempio:

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

    Controllare il valore della proprietà Version e le proprietà da aggiornare (in questo caso, StorageType).

  4. Controllare la versione della configurazione. Ad esempio:

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

    Controllare il valore della proprietà ProvVMConfigurationVersion. L’aggiornamento non è ancora stato applicato. La VM è ancora nella vecchia configurazione.

  5. Richiedere l’aggiornamento pianificato. Ad esempio:

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

    Per ulteriori informazioni sugli aggiornamenti pianificati, vedere Aggiornare le macchine con provisioning allo stato corrente dello schema di provisioning.

    Nota:

    Viene applicato anche qualsiasi aggiornamento dello schema di provisioning in sospeso.

  6. Riavviare la VM. Ad esempio:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. Controllare la versione della configurazione. Ad esempio:

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

    Controllare il valore della proprietà ProvVMConfigurationVersion. L’aggiornamento è ora applicato. La VM ha ora la nuova configurazione.

  8. Per applicare ulteriori aggiornamenti della configurazione alla VM, spegnere la VM e ripetere i passaggi.

Mantenere le proprietà aggiornate su una VM dopo l’aggiornamento del catalogo macchine

Eseguire le operazioni seguenti per mantenere le proprietà aggiornate su una VM:

  1. Spegnere la VM su cui si desidera applicare gli aggiornamenti.
  2. Aggiornare il catalogo macchine. Ad esempio, se si desidera modificare le dimensioni della VM (ServiceOffering) e il tipo di archiviazione (StorageType), eseguire quanto segue:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. Ottenere i dettagli della configurazione del catalogo macchine. Ad esempio:

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

    ProvisioningSchemeVersion è ora incrementato di uno. Anche le dimensioni della VM e il tipo di archiviazione vengono aggiornati.

  4. Aggiornare le proprietà della VM. Ad esempio, fornire un profilo macchina alla 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:

    L’input del profilo macchina ha un tag e una dimensione VM (ServiceOffering) diversa specificata.

  5. Ottenere l’elenco delle proprietà che la VM avrà dopo aver unito gli aggiornamenti della configurazione sulla VM con gli aggiornamenti del catalogo macchine. Ad esempio:

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

    Nota:

    Eventuali aggiornamenti sulla VM sovrascriveranno gli aggiornamenti eseguiti sul catalogo macchine.

  6. Richiedere l’aggiornamento pianificato per la VM. Ad esempio:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Riavviare la VM. Ad esempio:

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

    La VM mantiene le dimensioni della VM aggiornate come derivate dal profilo macchina. I valori dei tag specificati nel profilo macchina vengono applicati anche alla VM. Tuttavia, il tipo di archiviazione è derivato dall’ultimo schema di provisioning.

  8. Ottenere la versione della configurazione della VM. Ad esempio:

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

    ProvisioningSchemeVersion e ProvVMConfigurationVersion mostrano ora l’ultima versione.

Ripristinare gli aggiornamenti della configurazione applicati a una VM

  1. Dopo aver applicato gli aggiornamenti a una VM, spegnere la VM.
  2. Eseguire il comando seguente per rimuovere gli aggiornamenti applicati alla VM. Ad esempio:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. Richiedere l’aggiornamento pianificato per la VM. Ad esempio:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Riavviare la VM. Ad esempio:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. Controllare la versione della configurazione della VM. Ad esempio:

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

    Il valore ProvVMConfigurationVersion è ora la versione della configurazione del catalogo macchine.

Modificare la crittografia del disco

È possibile modificare la crittografia del disco negli ambienti di virtualizzazione Azure ed eseguire le seguenti operazioni:

  • Creare un catalogo macchine MCS con un set di crittografia del disco (DES) diverso dal DES dell’immagine master utilizzando il comando New-ProvScheme. Ad esempio:

     $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-->
    
  • Modificare il tipo di crittografia del disco da una chiave DES a un’altra chiave DES di un catalogo macchine MCS esistente e di VM esistenti utilizzando i comandi Set-ProvScheme e Set-ProvVMUpdateTimeWindow. Dopo aver riavviato le VM, è possibile visualizzare la chiave DES aggiornata. Ad esempio:

     $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-->
    
  • Aggiornare un catalogo macchine MCS e una VM che in precedenza non erano abilitati per CMEK in modo da avere la crittografia con chiave di crittografia gestita dal cliente (CMEK) (DES), la crittografia del disco sull’host o la doppia crittografia utilizzando i comandi Set-ProvScheme e Set-ProvVMUpdateTimeWindow. Per informazioni sui diversi tipi di crittografia, vedere Crittografia lato server di Azure, Crittografia del disco di Azure sull’host e Doppia crittografia su disco gestito.

  • Aggiornare un catalogo macchine MCS e VM esistenti in modo che non siano crittografati, se in precedenza erano crittografati, utilizzando i comandi Set-ProvScheme e Set-ProvVMUpdateTimeWindow. Ad esempio:

     $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-->
    
  • Abilitare la crittografia del disco con endpoint privato (un catalogo macchine MCS che utilizzava una connessione host abilitata con ProxyHypervisorTrafficThroughConnector). Per informazioni su come abilitare la crittografia del disco con endpoint privati, vedere Abilitare la crittografia del disco con endpoint privato.

Abilitare la crittografia del disco con endpoint privato

Secondo le limitazioni di Azure, attualmente non è possibile avere la crittografia lato server con chiavi gestite dal cliente per gli endpoint privati. Tuttavia, è possibile aggiornare un catalogo macchine MCS esistente e le VM con endpoint privati in modo che siano crittografati con la chiave DES.

Aggiornare un catalogo macchine esistente con endpoint privati

I passaggi dettagliati per aggiornare un catalogo macchine esistente con endpoint privati sono i seguenti:

  1. Creare un catalogo senza crittografia del disco tramite ProxyHypervisorTrafficThroughConnector.
  2. Eseguire Set-ProvScheme per aggiornare il catalogo con DiskEncryptionSetId.

    Nota:

    DiskEcryptionSetId può essere configurato tramite CustomProperties o MachineProfile. Quando è definito sia in CustomProperties che in MachineProfile, vengono applicate le proprietà definite in CustomProperties.

    Esempio quando si utilizzano 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-->
    

    Esempio quando si utilizza MachineProfile: utilizzare una VM con crittografia del disco abilitata o una specifica di modello con impostazioni di crittografia del disco:

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

    In alternativa, è possibile aggiornare un profilo macchina utilizzando Web Studio.

  3. Eseguire Set-ProvVMUpdateTimeWindow per aggiornare le VM del catalogo esistenti. Ad esempio:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01, azu02 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Dopo aver riavviato le VM, è possibile visualizzare la crittografia del disco aggiornata sui dischi della VM nel portale di Azure.
  5. Eseguire Set-ProvScheme per annullare la crittografia del disco prima di aggiungere nuove VM al catalogo.

    Nota:

    Questo passaggio è necessario perché si sta aggiornando un catalogo di endpoint privati. Se non si esegue questo passaggio, si verificheranno errori durante il tentativo di aggiungere nuove VM al catalogo.

    Ad esempio:

    $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. Aggiungere nuove VM al catalogo.

I passaggi dettagliati per aggiornare singole VM del catalogo sono i seguenti:

  1. Creare un catalogo senza crittografia del disco tramite ProxyHypervisorTrafficThroughConnector.
  2. Eseguire Set-ProvVM per aggiornare la VM del catalogo con DiskEncryptionSetId.

    Nota:

    DiskEcryptionSetId può essere configurato tramite CustomProperties o MachineProfile.

    Esempio quando si utilizzano 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-->
    

    Esempio quando si utilizza MachineProfile:

    Set-ProvVM -ProvisioningSchemeName azure-catalog  -VMName azu01 -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\testrg.resourcegroup\new-template.vm"
    <!--NeedCopy-->
    
  3. Eseguire Set-ProvVMUpdateTimeWindow per aggiornare le VM del catalogo esistenti. Ad esempio:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName azure-catalog -VMName azu01 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Dopo aver riavviato le VM, è possibile visualizzare la crittografia del disco aggiornata sui dischi delle VM nel portale di Azure.
  5. Aggiungere nuove VM al catalogo.

Utilizzare il disco temporaneo come disco WBC per i cataloghi esistenti

È possibile utilizzare il disco temporaneo di Azure come disco di cache di write-back (WBC) per i cataloghi macchine MCS esistenti. Utilizzare il comando PowerShell Set-ProvScheme per aggiornare i cataloghi e le VM esistenti.

Prerequisiti

Il catalogo esistente deve soddisfare le seguenti condizioni:

Nota:

Se il catalogo esistente non soddisfa i requisiti seguenti, il disco WBC non viene posizionato all’interno del disco temporaneo.

  • MCSIO è abilitato: le proprietà personalizzate WriteBackCacheMemorySize, WriteBackCacheDiskSize e UseWriteBackCache sono abilitate.
  • Il disco del sistema operativo effimero non è abilitato.
  • WBC non è persistente: PersistWBC è false.
  • UseTempDiskForWBC è null o false.
  • La dimensione del disco temporaneo deve essere maggiore della dimensione totale di (dimensione del disco della cache di write-back + spazio riservato per il file di paging + 1 GB di spazio buffer).

Importante:

Non è consentito modificare un’offerta di servizio da una con un disco temporaneo a una senza, o viceversa.

Aggiornare i cataloghi esistenti

Per aggiornare un catalogo esistente, eseguire i seguenti comandi:

  1. Eseguire Set-ProvScheme sul catalogo esistente per aggiornare UseTempDiskForWBC a true. Ad esempio:

    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. Aggiungere nuove macchine al catalogo e accenderle. Le nuove VM hanno un disco WBC all’interno del disco temporaneo.

Recuperare informazioni per VM Azure, snapshot, disco del sistema operativo e definizione dell’immagine della galleria

È possibile visualizzare le informazioni per una VM Azure, inclusi il disco e il tipo di sistema operativo, lo snapshot e la definizione dell’immagine della galleria. Queste informazioni vengono visualizzate per le risorse sull’immagine master quando viene assegnato un catalogo macchine. Utilizzare questa funzionalità per visualizzare e selezionare un’immagine Linux o Windows. Una proprietà PowerShell, TemplateIsWindowsTemplate, è stata aggiunta al parametro AdditionDatafield. Questo campo contiene informazioni specifiche di Azure: tipo di VM, disco del sistema operativo, informazioni sull’immagine della galleria e informazioni sul tipo di sistema operativo. L’impostazione di TemplateIsWindowsTemplate su True indica che il tipo di sistema operativo è Windows; l’impostazione di TemplateIsWindowsTemplate su False indica che il tipo di sistema operativo è Linux.

Suggerimento:

Le informazioni visualizzate dalla proprietà PowerShell TemplateIsWindowsTemplate derivano dall’API di Azure. A volte, questo campo potrebbe essere vuoto. Ad esempio, uno snapshot da un disco dati non contiene il campo TemplateIsWindowsTemplate perché il tipo di sistema operativo non può essere recuperato da uno snapshot.

Ad esempio, impostare il parametro AdditionData della VM Azure su True per il tipo di sistema operativo Windows utilizzando 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-->

Identificare le risorse create da MCS

Di seguito sono riportati i tag che MCS aggiunge alle risorse. I tag nella tabella sono rappresentati come “chiave”:”valore”.

Nome risorsa Tag
Disco ID “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Immagine “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
NIC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco del sistema operativo “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
PrepVM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Snapshot pubblicato “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Gruppo di risorse “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Account di archiviazione “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
VM nel catalogo “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Disco WBC “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

Nota:

Una VM non è visibile nell’inventario Citrix se viene aggiunto un tag CitrixResource per identificarla come risorsa creata da MCS. È possibile rimuovere o rinominare il tag per renderla visibile.

Rimuovere i tag

Quando si crea un catalogo o una VM, i tag vengono creati sulle seguenti risorse:

  • Gruppo di risorse
  • Macchina virtuale
  • Disco del sistema operativo
  • Disco di identità
  • Interfaccia di rete
  • Account di archiviazione

È possibile rimuovere VM e cataloghi macchine dal database Citrix e rimuovere i tag. È possibile utilizzare:

  • Remove-ProvVM con il parametro ForgetVM per rimuovere VM e tag da una singola VM o da un elenco di VM da un catalogo macchine.
  • Remove-ProvScheme con il parametro ForgetVM per rimuovere un catalogo macchine dal database Citrix e i tag da un intero catalogo macchine.

Questa funzionalità è applicabile solo alle VM persistenti.

Per fare ciò:

  1. Aprire una finestra di PowerShell.
  2. Eseguire asnp citrix* per caricare i moduli PowerShell specifici di Citrix.
  3. Eseguire Remove-ProvVM per eliminare le VM dal database Citrix e i tag dalle VM. Ad esempio:

    Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM
    <!--NeedCopy-->
    
  4. Eseguire Remove-ProvScheme per eliminare il catalogo macchine dal database Citrix e i tag dai cataloghi macchine. Ad esempio:

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

    Nota:

    Dopo aver utilizzato il parametro ForgetVM in Remove-ProvScheme, MCS elimina tutti gli snapshot, incluso lo snapshot del disco di base, se lo schema di provisioning è presente in un gruppo di risorse proprio (BYORG) o in un gruppo di risorse gestito da Citrix.

Ulteriori informazioni