Citrix Virtual Apps and Desktops

Microsoft Azure-Katalog verwalten

Unter Maschinenkataloge verwalten werden die Assistenten zum Verwalten eines Maschinenkatalogs beschrieben. Die folgenden Informationen beziehen sich speziell auf Microsoft Azure Resource Manager-Cloudumgebungen.

Hinweis:

Sie müssen einen Microsoft Azure-Katalog erstellt haben, bevor Sie ihn verwalten können. Siehe Microsoft Azure-Katalog erstellen.

Maschinenkatalog, der nicht auf Maschinenprofilen basiert, in einen auf einem Maschinenprofil basierenden Maschinenkatalog in einer Azure-Umgebung konvertieren

Sie können eine VM oder eine Vorlagenspezifikation als Maschinenprofileingabe verwenden, um einen Maschinenkatalog, der nicht auf Maschinenprofilen basiert, in einen auf einem Maschinenprofil basierenden Maschinenkatalog zu konvertieren. Vorhandene und neue virtuelle Maschinen, die dem Katalog hinzugefügt werden, übernehmen Eigenschaftswerte aus dem Maschinenprofil, sofern sie nicht durch explizite benutzerdefinierte Eigenschaften überschrieben werden.

Hinweis:

Ein Maschinenkatalog, der auf einem Maschinenprofil basiert, kann nicht in einen Maschinenkatalog geändert werden, der nicht auf einem Maschinenprofil basiert.

Gehen Sie hierzu folgendermaßen vor:

  1. Erstellen Sie einen persistenten oder nicht persistenten Maschinenkatalog mit VMs und ohne Maschinenprofil.
  2. Öffnen Sie das PowerShell-Fenster.
  3. Führen Sie den Befehl Set-ProvScheme aus, um die Eigenschaftswerte aus dem Maschinenprofil auf die neuen VMs anzuwenden, die dem Maschinenkatalog hinzugefügt werden. Beispiel:

    Set-ProvScheme = Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\machineprofile.folder<ResourceGroupName><TemplateSpecName><VersionName>
    <!--NeedCopy-->
    
  4. Führen Sie den Befehl Set-ProvVMUpdateTimeWindow aus, um die Eigenschaftswerte aus dem Maschinenprofil auf die vorhandenen VMs des Maschinenkatalogs anzuwenden. Beispiel:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName xxxx -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  5. Starten Sie die vorhandenen VMs neu, um die Eigenschaftswerte aus dem Maschinenprofil zu erhalten.

Bereitgestellte virtuelle Maschine bei Energiezyklen beibehalten

Wählen Sie aus, ob eine bereitgestellte virtuelle Maschine bei Energiezyklen (Neustarts) beibehalten werden soll. Verwenden Sie den PowerShell-Parameter New-ProvScheme CustomProperties. Dieser Parameter unterstützt die zusätzliche Eigenschaft PersistVm, mit der festgelegt wird, ob eine bereitgestellte virtuelle Maschine bei Energiezyklen beibehalten werden soll. Setzen Sie die Eigenschaft PersistVm auf true, um eine virtuelle Maschine beim Ausschalten beizubehalten, oder setzen Sie die Eigenschaft auf false, um die virtuelle Maschine beim Ausschalten nicht beizubehalten.

Hinweis:

Die Eigenschaft PersistVm gilt nur für ein Provisioningschema mit aktivierten Eigenschaften CleanOnBoot und UseWriteBackCache. Wenn die Eigenschaft PersistVm für nicht persistente virtuelle Maschinen nicht festgelegt ist, werden die Maschinen nach dem Ausschalten aus der Azure-Umgebung gelöscht.

Im folgenden Beispiel ist die Eigenschaft PersistVm im Parameter New-ProvScheme CustomProperties auf true gesetzt:

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

Im folgenden Beispiel behält der Parameter New-ProvScheme CustomProperties den Zurückschreibcache bei, indem PersistVM auf true gesetzt ist:

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

Tipp

Die Eigenschaft PersistVm legt fest, ob eine bereitgestellte virtuelle Maschine beibehalten werden soll. Die Eigenschaft PersistOsdisk legt fest, ob der Betriebssystemdatenträger beibehalten werden soll. Um eine bereitgestellte virtuelle Maschine beizubehalten, müssen Sie zuerst den Betriebssystemdatenträger beibehalten. Löschen Sie den Betriebssystemdatenträger nur, wenn Sie zuvor die virtuelle Maschine löschen. Sie können die Eigenschaft PersistOsdisk verwenden, ohne den Parameter PersistVm festzulegen.

Speichertyps beim Herunterfahren einer VM zu einer niedrigeren Ebene ändern

Sie können Speicherkosten sparen, indem Sie den Speichertyp eines verwalteten Datenträgers auf eine niedrigere Ebene umstellen, wenn Sie eine VM herunterfahren. Verwenden Sie dazu die benutzerdefinierte Eigenschaft StorageTypeAtShutdown.

Der Speichertyp des Datenträgers ändert sich in eine niedrigere Ebene (wie in der benutzerdefinierten Eigenschaft StorageTypeAtShutdown angegeben), wenn Sie die VM herunterfahren. Nach dem Einschalten der VM ändert sich der Speichertyp in den ursprünglichen Speichertyp zurück (wie in der benutzerdefinierten Eigenschaft StorageType oder WBCDiskStorageType angegeben).

Wichtig:

Der Datenträger ist erst vorhanden, wenn die VM mindestens einmal eingeschaltet wurde. Daher können Sie den Speichertyp nicht ändern, wenn Sie die VM zum ersten Mal einschalten.

Anforderungen

  • Gilt für einen verwalteten Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft UseManagedDisks auf “true” festlegen.
  • Gilt für einen persistenten und nicht persistenten Katalog mit einem persistenten OS-Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft persistOsDisk auf “true” festlegen.
  • Gilt für einen nicht persistenten Katalog mit einem persistenten WBC-Datenträger. Dies bedeutet, dass Sie die benutzerdefinierte Eigenschaft persistWBC auf “true” festlegen.

Einschränkung

  • Gemäß Vorgaben von Microsoft können Sie den Datenträgertyp nur zweimal pro Tag ändern. Siehe Microsoft-Dokumentation. Gemäß Citrix erfolgt das StorageType-Update immer dann, wenn eine Aktion zum Starten oder Aufheben der Zuordnung für die VM erfolgt. Beschränken Sie daher die Anzahl der Energieaktionen pro VM auf zwei pro Tag. Beispiel: eine Energieaktion morgens zum VM-Start und eine abends, um die Zuordnung der VM aufzuheben.

Speichertyp auf eine niedrigere Ebene ändern

Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.

  1. Fügen Sie die benutzerdefinierte Eigenschaft StorageTypeAtShutdown hinzu, legen Sie den Wert auf Standard_LRS (HDD) fest und erstellen Sie einen Katalog mit New-ProvScheme. Informationen zum Erstellen eines Katalogs mit PowerShell finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

    Hinweis:

    Wenn StorageTypeAtShutdown einen anderen Wert als leer hat oder Standard_LRS (HDD) ist, schlägt der Vorgang fehl.

    Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Erstellen eines persistenten Katalogs:

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

    Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Erstellen eines nicht persistenten Katalogs:

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

    Hinweis:

    Wenn Sie ein Maschinenprofil verwenden, hat die benutzerdefinierte Eigenschaft Vorrang vor der in MachineProfile definierten Eigenschaft.

  2. Fahren Sie die VM herunter und überprüfen Sie den Speichertyp der VM im Azure-Portal. Der Speichertyp des Datenträgers ändert sich in eine niedrigere Ebene, wie in der benutzerdefinierten Eigenschaft StorageTypeAtShutdown angegeben.
  3. Schalten Sie die VM ein. Der Speichertyp des Datenträgers ändert sich zurück zu dem aufgeführten Speichertyp:
    • Benutzerdefinierte Eigenschaft StorageType für OS-Datenträger
    • Benutzerdefinierte Eigenschaft WBCDiskStorageType für WBC-Datenträger, nur wenn Sie sie in CustomProperties angeben. Andernfalls ändert er sich zurück zum unter StorageType angegebenen Speichertyp.

StorageTypeAtShutdown auf einen vorhandenen Katalog anwenden

Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.

Verwenden Sie Set-ProvScheme, um eine VM zu einem vorhandenen Katalog hinzuzufügen. Das Feature gilt für neue VMs, die nach dem Ausführen von Set-ProvScheme hinzugefügt wurden. Die vorhandenen Maschinen sind nicht betroffen.

Beispiel für das Festlegen benutzerdefinierter Eigenschaften beim Hinzufügen einer VM zu einem vorhandenen Katalog:

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

Speichertyp vorhandener VMs beim Herunterfahren in niedrigere Ebene ändern

Bevor Sie mit den Schritten fortfahren, lesen Sie die Abschnitte Anforderungen und Einschränkungen.

Sie können Speicherkosten sparen, indem Sie den Speichertyp vorhandener VMs beim Herunterfahren der VMs in eine niedrigere Ebene ändern. Verwenden Sie dazu die benutzerdefinierte Eigenschaft StorageTypeAtShutdown.

Führen Sie folgende Schritte aus, um den Speichertyp vorhandener Maschinen in einem Katalog beim Herunterfahren der VMs in eine niedrigere Ebene zu ändern:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Führen Sie Get-Provscheme -ProvisioningSchemeName $CatalogName aus.
  4. Ändern Sie die Zeichenfolge der benutzerdefinierten Eigenschaften.

    $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. Aktualisieren Sie das Provisioningschema des vorhandenen Katalogs. Das Update gilt für neue VMs, die nach dem Ausführen von Set-ProvScheme hinzugefügt wurden.

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. Aktualisieren Sie die vorhandenen VMs, um StorageTypeAtShutdown zu aktivieren.

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Beim nächsten Einschalten der Maschinen wird die Eigenschaft StorageTypeAtShutdown der Maschinen aktualisiert. Der Speichertyp ändert sich beim nächsten Herunterfahren.
  8. Führen Sie den folgenden Befehl aus, um den Wert StorageTypeAtShutdown für jede VM in einem Katalog anzuzeigen:

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

Einschaltverhalten beim Fehlschlagen der Änderung des Speichertyps anpassen

Beim Einschalten kann der Speichertyp eines verwalteten Datenträgers aufgrund eines Fehlers in Azure möglicherweise nicht in den gewünschten Typ geändert werden. In diesen Szenarien würde die VM ausgeschaltet bleiben, und Sie würden eine Fehlermeldung erhalten. Sie können die VM dann entweder einschalten (auch wenn der Speicher nicht auf den konfigurierten Typ wiederhergestellt werden kann) oder die VM ausgeschaltet lassen.

  • Wenn Sie die benutzerdefinierte Eigenschaft FailSafeStorageType als true konfigurieren (Standardeinstellung) oder sie in den Befehlen New-ProvScheme oder Set-ProvScheme nicht angeben:

    • Beim Einschalten wird die VM mit dem falschen Speichertyp eingeschaltet.
    • Beim Herunterfahren bleibt die VM mit dem falschen Speichertyp ausgeschaltet.
  • Wenn Sie die benutzerdefinierte Eigenschaft FailSafeStorageType in den Befehlen New-ProvScheme oder Set-ProvScheme als falsch konfigurieren:

    • Beim Einschalten bleibt die VM mit dem falschen Speichertyp ausgeschaltet.
    • Beim Herunterfahren bleibt die VM mit dem falschen Speichertyp ausgeschaltet.

Erstellen eines Maschinenkatalogs:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Erstellen Sie einen Identitätspool, falls noch nicht vorhanden.
  4. Fügen Sie die benutzerdefinierte Eigenschaft in New-ProvScheme hinzu. Beispiel:

    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. Erstellen Sie den Maschinenkatalog. Informationen zum Erstellen eines Katalogs mit dem Remote PowerShell SDK finden Sie unter https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/.

Aktualisieren Sie einen vorhandenen Maschinenkatalog, sodass er die benutzerdefinierte Eigenschaft FailSafeStorageType enthält. Dieses Update wirkt sich nicht auf bestehende VMs aus.

  1. Aktualisieren Sie die benutzerdefinierte Eigenschaft im Befehl Set-ProvScheme. Beispiel:
   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-->

Führen Sie den Befehl Set-ProvVMUpdateTimeWindow mit den Parametern -StartsNow und -DurationInMinutes -1 aus, um die in Set-ProvScheme vorgenommene Änderung auf die vorhandenen VMs anzuwenden.

  1. Führen Sie den Befehl Set-ProvVMUpdateTimeWindow mit den Parametern -StartsNow und -DurationInMinutes -1 aus. Beispiel:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. Starten Sie die VMs neu.

Aktualisieren bereitgestellter Maschinen auf das aktuelle Provisioningschema

Mit dem Befehl Set-ProvScheme ändern Sie das Provisioningschema. Dies wirkt sich jedoch nicht auf vorhandene Maschinen aus. Mit dem PowerShell-Befehl Set-ProvVMUpdateTimeWindow können Sie das aktuelle Provisioningschema auf eine oder mehrere persistente oder nicht persistente Maschine(n) anwenden. Sie können auch ein Zeitfenster für die Konfigurationsupdates der vorhandenen, per MCS bereitgestellten Maschinen festlegen. Während dieses Zeitfensters wird dann bei jedem Einschalten oder Neustart ein geplantes Update des Provisioningschemas auf eine Maschine angewendet. Derzeit können Sie in Azure ServiceOffering, MachineProfile und die folgenden benutzerdefinierten Eigenschaften aktualisieren:

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

Hinweis:

  • Sie können nur die benutzerdefinierten Eigenschaften StorageType, WBCDiskStorageType und IdentityDiskStorageType eines Katalogs mit verwaltetem Datenträger in Azure-Umgebungen aktualisieren.
  • Wenn Sie Set-ProvVMUpdateTimeWindow zweimal ausführen, wird der neueste Befehl wirksam.

Sie können Folgendes aktualisieren:

  • Eine einzelne VM
  • Eine Liste bestimmter VMs oder alle VMs, die mit der ID eines Provisioningschemas verknüpft sind.
  • Eine Liste bestimmter VMs oder alle VMs, die mit dem Namen eines Provisioningschemas (Maschinenkatalogname) verknüpft sind.

Nachdem Sie die folgenden Änderungen am Provisioningschema vorgenommen haben, wird die VM-Instanz für persistente Kataloge in Azure neu erstellt:

  • Ändern Sie MachineProfile.
  • Entfernen Sie LicenseType.
  • Entfernen Sie DedicatedHostGroupId.

Hinweis:

Der Betriebssystemdatenträger vorhandener Maschinen samt Daten bleibt unverändert, und es wird eine neue VM mit dem Datenträger verbunden.

Bevor Sie die vorhandenen VMs aktualisieren:

  1. Prüfen Sie die Konfiguration der vorhandenen Maschinen. Beispiel:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. Aktualisieren Sie das Provisioningschema. Beispiel:

    • VM zur Eingabe des Maschinenprofils verwenden:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<virtual-machine>.vm"
       <!--NeedCopy-->
      
    • Vorlagenspezifikation zur Eingabe des Maschinenprofils verwenden:

       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-->
      
    • Nur Dienstangebot verwenden:

       Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering"
       <!--NeedCopy-->
      
  3. Überprüfen Sie, ob die aktuelle Eigenschaft der VM mit dem aktuellen Provisioningschema übereinstimmt und ob eine Aktualisierungsaktion auf der VM aussteht. Beispiel:

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

    Sie können auch Maschinen einer bestimmten Version finden. Beispiel:

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

Um Updates für bestehende Maschinen anzufordern, die beim nächsten Neustart angewendet werden sollen, gehen Sie wie folgt vor:

  1. Führen Sie die folgenden Befehle aus, um bestehende Maschinen zu aktualisieren und die Updates beim nächsten Neustart anwenden zu lassen.

    • Aktualisieren Sie alle vorhandenen Maschinen. Beispiel:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Aktualisieren Sie eine Liste bestimmter Maschinen. Beispiel:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
       <!--NeedCopy-->
      
    • Aktualisieren Sie Maschinen basierend auf der Ausgabe von Get-ProvVM. Beispiel:

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

    Hinweis:

    • StartsNow gibt an, dass die geplante Startzeit die aktuelle Uhrzeit ist.
    • DurationInMinutes mit einer negativen Zahl (z. B. -1) gibt an, dass es im Zeitfenster des Zeitplans keine Obergrenze gibt.
  2. Suchen Sie Maschinen mit einem geplanten Update. Beispiel:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. Starten Sie die Maschinen neu. Beim nächsten Einschalten werden Eigenschaftsänderungen auf die vorhandenen Maschinen angewendet. Sie können den aktualisierten Status mit dem folgenden Befehl überprüfen. Beispiel:

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

Zum Planen des Updates einer VM auf die neuesten Provisioningeinstellungen beim nächsten Start im geplanten Zeitfenster:

  1. Führen Sie die folgenden Befehle aus:

    • Update mit der aktuellen Uhrzeit als Startzeit planen:

       Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120
       <!--NeedCopy-->
      
    • Update an einem Wochenende planen:

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

    Hinweis:

    • VMName ist optional. Wenn nicht angegeben, wird das Update für den gesamten Katalog geplant.
    • Verwenden Sie statt StartTimeInUTC den Befehl StartsNow, um anzugeben, dass die geplante Startzeit der aktuellen Uhrzeit entspricht.
    • DurationInMinutes ist optional. Der Standardwert ist 120 Minuten. Eine negative Zahl (z. B. -1) gibt an, dass es im Zeitfenster des Zeitplans keine Obergrenze gibt.
  2. Überprüfen Sie den Updatestatus.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. Schalten Sie die VM ein. Wenn Sie die Maschine nach dem geplanten Zeitfenster einschalten, wird das Konfigurationsupdate nicht durchgeführt. Wenn Sie die Maschine innerhalb des geplanten Zeitfensters einschalten,

    • Wenn die Maschine ausgeschaltet ist und

      • Sie die Maschine nicht einschalten, wird das Konfigurationsupdate nicht angewendet.
      • Sie die Maschine einschalten, wird das Konfigurationsupdate angewendet.
    • Wenn die Maschine eingeschaltet ist und

      • Sie die Maschine nicht neu starten, wird das Konfigurationsupdate nicht angewendet.
      • Sie die Maschine neu starten, wird das Konfigurationsupdate angewendet.

Konfigurationsupdate abbrechen:

Sie können ein Konfigurationsupdate auch für eine einzelne VM, mehrere VMs oder einen gesamten Katalog abbrechen. Konfigurationsupdate abbrechen:

  1. Führen Sie Clear-ProvVMUpdateTimeWindow aus. Beispiel:

    • Das für eine einzelne VM geplante Konfigurationsupdate abbrechen:

        Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1”
        <!--NeedCopy-->
      
    • Das für mehrere VMs geplante Konfigurationsupdate abbrechen:

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

      Hinweis:

      Die VMs müssen aus demselben Katalog stammen.

Eigenschaften einzelner VMs aktualisieren

Sie können die Eigenschaften einzelner VMs in einem persistenten MCS-Maschinenkatalog mithilfe des PowerShell-Befehls Set-ProvVM aktualisieren. Die Updates werden jedoch nicht sofort angewendet. Sie müssen das Zeitfenster zur Anwendung der Updates mit dem PowerShell-Befehl Set-ProvVMUpdateTimeWindow festlegen.

Mithilfe dieser Implementierung können Sie einzelne VMs effizient verwalten, ohne den gesamten Maschinenkatalog aktualisieren zu müssen. Derzeit gilt dieses Feature nur für die Azure-Umgebung.

Derzeit können Sie folgende Eigenschaften aktualisieren:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

Mit dem Feature ist Folgendes möglich:

Vor dem Aktualisieren der Eigenschaften einer VM:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Prüfen Sie die Konfiguration des vorhandenen Maschinenkatalogs. Beispiel:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. Überprüfen Sie die Konfiguration der VM, die Sie aktualisieren möchten. Beispiel:

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

Eigenschaften einer VM aktualisieren

Gehen Sie wie folgt vor, um die Eigenschaften einer VM zu aktualisieren:

  1. Schalten Sie die VM aus, auf der Sie die Updates anwenden möchten.
  2. Aktualisieren Sie die Eigenschaften der VM. Wenn Sie beispielsweise die benutzerdefinierte Eigenschaft Speichertyp (StorageType) der VM aktualisieren möchten, führen Sie Folgendes aus:

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

    Sie können die Eigenschaften zweier VMs in einem Maschinenkatalog gleichzeitig aktualisieren. Beispiel:

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

    Hinweis:

    Die Updates werden nicht sofort angewendet.

  3. Rufen Sie die Liste der zur Aktualisierung angegebenen Eigenschaften und die Konfigurationsversion ab. Beispiel:

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

    Überprüfen Sie den Eigenschaftswert von Version und die Eigenschaften, die aktualisiert werden sollen (in diesem Fall StorageType).

  4. Überprüfen Sie die Konfigurationsversion. Beispiel:

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

    Überprüfen Sie den Wert der Eigenschaft ProvVMConfigurationVersion. Das Update wurde noch nicht angewendet. Die VM besitzt immer noch die alte Konfiguration.

  5. Fordern Sie ein geplantes Update an. Beispiel:

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

    Weitere Informationen zu geplanten Updates finden Sie unter Aktualisieren bereitgestellter Maschinen auf das aktuelle Provisioningschema.

    Hinweis:

    Jegliches ausstehende Provisioningschema-Update wird ebenfalls angewendet.

  6. Starten Sie die VM neu. Beispiel:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. Überprüfen Sie die Konfigurationsversion. Beispiel:

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

    Überprüfen Sie den Wert der Eigenschaft ProvVMConfigurationVersion. Das Update wurde angewendet. Die VM hat jetzt die neue Konfiguration.

  8. Um weitere Konfigurationsupdates auf der VM anzuwenden, schalten Sie die VM aus und wiederholen Sie die Schritte.

Aktualisierte Eigenschaften auf einer VM nach dem Aktualisieren des Maschinenkatalogs beibehalten

Gehen Sie wie folgt vor, um die aktualisierten Eigenschaften einer VM beizubehalten:

  1. Schalten Sie die VM aus, auf der Sie die Updates anwenden möchten.
  2. Aktualisieren Sie den Maschinenkatalog. Wenn Sie beispielsweise die VM-Größe (ServiceOffering) und den Speichertyp (StorageType) ändern möchten, führen Sie Folgendes aus:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. Rufen Sie die Konfigurationsdetails des Maschinenkatalogs ab. Beispiel:

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

    ProvisioningSchemeVersion wird jetzt um eins erhöht. Die VM-Größe und der Speichertyp werden ebenfalls aktualisiert.

  4. Aktualisieren Sie die Eigenschaften der VM. Stellen Sie der VM beispielsweise ein Maschinenprofil bereit.

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

    Hinweis:

    Die Maschinenprofileingabe hat ein Tag und eine andere VM-Größe (ServiceOffering).

  5. Rufen Sie die Liste der Eigenschaften ab, die die VM nach dem Zusammenführen der Konfigurationsupdates auf der VM mit den Maschinenkatalog-Updates haben wird. Beispiel:

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

    Hinweis:

    Alle Updates der VM setzen die Updates am Maschinenkatalog außer Kraft.

  6. Fordern Sie ein geplantes Update für die VM an. Beispiel:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. Starten Sie die VM neu. Beispiel:

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

    Die VM behält ihre aktualisierte, aus dem Maschinenprofil abgeleitete Größe bei. Die im Maschinenprofil angegebenen Tag-Werte werden ebenfalls auf die VM angewendet. Der Speichertyp wird jedoch aus dem neuesten Provisioningschema abgeleitet.

  8. Rufen Sie die Konfigurationsversion der VM ab. Beispiel:

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

    Für ProvisioningSchemeVersion und ProvVMConfigurationVersion wird jetzt die neueste Version angegeben.

Auf eine VM angewendete Konfigurationsupdates rückgängig machen

  1. Nachdem Sie die Updates auf eine VM angewendet haben, schalten Sie die VM aus.
  2. Führen Sie den folgenden Befehl aus, um die Updates zu entfernen, die auf die VM angewendet wurden. Beispiel:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. Fordern Sie ein geplantes Update für die VM an. Beispiel:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. Starten Sie die VM neu. Beispiel:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. Überprüfen Sie die Konfigurationsversion der VM. Beispiel:

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

    Der Wert für ProvVMConfigurationVersion gibt jetzt die Konfigurationsversion des Maschinenkatalogs wieder.

Abrufen von Informationen für Azure-VMs, Snapshots, Betriebssystemdatenträger und Katalogimagedefinition

Sie können Informationen für eine Azure-VM anzeigen, einschließlich Betriebssystemdatenträger und -typ, Snapshot und Katalogimagedefinition. Diese Informationen werden für Ressourcen im Masterimage angezeigt, wenn ein Maschinenkatalog zugewiesen wird. Verwenden Sie diese Funktion, um entweder ein Linux- oder ein Windows-Image anzuzeigen und auszuwählen. Eine PowerShell-Eigenschaft, TemplateIsWindowsTemplate, wurde dem Parameter AdditionDatafield hinzugefügt. Dieses Feld enthält Azure-spezifische Informationen: VM-Typ, Betriebssystemdatenträger, Informationen zum Katalogimage und Informationen zum Betriebssystemtyp. Die Einstellung von TemplateIsWindowsTemplate auf True zeigt an, dass der Betriebssystemtyp Windows ist; die Einstellung von TemplateIsWindowsTemplate auf False zeigt an, dass der Betriebssystemtyp Linux ist.

Tipp

Die von der PowerShell-Eigenschaft TemplateIsWindowsTemplate angezeigten Informationen werden von der Azure-API abgeleitet. Gelegentlich kann dieses Feld leer sein. Beispiel: Ein Snapshot von einem Datenträger enthält das Feld TemplateIsWindowsTemplate nicht, da der Betriebssystemtyp nicht aus einem Snapshot abgerufen werden kann.

Beispiel: Legen Sie den AdditionData-Parameter der Azure-VM für den Betriebssystemtyp Windows mit PowerShell auf True fest:

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

Identifizieren der von MCS erstellten Ressourcen

Nachfolgend werden die Tags aufgeführt, die MCS den Ressourcen hinzufügt. Die Tags werden in der Tabelle als in der Form “Schlüssel”: “Wert” dargestellt.

Ressourcenname Tag
ID-Datenträger “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Image “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Netzwerkkarte “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
OS-Datenträger “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Vorbereitungs-VM “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Veröffentlichter Snapshot “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
Ressourcengruppe “CitrixResource” : “Internal”
  CitrixSchemaVersion: 2.0
  “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
Speicherkonto “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
VM im Katalog “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”
WBC-Datenträger “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
  “CitrixResource” : “Internal”

Hinweis:

Eine VM ist im Citrix-Bestand nicht sichtbar, wenn ein CitrixResource-Tag hinzugefügt wird, um sie als eine von MCS erstellte Ressource zu identifizieren. Sie können das Tag entfernen oder umbenennen, um sie sichtbar zu machen.

Weitere Informationen