Gestire un catalogo di Microsoft Azure
In Gestire i cataloghi delle macchine sono descritte 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 di Microsoft Azure, è necessario completare la creazione di un catalogo di Microsoft Azure. Vedere Creare un catalogo di Microsoft Azure.
Convertire un catalogo di macchine non basato su profili macchina in un catalogo di macchine basato su profili macchina
È possibile utilizzare una VM o una specifica modello come input del profilo macchina per convertire un catalogo di macchine non basate su profili macchina in un catalogo di macchine basate su profilo macchina. Le VM esistenti e le nuove VM aggiunte al catalogo prendono i valori delle proprietà dal profilo della macchina, a meno che non vengano sovrascritti da proprietà personalizzate esplicite.
Nota:
Non è possibile modificare un catalogo macchine basato su profili macchina esistente per farlo diventare non basato su profili macchina.
A questo scopo:
- Creare un catalogo di macchine persistente o non persistente con macchine virtuali e senza un profilo macchina.
- Aprire la finestra di PowerShell.
-
Eseguire il comando
Set-ProvScheme
per applicare i valori delle proprietà tratti dal profilo della macchina alle nuove VM aggiunte al catalogo macchine. Ad esempio:Set-ProvScheme = Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\machineprofile.folder<ResourceGroupName><TemplateSpecName><VersionName> <!--NeedCopy-->
-
Esegui il
Set-ProvVMUpdateTimeWindow
comando per applicare i valori delle proprietà dal profilo macchina alle macchine virtuali esistenti del catalogo macchine. Ad esempio:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName xxxx -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
- Riavviare le macchine virtuali esistenti per ottenere i valori delle proprietà dal profilo macchina.
Conservare una macchina virtuale di cui è stato eseguito il provisioning durante i cicli di alimentazione
Scegliere se conservare una macchina virtuale di cui è stato eseguito il provisioning durante il ciclo di alimentazione. Utilizzare il parametro PowerShell New-ProvScheme CustomProperties
. Questo parametro supporta una proprietà aggiuntiva, PersistVm
, utilizzata per determinare se una macchina virtuale di cui è stato eseguito il provisioning persiste durante il ciclo di alimentazione. Impostare la proprietà PersistVm
su true per fare in modo che una macchina virtuale persista quando è spenta oppure impostare la proprietà su false per assicurare che la macchina virtuale non venga preservata quando è spenta.
Nota:
La proprietà
PersistVm
si applica solo a uno schema di provisioning con le proprietàCleanOnBoot
eUseWriteBackCache
abilitato. Se la proprietàPersistVm
non è specificata per le macchine virtuali non persistenti, vengono eliminate dall’ambiente Azure quando sono spente.
Nell’esempio seguente, il parametro New-ProvScheme CustomProperties
imposta la proprietà PersistVm
su 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-->
Nell’esempio seguente, il parametro New-ProvScheme CustomProperties
conserva la cache di write-back impostando PersistVM
su 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-->
Suggerimento:
La proprietà
PersistVm
determina se conservare una macchina virtuale di cui è stato eseguito il provisioning. La proprietàPersistOsdisk
determina se mantenere il disco del sistema operativo. Per preservare una macchina virtuale di cui è stato eseguito il provisioning, conservare innanzitutto il disco del sistema operativo. Non eliminare il disco del sistema operativo senza prima eliminare la macchina virtuale. È possibile utilizzare la proprietàPersistOsdisk
senza specificare il parametroPersistVm
.
Portare il tipo di archiviazione a un livello inferiore quando una VM viene arrestata
È possibile risparmiare sui costi di archiviazione cambiando il tipo di archiviazione di un disco gestito portandolo a un livello inferiore quando si spegne una VM. Per fare ciò, utilizzare la proprietà personalizzata StorageTypeAtShutdown
.
Il tipo di archiviazione del disco passa a un livello inferiore (come specificato nella proprietà personalizzata StorageTypeAtShutdown
) quando si arresta la macchina virtuale. Dopo aver acceso la VM, il tipo di archiviazione torna all’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 quando si accende la VM per la prima volta.
Requisiti
- Applicabile a un disco gestito. Ciò implica impostare la proprietà personalizzata
UseManagedDisks
su true. - Applicabile a un catalogo persistente e non persistente con un disco del sistema operativo persistente. Ciò implica impostare la proprietà personalizzata
persistOsDisk
su true. - Applicabile a un catalogo non persistente con un disco WBC persistente. Ciò implica impostare la proprietà personalizzata
persistWBC
su true.
Restrizione
- Come da Microsoft, è possibile cambiare il tipo di disco solo due volte al giorno. Vedere questo documento Microsoft. Nel caso di Citrix, l’aggiornamento di
StorageType
avviene ogni volta che c’è un’azione Start o Deallocate 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.
Cambiare il tipo di archiviazione portandolo a un livello inferiore
Prima di procedere con i passaggi, vedere Requisiti e Restrizioni.
-
Aggiungere la proprietà personalizzata
StorageTypeAtShutdown
, impostare il valore su Standard_LRS (HDD) e creare un catalogo utilizzandoNew-ProvScheme
. Per informazioni sulla creazione di un catalogo utilizzando 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 ha esito negativo.Esempio di impostazione di 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 di 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
. - Arrestare la macchina virtuale e controllare il tipo di archiviazione della macchina virtuale nel portale di Azure. Il tipo di archiviazione del disco passa a un livello inferiore, come specificato nella proprietà personalizzata
StorageTypeAtShutdown
. - Accendere la VM. Il tipo di archiviazione del disco torna al tipo di archiviazione indicato in:
- Proprietà personalizzata
StorageType
per il disco del sistema operativo - Proprietà personalizzata
WBCDiskStorageType
per il disco WBC solo se specificata inCustomProperties
. Altrimenti, torna al tipo di archiviazione indicato inStorageType
.
- Proprietà personalizzata
Applicare StorageTypeAtShutdown
a un catalogo esistente
Prima di procedere con i passaggi, vedere Requisiti e Restrizioni.
Utilizzare Set-ProvScheme
per aggiungere una macchina virtuale 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 di proprietà personalizzate durante l’aggiunta di una macchina virtuale 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-->
Cambiare il tipo di archiviazione delle VM esistenti a un livello inferiore al momento dell’arresto
Prima di procedere con i passaggi, vedere Requisiti e Restrizioni.
È possibile risparmiare sui costi di archiviazione modificando il tipo di archiviazione delle macchine virtuali esistenti su un livello inferiore quando le macchine virtuali vengono arrestate. Per fare ciò, utilizzare la proprietà personalizzata StorageTypeAtShutdown
.
Per modificare il tipo di archiviazione delle macchine esistenti in un catalogo portandolo a un livello inferiore quando le macchine virtuali vengono spente:
- Aprire una finestra di PowerShell.
- Eseguire il comando
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. - Eseguire
Get-Provscheme -ProvisioningSchemeName $CatalogName
. -
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-->
-
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-->
-
Aggiornare le VM esistenti per abilitarle
StorageTypeAtShutdown
.Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
- Alla successiva accensione delle macchine, la proprietà
StorageTypeAtShutdown
delle macchine viene aggiornata. Il tipo di archiviazione cambia al successivo arresto. -
Eseguire il comando seguente per visualizzare il valore
StorageTypeAtShutdown
di ciascuna macchina virtuale di 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-->
Personalizzare il comportamento di accensione in caso di mancata riuscita della modifica del tipo di archiviazione
All’accensione, il tipo di archiviazione di un disco gestito potrebbe non riuscire a passare al tipo desiderato a causa di un errore in Azure. In questi scenari, la VM rimarrebbe disattivata e si riceverebbe un messaggio di errore. Tuttavia, è possibile scegliere di accendere la VM anche quando non può essere ripristinato il tipo di archiviazione configurato oppure scegliere di mantenere spenta la VM.
-
Se si configura la proprietà personalizzata
FailSafeStorageType
come true (impostazione predefinita) o non la si specifica nei comandiNew-ProvScheme
oSet-ProvScheme
:- All’accensione, la VM si accende con il tipo di archiviazione errato.
- All’arresto, la VM rimane spenta con il tipo di archiviazione errato.
-
Se si configura la proprietà personalizzata
FailSafeStorageType
come false nei comandiNew-ProvScheme
oSet-ProvScheme
:- All’accensione, la VM rimane spenta con un tipo di archiviazione errato.
- All’arresto, la VM rimane spenta con un tipo di archiviazione errato.
Per creare un catalogo di macchine:
- Aprire una finestra di PowerShell.
- Eseguire il comando
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. - Creare un pool di identità se non è già stato creato.
-
Aggiungere la proprietà personalizzata in
New-ProvScheme
. Ad esempio: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-->
- Creare il catalogo di macchine. Per informazioni su come creare un catalogo utilizzando l’SDK Remote PowerShell, vedere https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.
Per aggiornare un catalogo di macchine esistente in modo da includere la proprietà personalizzata FailSafeStorageType
. Questo aggiornamento non influisce sulle macchine virtuali esistenti.
- Aggiornare la proprietà personalizzata nel comando
Set-ProvScheme
. Ad esempio:
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-->
Per applicare la modifica effettuata in Set-ProvScheme alle macchine virtuali esistenti, eseguire il comando Set-ProvVMUpdateTimeWindow
con i parametri -StartsNow
e -DurationInMinutes -1
.
-
Eseguire il comando
Set-ProvVMUpdateTimeWindow
con i parametri-StartsNow
e-DurationInMinutes -1
. Ad esempio:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
Riavviare le macchine virtuali.
Aggiornare le macchine di cui è stato eseguito il 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 Set-ProvVMUpdateTimeWindow
di PowerShell, è possibile applicare lo schema di provisioning corrente a una macchina o a un set di macchine esistente persistente o non persistente. È inoltre possibile pianificare una fascia oraria per gli aggiornamenti della configurazione dei computer esistenti forniti da MCS. Eventuali accensioni o riavvii durante la fascia oraria pianificata applicano un aggiornamento pianificato dello schema di provisioning 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
StorageType
,WBCDiskStorageType
e le proprietà personalizzateIdentityDiskStorageType
di un catalogo solo usando il disco gestito in ambienti Azure.- Se si esegue
Set-ProvVMUpdateTimeWindow
due volte, ha effetto il comando più recente.
È possibile aggiornare:
- Una singola macchina virtuale
- Un elenco di macchine virtuali specifiche o di tutte le macchine virtuali esistenti associate a un ID di schema di provisioning
- Un elenco di macchine virtuali specifiche o di tutte le macchine virtuali 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 macchina virtuale viene ricreata per i cataloghi persistenti in Azure:
- Cambiare
MachineProfile
- Rimuovere
LicenseType
- Rimuovere
DedicatedHostGroupId
Nota:
Il disco del sistema operativo delle macchine esistenti, insieme a tutti i relativi dati, rimane invariato e al disco viene collegata una nuova VM.
Prima di aggiornare le macchine virtuali esistenti:
-
Verificare la configurazione delle macchine esistenti. Ad esempio,
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
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 le specifiche di 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 solo questa offerta di servizi:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering" <!--NeedCopy-->
-
-
Verifica se la proprietà corrente della VM corrisponde allo schema di provisioning corrente e se c’è qualche 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 gli aggiornamenti delle macchine esistenti da applicare al prossimo riavvio:
-
Eseguire i seguenti comandi per aggiornare i computer esistenti e far applicare gli aggiornamenti 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 vi è alcun limite superiore nella finestra oraria della pianificazione.
-
-
Trovare i computer con un aggiornamento pianificato. Ad esempio,
Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter <!--NeedCopy-->
-
Riavviare le macchine. Alla successiva accensione, le modifiche delle proprietà vengono applicate ai computer esistenti. È possibile verificare lo stato aggiornato utilizzando il comando che segue. 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 verrà avviata nella finestra temporale pianificata:
-
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 programmare un aggiornamento durante un fine settimana
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” -StartTimeInUTC “10/15/2022 9:00am” -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes <!--NeedCopy-->
Nota:
-
VMName
è opzionale. Se non specificato, l’aggiornamento è pianificato per l’intero catalogo. - Invece di
StartTimeInUTC
, utilizzareStartsNow
per indicare che l’ora di inizio della pianificazione è l’ora corrente. -
DurationInMinutes
è opzionale. L’impostazione predefinita è 120 minuti. Un numero negativo (ad esempio -1) non indica alcun limite superiore nella finestra oraria della pianificazione.
-
-
Controllare lo stato dell’aggiornamento.
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy-->
-
Accendere la VM. Se si accende il computer 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, viene applicato l’aggiornamento della configurazione
-
Se la macchina è accesa e
- non si riavvia la macchina, l’aggiornamento della configurazione non viene applicato
- si riavvia la macchina, viene applicato l’aggiornamento della configurazione
-
Per annullare l’aggiornamento della configurazione:
È anche possibile annullare un aggiornamento della configurazione di una singola macchina virtuale, di più macchine virtuali o di un intero catalogo. Per annullare un aggiornamento della configurazione:
-
Eseguire
Clear-ProvVMUpdateTimeWindow
. Ad esempio:-
Per annullare l’aggiornamento della configurazione pianificato per una singola macchina virtuale:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” <!--NeedCopy-->
-
Per annullare l’aggiornamento della configurazione pianificato per più macchine virtuali:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
Nota:
Le macchine virtuali devono appartenere allo stesso catalogo.
-
Aggiornare le proprietà delle singole macchine virtuali
È possibile aggiornare le proprietà delle singole macchine virtuali incluse in un catalogo di 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
per applicare gli aggiornamenti.
Questa implementazione consente di gestire le singole macchine virtuali in modo efficiente senza aggiornare l’intero catalogo di macchine. Attualmente, questa funzionalità è applicabile solo all’ambiente Azure.
Attualmente, le proprietà che è possibile aggiornare sono:
CustomProperties
ServiceOffering
MachineProfile
Utilizzando questa funzionalità, è possibile:
- Aggiornare le proprietà di una macchina virtuale
- Conservare le proprietà aggiornate di una macchina virtuale dopo l’aggiornamento del catalogo delle macchine
- Ripristinare gli aggiornamenti di configurazione applicati a una macchina virtuale
Prima di aggiornare le proprietà di una macchina virtuale:
- Aprire una finestra di PowerShell.
- Eseguire il comando
asnp citrix*
per caricare i moduli PowerShell specifici di Citrix. -
Verificare la configurazione del catalogo di macchine esistente. Ad esempio:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy-->
-
Verificare la configurazione della macchina virtuale a cui si desidera applicare gli aggiornamenti. Ad esempio:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Aggiornare le proprietà di una macchina virtuale
Effettuare le seguenti operazioni per aggiornare le proprietà su una macchina virtuale:
- Disattivare la macchina virtuale a cui si intende applicare gli aggiornamenti.
-
Aggiornare le proprietà della macchina virtuale. Ad esempio, se si desidera aggiornare la proprietà personalizzata del tipo di archiviazione (
StorageType
) della macchina virtuale, eseguire i comandi seguenti:Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..." <!--NeedCopy-->
È possibile aggiornare contemporaneamente le proprietà di due macchine virtuali appartenenti a un catalogo di macchine. 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.
-
Ottenere l’elenco delle proprietà specificate per l’aggiornamento e la versione di configurazione. Ad esempio:
Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Controllare il valore della proprietà di
Version
e le proprietà da aggiornare (in questo caso,StorageType
). -
Controllare la versione della configurazione. Ad esempio:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Controllare il valore della proprietà di
ProvVMConfigurationVersion
. L’aggiornamento non è ancora stato applicato. La VM è ancora nella vecchia configurazione. -
Richiedere un aggiornamento pianificato. Ad esempio:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
Per ulteriori informazioni, vedere Aggiornare le macchine di cui è stato eseguito il provisioning allo stato corrente dello schema di provisioning.
Nota:
Viene inoltre applicato qualsiasi aggiornamento dello schema di provisioning in sospeso.
-
Riavviare la macchina virtuale. Ad esempio:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
-
Controllare la versione della configurazione. Ad esempio:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Controllare il valore della proprietà di
ProvVMConfigurationVersion
. L’aggiornamento viene ora applicato. La VM ora ha la nuova configurazione. - Per applicare ulteriori aggiornamenti della configurazione alla macchina virtuale, arrestare la macchina virtuale e ripetere i passaggi.
Conservare le proprietà aggiornate di una macchina virtuale dopo l’aggiornamento del catalogo delle macchine
Effettuare le seguenti operazioni per mantenere le proprietà aggiornate su una macchina virtuale:
- Disattivare la macchina virtuale a cui si intende applicare gli aggiornamenti.
-
Aggiornare il catalogo delle macchine. Ad esempio, se si desidera modificare la dimensione della macchina virtuale (
ServiceOffering
) e il tipo di archiviazione (StorageType
), eseguire i comandi seguenti:Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..." <!--NeedCopy-->
-
Ottenere i dettagli di configurazione del catalogo di macchine. Ad esempio:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy-->
Ora
ProvisioningSchemeVersion
è incrementato di uno. Vengono inoltre aggiornate le dimensioni e il tipo di archiviazione della VM. -
Aggiornare le proprietà della macchina virtuale. Ad esempio, fornire un profilo macchina alla macchina virtuale.
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 di VM diversa (
ServiceOffering
) specificata. -
Ottenere l’elenco delle proprietà che la macchina virtuale avrà dopo aver unito gli aggiornamenti di configurazione effettuati sulla macchina virtuale con gli aggiornamenti del catalogo delle macchine. Ad esempio:
Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Nota:
Qualsiasi aggiornamento avvenuto sulla macchina virtuale sovrascriverà gli aggiornamenti effettuati sul catalogo delle macchine.
-
Richiedere un aggiornamento pianificato per la macchina virtuale. Ad esempio:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
Riavviare la macchina virtuale. Ad esempio:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
La macchina virtuale mantiene le proprie dimensioni aggiornate derivate dal profilo macchina. I valori dei tag specificati nel profilo macchina vengono applicati anche alla macchina virtuale. Tuttavia, il tipo di archiviazione deriva dallo schema di provisioning più recente.
-
Ottenere la versione di configurazione della VM. Ad esempio:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
ProvisioningSchemeVersion
eProvVMConfigurationVersion
ora mostrano la versione più recente.
Ripristinare gli aggiornamenti di configurazione applicati a una macchina virtuale
- Dopo aver applicato gli aggiornamenti a una macchina virtuale, arrestare la macchina virtuale.
-
Eseguire il comando seguente per rimuovere gli aggiornamenti applicati alla macchina virtuale. Ad esempio:
Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
-
Richiedere un aggiornamento pianificato per la macchina virtuale. Ad esempio:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
Riavviare la macchina virtuale. Ad esempio:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
-
Controllare la versione di configurazione della VM. Ad esempio:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
Il valore
ProvVMConfigurationVersion
è ora la versione di configurazione del catalogo macchine.
Recuperare informazioni per le macchine virtuali di Azure, le snapshot, il disco del sistema operativo e la definizione delle immagini della raccolta
È possibile visualizzare informazioni per una macchina virtuale di Azure, inclusi il disco e il tipo del sistema operativo, la snapshot e la definizione delle immagini della raccolta. Queste informazioni vengono visualizzate per le risorse sull’immagine master quando viene assegnato un catalogo delle 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 macchina virtuale, disco del sistema operativo, informazioni sulle immagini della raccolta 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, una snapshot di un disco di dati non contiene il campoTemplateIsWindowsTemplate
perché il tipo di sistema operativo non può essere recuperato da una snapshot.
Ad esempio, impostare il parametro AdditionData
della macchina virtuale di 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 “key”:”value”.
Nome della 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 pubblicata | “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” | |
Macchina virtuale nel catalogo | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
Disco WBC | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” |
Nota:
Una macchina virtuale 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 renderlo visibile.
Ulteriori informazioni
In questo articolo
- Convertire un catalogo di macchine non basato su profili macchina in un catalogo di macchine basato su profili macchina
- Conservare una macchina virtuale di cui è stato eseguito il provisioning durante i cicli di alimentazione
- Portare il tipo di archiviazione a un livello inferiore quando una VM viene arrestata
- Personalizzare il comportamento di accensione in caso di mancata riuscita della modifica del tipo di archiviazione
- Aggiornare le macchine di cui è stato eseguito il provisioning allo stato corrente dello schema di provisioning
- Aggiornare le proprietà delle singole macchine virtuali
- Recuperare informazioni per le macchine virtuali di Azure, le snapshot, il disco del sistema operativo e la definizione delle immagini della raccolta
- Identificare le risorse create da MCS
- Ulteriori informazioni