Citrix Virtual Apps and Desktops

Microsoft Azure Resource Manager-Cloudumgebungen

Folgen Sie den Anleitungen in diesem Artikel, wenn Sie mit Microsoft Azure Resource Manager virtuelle Maschinen in Ihrer Citrix Virtual Apps and Desktops-Umgebung bereitstellen.

Es wird davon ausgegangen, dass Sie Kenntnisse in folgenden Bereichen besitzen:

Bedarfsgesteuertes Provisioning in Azure

Beim bedarfsgesteuerten Provisioning in Azure werden VMs nur erstellt, wenn Citrix Virtual Apps and Desktops nach Abschluss des Provisionings eine Einschaltaktion initiiert.

Wenn Sie Maschinenkataloge mit Maschinenerstellungsdiensten (MCS) in Azure Resource Manager erstellen, bietet das bedarfsgesteuerte Provisioning in Azure folgende Vorteile:

  • Geringere Speicherkosten
  • Schnellere Katalogerstellung

Wenn Sie einen MCS-Katalog erstellen, werden im Azure-Portal die Netzwerksicherheitsgruppe, Netzwerkschnittstellen, Basisimages und Identitätsdatenträger in den Ressourcengruppen angezeigt.

VMs werden erst dann im Azure-Portal angezeigt, wenn Citrix Virtual Apps and Desktops eine VM-Einschaltaktion startet. Es gibt zwei Arten von Maschinen mit den folgenden Unterschieden:

  • Bei gepoolten Maschinen sind OS-Datenträger und Zurückschreibcache nur vorhanden, wenn die VM vorhanden ist. Wenn Sie eine gepoolte Maschine in der Konsole herunterfahren, ist die VM im Azure-Portal nicht sichtbar. Wenn Sie Maschinen routinemäßig herunterfahren (z. B. außerhalb der Arbeitszeit), sparen Sie erhebliche Speicherkosten.
  • Bei dedizierten Maschinen wird der Betriebssystemdatenträger beim ersten Einschalten der VM erstellt. Die virtuelle Maschine im Azure-Portal bleibt im Speicher, bis die Maschinenidentität gelöscht wird. Wenn Sie eine dedizierte Maschine in der Konsole herunterfahren, ist die VM weiterhin im Azure-Portal sichtbar.

Verbindung mit Azure Resource Manager

Im Artikel Verbindungen und Ressourcen werden die Assistenten zum Erstellen einer Verbindung beschrieben. Die nachfolgenden Informationen gelten für Azure Resource Manager-Verbindungen.

Überlegungen:

  • Citrix empfiehlt, den Dienstprinzipal mit der Rolle “Mitwirkender” zu verwenden. Beachten Sie jedoch die Liste der Mindestberechtigungen im Abschnitt Mindestberechtigungen.
  • Beim Erstellen der ersten Verbindung fordert Azure Sie auf, die erforderlichen Berechtigungen zu erteilen. Sie müssen sich für zukünftige Verbindungen neu authentifizieren, Ihre Zustimmung wird jedoch in Azure gespeichert und die Aufforderung nicht wieder angezeigt.
  • Für die Authentifizierung verwendete Konten müssen Co-Administrator des Abonnements sein.
  • Das für die Authentifizierung verwendete Konto muss Mitglied des Verzeichnisses des Abonnements sein. Es gibt zwei Arten von Konten, auf die Sie achten sollten: “Arbeitsplatz oder Schule” und “Persönliches Microsoft-Konto”. Weitere Informationen finden Sie unter CTX219211.
  • Sie können zwar ein bestehendes Microsoft-Konto als Mitglied des Abonnementverzeichnisses hinzufügen und verwenden, doch kann es zu Komplikationen kommen, wenn dem Konto zuvor Gastzugriff auf eine der Verzeichnisressourcen gewährt worden war. In diesem Fall besitzt das Konto möglicherweise einen Platzhaltereintrag im Verzeichnis, der nicht die erforderlichen Berechtigungen gewährt, und es wird ein Fehler zurückgegeben.

    Entfernen Sie zur Behebung die Ressourcen aus dem Verzeichnis und fügen Sie sie wieder hinzu. Dabei ist jedoch Vorsicht geboten, denn dies hat unbeabsichtigte Auswirkungen auf andere Ressourcen, auf die das Konto zugreifen kann.

  • Es gibt ein bekanntes Problem, bei dem bestimmte Konten, die eigentlich Mitglieder sind, als Verzeichnisgäste erkannt werden. Diese Konfiguration gibt es normalerweise bei älteren Verzeichniskonten. Fügen Sie als Workaround dem Verzeichnis jeweils ein Konto hinzu, das den richtigen Mitgliedschaftswert erhält.
  • Ressourcengruppen sind Container für Ressourcen und können Ressourcen aus ihrer eigenen und aus anderen Regionen enthalten. Dies kann Verwirrung auslösen, wenn Sie erwarten, dass die in der Region einer Ressourcengruppe angezeigten Ressourcen verfügbar sind.
  • Stellen Sie sicher, dass Ihr Netzwerk und Subnetz groß genug zum Hosten der benötigten Maschinenzahl ist. Dies erfordert einiges an Vorausschau, doch Microsoft kann Ihnen bei der Wahl der richtigen Werte und der Planung der erforderlichen Adressraumkapazität helfen.

Sie können eine Hostverbindung mit Azure auf zweierlei Weise herstellen:

  • Authentifizierung bei Azure zum Erstellen eines Dienstprinzipals
  • Verwenden der Informationen eines zuvor erstellten Dienstprinzipals für die Verbindung mit Azure

Erstellen eines Dienstprinzipals

Wichtig:

Dieses Feature ist für deutsche und chinesische Azure-Abonnements noch nicht verfügbar.

Authentifizieren Sie sich zunächst bei Azure. Stellen Sie Folgendes sicher:

  • Sie haben ein Benutzerkonto des Azure Active Directory-Mandanten Ihres Abonnements.
  • Das Azure Active Directory-Benutzerkonto ist Co-Administrator des Azure-Abonnements, das Sie für die Bereitstellung von Ressourcen verwenden möchten.
  • Sie haben globale Administrator-, Anwendungsadministrator- oder Anwendungsentwicklerberechtigungen für die Authentifizierung. Diese Berechtigungen können widerrufen werden, wenn Sie eine Hostverbindung erstellt haben. Weitere Informationen zu Rollen finden Sie unter Integrierte Azure AD-Rollen.

Wenn Sie sich bei Azure authentifizieren, um einen Dienstprinzipal zu erstellen, wird eine Anwendung in Azure registriert. Für die registrierte Anwendung wird ein geheimer Clientschlüssel erstellt. Die registrierte Anwendung verwendet den geheimen Clientschlüssel zur Authentifizierung bei Azure AD. Stellen Sie sicher, dass Sie den geheimen Clientschlüssel ändern, bevor er abläuft. Sie erhalten eine Warnung in der Konsole, bevor der geheime Schlüssel abläuft.

Um sich bei Azure zu authentifizieren und einen Dienstprinzipal zu erstellen, führen Sie im Assistenten zum Hinzufügen von Verbindung und Ressourcen die folgenden Schritte aus:

  1. Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, als Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung.

  2. Wählen Sie die Tools, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.

  3. Geben Sie auf der Seite Verbindungsdetails die ID Ihres Azure-Abonnements und einen Namen für die Verbindung ein. Nachdem Sie die Abonnement-ID eingegeben haben, wird die Schaltfläche Neu erstellen verfügbar.

    Hinweis:

    Der Verbindungsname muss aus 1–64 Zeichen bestehen, er darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten: \/;:#.*?=<>|[]{}"'()'

  4. Wählen Sie Neu erstellen und geben Sie den Benutzernamen und das Kennwort des Azure Active Directory-Kontos ein.

  5. Wählen Sie Anmelden.

  6. Wählen Sie Akzeptieren, um Citrix Virtual Apps and Desktops die aufgelisteten Berechtigungen zu erteilen. In Citrix Virtual Apps and Desktops wird ein Dienstprinzipal erstellt, der die Verwaltung von Azure-Ressourcen für den angegebenen Benutzer ermöglicht.

  7. Nachdem Sie Akzeptieren gewählt haben, kehren Sie auf die Seite Verbindung im Assistenten zurück.

    Hinweis:

    Nachdem Sie sich bei Azure authentifiziert haben, werden die Schaltflächen Neu erstellen und Vorhandene verwenden ausgeblendet. Der Text Verbindung erfolgreich und ein grünes Häkchen zeigen die erfolgreiche Verbindung mit Ihrem Azure-Abonnement an.

  8. Wählen Sie Weiter auf der Seite Verbindungsdetails.

    Hinweis:

    Sie können im Assistenten erst fortfahren, wenn Sie sich bei Azure authentifiziert und die Erteilung der erforderlichen Berechtigungen akzeptiert haben.

  9. Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen Region und Netzwerk.

    • Wählen Sie auf der Seite Region eine Region aus.
    • Gehen Sie auf der Seite Netzwerk wie folgt vor:
      • Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten: \/;:#.*?=<>|[]{}"'()'.
      • Wählen Sie eine Kombination aus virtuellem Netzwerk und Ressourcengruppe. (Wenn Sie mehrere virtuelle Netzwerke mit dem gleichen Namen haben, erzielen Sie durch die Kombination aus Netzwerknamen und Ressourcengruppe Einmaligkeit.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu der Seite zurück und wählen Sie eine Region, die virtuelle Netzwerke enthält.
  10. Überprüfen Sie auf der Seite Zusammenfassung die Einstellungen und wählen Sie Fertig stellen, um die Einrichtung abzuschließen.

Verwenden der Informationen eines zuvor erstellten Dienstprinzipals für die Verbindung mit Azure

Zum manuellen Erstellen eines Dienstprinzipals stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her und verwenden Sie die in den nachfolgenden Abschnitten aufgeführten PowerShell-Cmdlets.

Voraussetzungen:

  • SubscriptionId: Azure Resource Manager-SubscriptionID des Abonnements, für das Sie VDAs bereitstellen möchten.
  • ActiveDirectoryID: Mandanten-ID der Anwendung ein, die Sie bei Azure AD registriert haben.
  • ApplicationName: Name der Anwendung, die in Azure AD erstellt werden soll.

Führen Sie zum Erstellen eines Dienstprinzipals folgende Schritte aus:

  1. Stellen Sie eine Verbindung mit Ihrem Azure Resource Manager-Abonnement her.

    Connect-AzAccount

  2. Wählen Sie das Azure Resource Manager-Abonnement, in dem Sie den Dienstprinzipal erstellen möchten.

    Get-AzSubscription -SubscriptionId $subscriptionId | Select-AzSubscription

  3. Erstellen Sie die Anwendung im AD-Mandanten.

    $AzureADApplication = New-AzADApplication -DisplayName $ApplicationName

  4. Erstellen Sie einen Dienstprinzipal.

    New-AzADServicePrincipal -ApplicationId $AzureADApplication.AppId

  5. Weisen Sie dem Dienstprinzipal eine Rolle zu.

    New-AzRoleAssignment -RoleDefinitionName Contributor -ServicePrincipalName $AzureADApplication.AppId –scope /subscriptions/$SubscriptionId

  6. Notieren Sie die im Ausgabefenster der PowerShell-Konsole angezeigte Anwendungs-ID (ApplicationId). Sie müssen diese ID beim Erstellen der Hostverbindung angeben.

Führen Sie im Assistenten Verbindung und Ressourcen hinzufügen folgende Schritte aus:

  1. Wählen Sie auf der Seite Verbindung die Option Neue Verbindung erstellen, als Verbindungstyp Microsoft Azure und Ihre Azure-Umgebung.

  2. Wählen Sie die Tools, die zum Erstellen der virtuellen Maschinen verwendet werden sollen, und wählen Sie dann Weiter.

  3. Geben Sie auf der Seite Verbindungsdetails die ID Ihres Azure-Abonnements und einen Namen für die Verbindung ein.

    Hinweis:

    Der Verbindungsname muss aus 1–64 Zeichen bestehen, er darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten: \/;:#.*?=<>|[]{}"'()'

  4. Wählen Sie Vorhandene verwenden. Geben Sie im Fenster Vorhandene Dienstprinzipaldetails die folgenden Einstellungen für den bestehenden Dienstprinzipal ein. Nachdem Sie die Details eingegeben haben, ist die Schaltfläche Speichern aktiviert. Wählen Sie Speichern. Sie können erst fortfahren, wenn Sie gültige Angaben gemacht haben.

    • Abonnement-ID. Geben Sie Ihre Azure-Abonnement-ID ein. Um Ihre Abonnement-ID zu erhalten, melden Sie sich beim Azure-Portal an und gehen Sie zu Abonnements > Übersicht.
    • Active Directory-ID (Mandanten-ID). Geben Sie die Verzeichnis-ID (Mandanten-ID) der Anwendung ein, die Sie bei Azure AD registriert haben.
    • Anwendungs-ID. Geben Sie die Anwendungs-ID (Client-ID) der Anwendung ein, die Sie bei Azure AD registriert haben.
    • Anwendungsgeheimnis. Erstellen Sie einen geheimen Clientschlüssel. Die registrierte Anwendung verwendet den Schlüssel zur Authentifizierung bei Azure AD. Es wird empfohlen, Schlüssel aus Sicherheitsgründen regelmäßig zu ändern. Speichern Sie den Schlüssel unbedingt, da Sie ihn später nicht abrufen können.
    • Ablaufdatum des Geheimnisses. Geben Sie das Datum ein, nach dem das Anwendungsgeheimnis abläuft. Sie erhalten eine Warnung in der Konsole, bevor der geheime Schlüssel abläuft. Wenn der geheime Schlüssel abläuft, erhalten Sie Fehler.

      Hinweis:

      Aus Sicherheitsgründen darf das Ablaufdatum nicht mehr als zwei Jahre in der Zukunft liegen.

    • Authentifizierungs-URL. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.
    • Verwaltungs-URL. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.
    • Speichersuffix. Dieses Feld wird automatisch ausgefüllt und kann nicht bearbeitet werden.

      Für die Erstellung eines MCS-Katalogs in Azure ist Zugriff auf die folgenden Endpunkte erforderlich. Durch Zugriff auf diese Endpunkte wird die Konnektivität zwischen Ihrem Netzwerk und dem Azure-Portal und seinen Diensten optimiert.

  5. Nachdem Sie Speichern gewählt haben, wird die Seite Verbindungsdetails wieder angezeigt. Wählen Sie Weiter, um mit der nächsten Seite fortzufahren.

  6. Konfigurieren Sie Ressourcen für die Verbindung. Ressourcen umfassen Region und Netzwerk.

    • Wählen Sie auf der Seite Region eine Region aus.
    • Gehen Sie auf der Seite Netzwerk wie folgt vor:
      • Geben Sie einen Ressourcennamen zur Identifizierung der Kombination aus Region und Netzwerk ein. Der Name muss aus 1–64 Zeichen bestehen. Der Ressourcenname darf nicht ausschließlich aus Leerzeichen bestehen und folgende Zeichen nicht enthalten: \/;:#.*?=<>|[]{}"'()'.
      • Wählen Sie eine Kombination aus virtuellem Netzwerk und Ressourcengruppe. (Wenn Sie mehrere virtuelle Netzwerke mit dem gleichen Namen haben, erzielen Sie durch die Kombination aus Netzwerknamen und Ressourcengruppe Einmaligkeit.) Wenn die auf der vorherigen Seite ausgewählte Region keine virtuellen Netzwerke enthält, kehren Sie zu der Seite zurück und wählen Sie eine Region, die virtuelle Netzwerke enthält.
  7. Überprüfen Sie auf der Seite Zusammenfassung die Einstellungen und wählen Sie Fertig stellen, um die Einrichtung abzuschließen.

Erstellen eines Maschinenkatalogs unter Verwendung eines Azure Resource Manager-Images

Ein Image kann ein Datenträger, ein Snapshot oder eine Imageversion einer Imagedefinition in Azure Compute Gallery sein, das zum Erstellen der VMs in einem Maschinenkatalog verwendet wird. Erstellen Sie vor dem Erstellen des Maschinenkatalogs ein Image in Azure Resource Manager. Allgemeine Informationen über Images finden Sie im Artikel Erstellen von Maschinenkatalogen.

Die Verwendung eines Maschinenprofils mit vertrauenswürdigem Start als Sicherheitstyp ist obligatorisch, wenn Sie ein Image oder einen Snapshot auswählen, für das bzw. den der vertrauenswürdige Start aktiviert ist. Sie können dann SecureBoot und vTPM aktivieren oder deaktivieren, indem Sie die zugehörigen Werte im Maschinenprofil angeben. Informationen zum vertrauenswürdigen Start in Azure finden Sie unter Vertrauenswürdiger Start für virtuelle Azure-Maschinen.

Der Maschinenkatalog verwendet die folgenden Eigenschaften, die in den benutzerdefinierten Eigenschaften definiert sind:

  • Verfügbarkeitszone
  • ID der dedizierten Hostgruppe
  • ID des Datenträgerverschlüsselungssatzes
  • Betriebssystemtyp
  • Lizenztyp
  • Speichertyp

Wenn diese benutzerdefinierten Eigenschaften nicht explizit definiert sind, werden die Eigenschaftswerte über die ARM-Vorlagenspezifikation oder VM festgelegt, je nachdem, was als Maschinenprofil verwendet wird. Wenn ServiceOffering nicht angegeben ist, wird der Wert über das Maschinenprofil festgelegt.

Hinweis:

Wenn einige der Eigenschaften im Maschinenprofil fehlen und nicht in den benutzerdefinierten Eigenschaften definiert sind, werden die Standardwerte der Eigenschaften angewendet, soweit zutreffend.

Im folgenden Abschnitt werden einige Szenarios für New-ProvScheme und Set-ProvScheme beschrieben, wenn für CustomProperties entweder alle Eigenschaften definiert sind oder Werte aus dem MachineProfile abgeleitet werden.

New-ProvScheme-Szenarios

  • Im MachineProfile sind alle Eigenschaften definiert und CustomProperties sind nicht definiert. Beispiel:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select 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="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Im MachineProfile sind einige Eigenschaften definiert und CustomProperties sind nicht definiert. Beispiel: Im MachineProfile sind nur LicenseType und OsType festgelegt.

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm"

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select CustomProperties
     <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Sowohl im MachineProfile als auch in CustomProperties sind alle Eigenschaften definiert. Beispiel:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    Benutzerdefinierte Eigenschaften haben Priorität. Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select 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="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="DedicatedHostGroupId" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<CustomPropertiesA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Einige Eigenschaften sind im MachineProfile definiert und einige Eigenschaften sind in CustomProperties definiert. Beispiel:
    • CustomProperties definieren LicenseType und StorageAccountType
    • MachineProfile definiert LicenseType, OsType und Zonen

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -CustomProperties $CustomPropertiesA

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select 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="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<mpA-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesA-value>"/>
     <Property xsi:type="StringProperty" Name="Zones" Value="<mpA-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Einige Eigenschaften sind im MachineProfile definiert und einige Eigenschaften sind in CustomProperties definiert. Darüber hinaus ist ServiceOffering nicht definiert. Beispiel:

    • CustomProperties definieren StorageType
    • MachineProfile definiert LicenseType
     New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mp.vm"
     -ServiceOffering "XDHyp:\HostingUnits\azureunit\serviceoffering.folder<explicit-machine-size>.serviceoffering"
     <!--NeedCopy-->
    

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<explicit-machine-size>.serviceoffering
    
     Get-ProvScheme | select 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="explicit-storage-type"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="value-from-machineprofile"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Wenn der OsType weder in CustomProperties noch im MachineProfile definiert ist, gilt Folgendes:
    • Der Wert wird aus dem Masterimage gelesen.
    • Ist das Masterimage ein nicht verwalteter Datenträger, ist der OsType auf Windows eingestellt.

    Beispiel:

    New-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpA.vm" -MasterImageVM "XDHyp:\HostingUnits\azureunit\image.folder\linux-master-image.manageddisk"

    Der Wert aus dem Masterimage wird in die benutzerdefinierten Eigenschaften geschrieben, in diesem Fall Linux.

     Get-ProvScheme | select CustomProperties
    <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="OSType" Value="Linux"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Set-ProvScheme-Szenarios

  • Ein vorhandener Katalog mit:
    • CustomProperties für StorageAccountType und OsType
    • MachineProfile mpA.vm, das Zonen definiert

    Updates:

    • MachineProfile mpB.vm, das StorageAccountType definiert
    • Ein neuer Satz von benutzerdefinierten Eigenschaften $CustomPropertiesB, der LicenseType und OsType definiert

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm" -CustomProperties $CustomPropertiesB

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select 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="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<CustomPropertiesB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Ein vorhandener Katalog mit:
    • CustomProperties für StorageAccountType und OsType
    • MachineProfile mpA.vm, das StorageAccountType und LicenseType definiert

    Updates:

    • Ein neuer Satz von benutzerdefinierten Eigenschaften $CustomPropertiesB, der StorageAccountType und OsType definiert.

    Set-ProvScheme -CustomProperties $CustomPropertiesB

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select 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="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<CustomPropertiesB-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mp-A-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    
  • Ein vorhandener Katalog mit:
    • CustomProperties für StorageAccountType und OsType
    • MachineProfile mpA.vm, das Zonen definiert

    Updates:

    • Ein MachineProfile mpB.vm, das StorageAccountType und LicenseType definiert
    • ServiceOffering ist nicht angegeben

    Set-ProvScheme -MachineProfile "XDHyp:\HostingUnits\azureunit\machineprofile.folder\azure.resourcegroup\mpB.vm"

    Die folgenden Werte werden als benutzerdefinierte Eigenschaften für den Katalog festgelegt:

     Get-ProvScheme | select ServiceOffering
     serviceoffering.folder<value-from-machineprofile>.serviceoffering
    
     Get-ProvScheme | select 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="<mpB-value>"/>
     <Property xsi:type="StringProperty" Name="OSType" Value="<prior-CustomProperties-value>"/>
     <Property xsi:type="StringProperty" Name="LicenseType" Value="<mpB-value>"/>
     </CustomProperties>
     <!--NeedCopy-->
    

Azure-Datenträgerverschlüsselung auf dem Host

Sie können einen MCS-Maschinenkatalog mit Verschlüsselung auf dem Host erstellen. Derzeit unterstützen die Maschinenerstellungsdienste (MCS) nur den Maschinenprofilworkflow für dieses Feature. Sie können eine VM oder eine Vorlagenspezifikation als Eingabe für ein Maschinenprofil verwenden.

Bei diesem Verschlüsselungsverfahren werden Daten nicht über den Azure-Speicher verschlüsselt. Die Daten werden auf dem Hostserver verschlüsselt und dann verschlüsselt durch den Azure-Speicherserver geleitet. Es kommt also zu einer End-to-End-Verschlüsselung der Daten.

Einschränkungen:

Die Azure-Datenträgerverschlüsselung auf dem Host:

  • wird nicht für alle Azure-Maschinengrößen unterstützt.
  • ist nicht kompatibel mit der Azure-Datenträgerverschlüsselung.

Erstellen eines Maschinenkatalogs mit Verschlüsselung auf dem Host:

  1. Prüfen Sie, ob die Verschlüsselung auf dem Host für Ihr Abonnement aktiviert ist. Weitere Informationen hierzu finden Sie unter https://learn.microsoft.com/en-us/rest/api/resources/features/get?tabs=HTTP/. Wenn das Feature nicht aktiviert ist, müssen Sie es für das Abonnement aktivieren. Informationen zur Aktivierung des Features für Ihr Abonnement finden Sie unter https://learn.microsoft.com/en-us/azure/virtual-machines/disks-enable-host-based-encryption-portal?tabs=azure-powershell#prerequisites/.
  2. Prüfen Sie, ob die Verschlüsselung auf dem Host für die vorliegende Azure-VM-Größe unterstützt wird. Führen Sie dazu in einem PowerShell-Fenster einen der folgenden Befehle aus:

    PS XDHyp:\Connections<your connection>\east us.region\serviceoffering.folder>
    <!--NeedCopy-->
    
    PS XDHyp:\HostingUnits<your hosting unit>\serviceoffering.folder>
    <!--NeedCopy-->
    
  3. Erstellen Sie eine VM oder Vorlagenspezifikation als Eingabe für das Maschinenprofil, im Azure-Portal mit aktivierter Verschlüsselung auf dem Host.

    • Wenn Sie eine VM erstellen möchten, wählen Sie eine VM-Größe, die die Verschlüsselung auf dem Host unterstützt. Nach dem Erstellen der VM ist die VM-Eigenschaft Encryption at host aktiviert.
    • Wenn Sie eine Vorlagenspezifikation verwenden möchten, weisen Sie dem Parameter Encryption at Host den Wert true unter securityProfile zu.
  4. Erstellen Sie einen MCS-Maschinenkatalog mit Maschinenprofilworkflow, indem Sie eine VM oder Vorlagenspezifikation auswählen.

    • Datenträger/Betriebssystemdatenträger: Die Verschlüsselung erfolgt über einen kundenseitig verwalteten Schlüssel und einen plattformseitig verwalteten Schlüssel.
    • Kurzlebiger Betriebssystemdatenträger: Die Verschlüsselung erfolgt nur über einen plattformseitig verwalteten Schlüssel.
    • Cache-Datenträger: Die Verschlüsselung erfolgt über einen kundenseitig verwalteten Schlüssel und einen plattformseitig verwalteten Schlüssel.

    Sie können den Maschinenkatalog mithilfe von “Vollständige Konfiguration” oder über PowerShell-Befehle erstellen.

    Um einen Maschinenkatalog über PowerShell-Befehle zu erstellen, wobei der Verschlüsselungsschlüssel kundenseitig verwaltet wird, führen Sie folgende Schritte aus:

    1. Öffnen Sie ein PowerShell-Fenster.
    2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
    3. Geben Sie cd xdhyp:/ ein.
    4. Geben Sie cd .\HostingUnits\(your hosting unit) ein.
    5. Geben Sie cd diskencryptionset.folder ein.
    6. Geben Sie dir ein, um die Liste der Datenträgerverschlüsselungssets abzurufen.
    7. Kopieren Sie die ID eines Datenträgerverschlüsselungssets.
    8. Erstellen Sie die Zeichenfolge einer benutzerdefinierten Eigenschaft, die die ID des Datenträgerverschlüsselungssets enthält. Beispiel:

      $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=`"persistWBC`" Value=`"False`" />
      <Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"false`" />
      <Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" />
      <Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/0xxx4xxx-xxb-4bxx-xxxx-xxxxxxxx/resourceGroups/abc/providers/Microsoft.Compute/diskEncryptionSets/abc-des`"/>
      </CustomProperties>
      <!--NeedCopy-->
      
    9. Erstellen Sie einen Identitätspool, falls noch nicht vorhanden. Beispiel:

      New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain def.local -NamingSchemeType Numeric
      <!--NeedCopy-->
      
    10. Führen Sie den Befehl New-ProvScheme aus. Beispiel:

      New-ProvScheme -CleanOnBoot -HostingUnitName "name" -IdentityPoolName "name" -InitialBatchSizeHint 1
      -MasterImageVM "XDHyp:\HostingUnits\azure-res2\image.folder\def.resourcegroup\def.snapshot"
      -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-res2\virtualprivatecloud.folder\def.resourcegroup\def-vnet.virtualprivatecloud\subnet1.network"}
      -ProvisioningSchemeName "name"
      -ServiceOffering "XDHyp:\HostingUnits\azure-res2\serviceoffering.folder\Standard_DS2_v2.serviceoffering"
      -MachineProfile "XDHyp:\HostingUnits<adnet>\machineprofile.folder<def.resourcegroup><machine profile vm.vm>"
      -CustomProperties $customProperties
      <!--NeedCopy-->
      
    11. Beenden Sie die Erstellung des Maschinenkatalogs.

Azure-Drosselung

Azure Resource Manager drosselt Anforderungen von Abonnements und Mandanten durch das Routing von Datenverkehr gemäß Grenzwerten, die auf die spezifischen Anforderungen des Anbieters zugeschnitten sind. Weitere Informationen finden Sie auf der Website von Microsoft unter Drosseln von Resource Manager-Anforderungen. Es gibt Grenzwerte für Abonnements und Mandanten, wenn die Verwaltung zahlreicher Maschinen problematisch werden kann. Beispielsweise können bei einem Abonnement mit zahlreichen Maschinen Leistungsprobleme im Zusammenhang mit Energievorgängen auftreten.

Tipp:

Weitere Informationen finden Sie unter Verbessern der Azure-Leistung mit Maschinenerstellungsdiensten.

Zur Lösung solcher Probleme können Sie die interne MCS-Drosselung entfernen, um das Azure-Anforderungskontingent stärker zu nutzen.

Für große Abonnements (z. B. mit 1000 oder mehr VMs) empfehlen wir die folgenden optimalen Einstellungen für das Ein- und Ausschalten von VMs:

  • Absolute gleichzeitige Operationen: 500
  • Maximale neue Operationen pro Minute: 2000
  • Maximale Gleichzeitigkeit von Operationen: 500

MCS unterstützt standardmäßig maximal 500 gleichzeitige Vorgänge. Alternativ können Sie mit dem Remote PowerShell SDK die maximale Anzahl gleichzeitiger Vorgänge festlegen.

Geben Sie über die PowerShell-Eigenschaft MaximumConcurrentProvisioningOperations die maximale Anzahl gleichzeitiger Azure-Provisioningvorgänge an. Beachten Sie Folgendes bei der Verwendung dieser Eigenschaft:

  • Der Standardwert von MaximumConcurrentProvisioningOperations ist 500.
  • Konfigurieren Sie den Parameter MaximumConcurrentProvisioningOperations mit dem PowerShell-Befehl Set-item.

Azure-Ressourcengruppen

Azure Provisioning-Ressourcengruppen sind eine Methode des Provisionings von VMs, über die Benutzern Anwendungen und Desktops bereitgestellt werden. Wenn Sie einen MCS-Maschinenkatalog erstellen, können Sie vorhandene, leere Azure-Ressourcengruppen hinzufügen oder neue erstellen. Informationen zu Azure-Ressourcengruppen finden Sie in der Dokumentation von Microsoft.

Verwendung von Azure-Ressourcengruppen

Es gibt keine Beschränkung für die Anzahl der virtuellen Maschinen, verwalteten Datenträger, Snapshots und Images pro Azure-Ressourcengruppe. (Die Beschränkung auf 240 VMs pro 800 verwaltete Datenträger pro Azure-Ressourcengruppe wurde entfernt.)

  • Wenn Sie zum Erstellen eines Maschinenkatalogs einen Dienstprinzipal mit vollem Gültigkeitsbereich verwenden, erstellen die Maschinenerstellungsdienste nur eine Azure-Ressourcengruppe und verwenden nur diese Gruppe für den Katalog.
  • Wenn Sie zum Erstellen eines Maschinenkatalogs einen Dienstprinzipal mit eingeschränktem Gültigkeitsbereich verwenden, müssen Sie eine leere, vorab erstellte Azure-Ressourcengruppe für den Katalog angeben.

Kurzlebige Azure-Datenträger

Ein kurzlebiger Azure-Datenträger ermöglicht die Umnutzung des Cachedatenträgers oder temporären Datenträgers zum Speichern des Betriebssystemdatenträgers für eine virtuelle Azure-Maschine. Dies ist nützlich für Azure-Umgebungen, die anstelle von Standard-HDD-Datenträgern leistungsstärkere SSD-Datenträger erfordern. Zur Verwendung kurzlebiger Datenträger müssen Sie die benutzerdefinierte Eigenschaft UseEphemeralOsDisk bei der Ausführung von New-ProvScheme auf true festlegen.

Hinweis:

Wenn die benutzerdefinierte Eigenschaft UseEphemeralOsDisk auf false festgelegt oder kein Wert angegeben wird, verwenden alle bereitgestellten VDAs weiterhin einen bereitgestellten Betriebssystemdatenträger.

Nachfolgend finden Sie Beispiele benutzerdefinierter Eigenschaften zur Verwendung im Provisioningschema:

"CustomProperties": [
            {
                "Name": "UseManagedDisks",
                "Value": "true"
            },
            {
                "Name": "StorageType",
                "Value": "Standard_LRS"
            },
            {
                "Name": "UseSharedImageGallery",
                "Value": "true"
            },
            {
                "Name": "SharedImageGalleryReplicaRatio",
                "Value": "40"
            },
            {
                "Name": "SharedImageGalleryReplicaMaximum",
                "Value": "10"
            },
            {
                "Name": "LicenseType",
                "Value": "Windows_Server"
            },
            {
                "Name": "UseEphemeralOsDisk",
                "Value": "true"
            }
        ],
<!--NeedCopy-->

Erstellen von Maschinen mit kurzlebigem Betriebssystemdatenträger

Kurzlebige Betriebssystemdatenträger werden über die Eigenschaft UseEphemeralOsDisk des Parameters CustomProperties gesteuert.

Wichtige Überlegungen für kurzlebige Datenträger

Berücksichtigen Sie die folgenden Einschränkungen, wenn Sie das Provisioning kurzlebiger Betriebssystemdatenträger mit New-ProvScheme durchführen:

  • Die für den Katalog verwendete VM-Größe muss kurzlebige Betriebssystemdatenträger unterstützen.
  • Der einer VM-Größe zugeordnete Cachedatenträger oder temporäre Datenträger muss größer oder genauso groß sein wie der Betriebssystemdatenträger.
  • Der temporäre Datenträger muss größer als der Cachedatenträger sein.

Berücksichtigen Sie diese Punkte auch bei folgenden Aufgaben:

  • Erstellen des Provisioningschemas.
  • Ändern des Provisioningschemas.
  • Aktualisieren des Images.

Kurzlebige Azure-Betriebssystemdatenträger und MCS-Speicheroptimierung (MCS-E/A)

Kurzlebige Azure-Betriebssystemdatenträger und MCS-E/A können nicht gleichzeitig aktiviert werden.

Wichtige Punkte:

  • Sie können keinen Maschinenkatalog mit gleichzeitig aktiviertem kurzlebigem Betriebssystemdatenträger und MCS-E/A erstellen.

  • Die PowerShell-Parameter (UseWriteBackCache und UseEphemeralOsDisk) schlagen mit entsprechender Fehlermeldung fehl, wenn Sie sie in New-ProvScheme oder Set-ProvScheme auf true festlegen.
  • Bei bestehenden Maschinenkatalogen, für die bei der Erstellung beide Features aktiviert wurden, ist weiterhin Folgendes möglich:
    • Aktualisieren des Maschinenkatalogs
    • Hinzufügen oder Löschen von VMs
    • Löschen des Maschinenkatalogs

Azure-serverseitige Verschlüsselung

Citrix Virtual Apps and Desktops und Citrix DaaS unterstützen vom Kunden verwaltete Schlüssel für verwaltete Azure-Datenträger über Azure Key Vault. Mit dieser Unterstützung können Sie Ihre Unternehmens- und Compliance-Anforderungen verwalten, indem Sie die verwalteten Datenträger des Maschinenkatalogs mit Ihrem eigenen Schlüssel verschlüsseln. Weitere Informationen finden Sie unter Serverseitige Verschlüsselung von Azure Disk Storage.

Bei Verwendung dieses Features für verwaltete Datenträger gilt Folgendes:

  • Um den Schlüssel zu ändern, mit dem ein Datenträger verschlüsselt ist, ändern Sie den aktuellen Schlüssel im DiskEncryptionSet. Alle dem DiskEncryptionSet zugeordneten Ressourcen werden dann mit dem neuen Schlüssel verschlüsselt.

  • Wenn Sie den Schlüssel deaktivieren oder löschen, werden alle VMs mit Datenträgern, die den Schlüssel verwenden, automatisch heruntergefahren. Nach dem Herunterfahren können die VMs erst wieder verwendet werden, wenn Sie den Schlüssel wieder aktivieren oder einen neuen Schlüssel zuweisen. Kataloge, die den Schlüssel verwenden, können nicht aktiviert werden und Sie können solchen Katalogen keine VMs hinzufügen.

Wichtige Überlegungen bei der Verwendung vom Kunden verwalteter Schlüssel

Beachten Sie die folgenden Punkte bei der Verwendung dieses Features:

  • Alle zu von Kunden verwalteten Schlüsseln gehörenden Ressourcen (Azure Key Vaults, Datenträgerverschlüsselungssätze, VMs, Datenträger und Snapshots) müssen demselben Abonnement und derselben Region angehören.

  • Ein einmal aktivierter kundenverwalteter Schlüssel kann nicht mehr deaktiviert werden. Wenn Sie einen kundenverwalteten Schlüssel deaktivieren oder entfernen möchten, kopieren Sie alle Daten auf einen anderen verwalteten Datenträger, für den der Schlüssel nicht verwendet wird.

  • Datenträger, die aus verschlüsselten benutzerdefinierten Images mit serverseitiger Verschlüsselung und einem kundenverwalteten Schlüssel erstellt wurden, müssen mit demselben kundenverwalteten Schlüssel verschlüsselt werden. Diese Datenträger müssen im selben Abonnement sein.

  • Snapshots von Datenträgern, die mit serverseitiger Verschlüsselung und einem kundenverwalteten Schlüssel verschlüsselt wurden, müssen mit demselben kundenverwalteten Schlüssel verschlüsselt werden.

  • Datenträger, Snapshots und Images, die mit kundenverwalteten Schlüsseln verschlüsselt wurden, können nicht in anderen Ressourcengruppen oder Abonnements verschoben werden.

  • Verwaltete Datenträger, die mit Azure Disk Encryption verschlüsselt sind oder es zuvor einmal waren, können nicht mit kundenverwalteten Schlüsseln verschlüsselt werden.

  • Auf der Microsoft-Website finden Sie Informationen zu Limits für Datenträgerverschlüsselungssätze pro Region.

Hinweis:

Weitere Informationen zum Konfigurieren der Azure-serverseitigen Verschlüsselung finden Sie unter Schnellstart: Key Vault-Erstellung mit dem Azure-Portal .

Vom Kunden verwalteter Schlüssel für Azure

Beim Erstellen eines Maschinenkatalogs können Sie wählen, ob Daten auf den im Katalog bereitzustellenden Maschinen verschlüsselt werden sollen. Die serverseitige Verschlüsselung mit einem vom Kunden verwalteten Schlüssel ermöglicht die Verwaltung der Verschlüsselung auf der Ebene verwalteter Datenträger und das Schützen von Daten auf den Maschinen im Katalog. Ein Datenträgerverschlüsselungssatz (DES) repräsentiert einen vom Kunden verwalteten Schlüssel. Um das Feature zu nutzen, müssen Sie zuerst einen DES in Azure erstellen. Ein DES hat folgendes Format:

  • /subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet

Wählen Sie einen DES aus der Liste aus. Der ausgewählte DES muss sich im selben Abonnement und in derselben Region wie Ihre Ressourcen befinden. Wenn Ihr Image mit einem DES verschlüsselt ist, verwenden Sie beim Erstellen des Maschinenkatalogs denselben DES. Sie können den DES nicht mehr ändern, wenn Sie den Katalog erstellt haben.

Wenn Sie einen Katalog mit einem Schlüssel erstellen und später den entsprechenden DES in Azure deaktivieren, können Sie die Maschinen im Katalog nicht mehr einschalten und diesem keine Maschinen mehr hinzufügen.

Dedizierte Azure-Hosts

Sie können mit MCS das Provisioning von VMs auf dedizierten Azure-Hosts ausführen. Vor dem Provisioning von VMs auf dedizierten Azure-Hosts führen Sie folgende Schritte aus:

  • Erstellen Sie eine Hostgruppe.
  • Erstellen Sie Hosts in der Hostgruppe.
  • Vergewissern Sie sich, dass genügend Hostkapazität für die Erstellung von Katalogen und virtuellen Maschinen reserviert ist.

Sie können einen Katalog mit Maschinen erstellen, deren Host-Tenancy über das folgende PowerShell-Skript definiert wird:

New-ProvScheme <otherParameters> -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Property xsi:type="StringProperty" Name="HostGroupId" Value="myResourceGroup/myHostGroup" />
 ...other Custom Properties...
 </CustomProperties>
<!--NeedCopy-->

Wenn Sie mit MCS virtuelle Maschinen auf dedizierten Azure-Hosts bereitstellen, berücksichtigen Sie Folgendes:

  • Ein dedizierter Host ist eine Katalogeigenschaft und kann nach der Katalogerstellung nicht mehr geändert werden. Dedizieren für Mandanten wird derzeit in Azure nicht unterstützt.
  • Bei Verwendung des Parameters HostGroupId ist eine vorkonfigurierte Azure-Hostgruppe in der Region der Hostingeinheit erforderlich.
  • Die automatische Platzierung in Azure ist erforderlich. Das Feature beantragt das Onboarding des mit der Hostgruppe verknüpften Abonnements. Weitere Informationen finden Sie unter VM Scale Set on Azure Dedicated Hosts - Public Preview. Wenn die automatische Platzierung nicht aktiviert ist, tritt in MCS bei der Katalogerstellung ein Fehler auf.

Verwenden Sie die Azure Shared Image Gallery als Repository mit veröffentlichten Images für per MCS bereitgestellte Maschinen in Azure. Sie können ein veröffentlichtes Image in der Image Gallery speichern, um die Erstellung und Hydration von Betriebssystemdatenträgern zu beschleunigen und die OS- und Anwendungsstartzeiten nicht persistenter VMs zu verbessern. Shared Image Gallery enthält die folgenden drei Elemente:

  • Gallery: Hier werden Images gespeichert. MCS erstellt je eine Gallery für jeden Maschinenkatalog.
  • Imagedefinition: Diese Definition enthält Informationen zum veröffentlichten Image (Betriebssystemtyp/-zustand, Azure-Region). MCS erstellt eine Imagedefinition für jedes Image, das für den Katalog erstellt wurde.
  • Imageversion: Jedes Image in einer Shared Image Gallery kann mehrere Versionen haben, und jede Version kann mehrere Replikate in verschiedenen Regionen haben. Jedes Replikat ist eine vollständige Kopie des veröffentlichten Images.

Hinweis:

Die Shared Image Gallery-Funktion ist nur mit verwalteten Datenträgern kompatibel. Sie ist nicht für Legacy-Maschinenkataloge verfügbar.

Weitere Informationen finden Sie unter Übersicht über Azure Shared Image Gallery.

Als Image zum Erstellen eines Maschinenkatalogs können Sie Images auswählen, die Sie in der Azure Compute Gallery erstellt haben.

Damit diese Images angezeigt werden, müssen Sie folgende Schritte ausführen:

  1. Konfigurieren Sie eine Citrix Virtual Apps and Desktops-Site.
  2. Stellen Sie eine Verbindung mit Azure Resource Manager her.
  3. Erstellen Sie im Azure-Portal eine Ressourcengruppe. Weitere Informationen finden Sie unter Erstellen einer Azure Shared Image Gallery über das Portal.
  4. Erstellen Sie in der Ressourcengruppe eine Azure Compute Gallery.
  5. Erstellen Sie in der Azure Compute Gallery eine Imagedefinition.
  6. Erstellen Sie in der Imagedefinition eine Imageversion.

Verwenden Sie folgende PowerShell-Befehle, um einen Maschinenkatalog mit einem Image aus der Azure Compute Gallery zu erstellen oder zu aktualisieren:

  1. Öffnen Sie ein PowerShell-Fenster.
  2. Führen Sie asnp citrix* aus, um die Citrix-spezifischen PowerShell-Module zu laden.
  3. Wählen Sie eine Ressourcengruppe und listen Sie dann alle Kataloge in der Ressourcengruppe auf.

    Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup")
    <!--NeedCopy-->
    
  4. Wählen Sie einen Katalog und listen Sie dann alle Imagedefinitionen des Katalogs auf.

    Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery")
    <!--NeedCopy-->
    
  5. Wählen Sie eine Imagedefinition und listen Sie dann alle Imageversionen der Imagedefinition auf.

    Get-ChildItem -LiteralPath @("XDHyp:\HostingUnits\testresource\image.folder\sharedImageGalleryTest.resourcegroup\sharedImageGallery.sharedimagegallery\sigtestimage.imagedefinition")
    <!--NeedCopy-->
    
  6. Zum Erstellen und Aktualisieren eines MCS-Katalogs verwenden Sie die folgenden Elemente:
    • Ressourcengruppe
    • Katalog
    • Katalogimagedefinition
    • Katalogimageversion

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

Mit dem Befehl New-ProvScheme erstellen Sie ein Provisioningschema mit Unterstützung für Shared Image Gallery. Verwenden Sie den Befehl Set-ProvScheme, um dieses Feature für ein Provisioningschema zu aktivieren bzw. deaktivieren und um die Replikatquote und die Anzahl maximaler Replikate zu ändern.

Zu Unterstützung der Shared Image Gallery-Funktion wurden Provisioningschemata um drei benutzerdefinierte Eigenschaften erweitert:

UseSharedImageGallery

  • Legt fest, ob die Shared Image Gallery zum Speichern der veröffentlichten Images verwendet wird. Bei Auswahl von True wird das Image als Shared Image Gallery-Image gespeichert. Andernfalls wird es als Snapshot gespeichert.
  • Gültige Werte sind True und False.
  • Der Standardwert bei nicht definierter Eigenschaft ist False.

SharedImageGalleryReplicaRatio

  • Definiert das Verhältnis von Maschinen zu Replikaten der Galerie-Imageversion.
  • Gültige Werte sind ganze Zahlen größer als 0.
  • Bei nicht definierter Eigenschaft werden Standardwerte verwendet. Der Standardwert für persistente Betriebssystemdatenträger beträgt 1000 und der Standardwert für nicht-persistente Betriebssystemdatenträger beträgt 40.

SharedImageGalleryReplicaMaximum

  • Definiert die Anzahl maximaler Replikate für jede Galerie-Imageversion.
  • Gültige Werte sind ganze Zahlen größer als 0.
  • Der Standardwert bei nicht definierter Eigenschaft ist 10.
  • Azure unterstützt derzeit bis zu 10 Replikate pro Galerie-Imageversion. Wenn diese Eigenschaft auf einen Wert festgelegt ist, der den Azure-Höchstwert übersteigt, versucht MCS, den angegebenen Wert zu verwenden. Azure generiert einen Fehler, der von MCS protokolliert wird, und die aktuelle Replikatanzahl wird unverändert beibehalten.

Tipp:

Wenn Sie die Shared Image Gallery zum Speichern eines veröffentlichten Images für Kataloge verwenden, die mit MCS bereitgestellt werden, legt MCS die Anzahl der Galerie-Imageversionsreplikate basierend auf der Anzahl der Maschinen im Katalog, der Replikatquote und der Anzahl maximaler Replikate fest. Zur Berechnung der Replikatanzahl wird die Maschinenanzahl im Katalog durch die Replikatquote dividiert (und auf den nächsten Ganzzahlwert aufgerundet) und dann gemäß der Anzahl maximaler Replikate begrenzt. Ein Beispiel: Bei eine Replikatquote von 20 und einem Höchstwert von 5 wird für 0–20 Maschinen ein Replikat erstellt, für 21–40 Maschinen 2 Replikate, für 41–60 Maschinen 3 Replikate, für 61–80 Maschinen 4 Replikate und für 81 Maschinen (und mehr) 5 Replikate.

Der vorhandene Maschinenkatalog verwendet Shared Image Gallery. Verwenden Sie den Befehl Set-ProvScheme, um die benutzerdefinierten Eigenschaften für alle vorhandenen Maschinen im Katalog und alle zukünftigen Maschinen zu aktualisieren:

Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Führen Sie für diesen Anwendungsfall folgende Schritte aus:

  1. Führen Sie Set-ProvScheme aus, wobei der Flag UseSharedImageGallery auf True gesetzt ist. Fügen Sie optional die Eigenschaften SharedImageGalleryReplicaRatio und SharedImageGalleryReplicaMaximum hinzu.
  2. Aktualisieren Sie den Katalog.
  3. Starten Sie die Maschinen neu, um ein Update zu erzwingen.

Beispiel:

Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="True"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaRatio" Value="30"/> <Property xsi:type="IntProperty" Name="SharedImageGalleryReplicaMaximum" Value="20"/></CustomProperties>'
<!--NeedCopy-->

Tipp:

Die Parameter SharedImageGalleryReplicaRatio und SharedImageGalleryReplicaMaximum sind nicht erforderlich. Nachdem der Befehl Set-ProvScheme abgeschlossen ist, wurde das Shared Image Gallery-Image noch nicht erstellt. Sobald der Katalog für die Verwendung der Galerie konfiguriert ist, speichert das nächste Katalogupdate das veröffentlichte Image in der Galerie. Der Befehl zum Katalogupdate erstellt die Galerie, das Galerie-Image und die Imageversion. Durch den Neustart der Maschinen werden sie aktualisiert, und es wird gegebenenfalls die Replikatanzahl aktualisiert. Alle vorhandenen nicht-persistenten Maschinen werden dann mit dem Shared Image Gallery-Image zurückgesetzt, und alle neu bereitgestellten Maschinen werden mit diesem Image erstellt. Der alte Snapshot wird innerhalb weniger Stunden automatisch bereinigt.

Führen Sie für diesen Anwendungsfall folgende Schritte aus:

  1. Führen Sie Set-ProvScheme aus, wobei der Flag UseSharedImageGallery auf False gesetzt oder nicht definiert ist.
  2. Aktualisieren Sie den Katalog.
  3. Starten Sie die Maschinen neu, um ein Update zu erzwingen.

Beispiel:

Set-ProvScheme -ProvisioningSchemeName catalog-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="StorageType" Value="Standard_LRS"/> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="True"/> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="False"/></CustomProperties>'
<!--NeedCopy-->

Tipp:

Im Gegensatz zum Update von einem Snapshot-Katalog auf einen Shared Image Gallery-Katalog sind die benutzerdefinierten Daten für jede Maschine noch nicht auf die neuen benutzerdefinierten Eigenschaften aktualisiert. Führen Sie den folgenden Befehl aus, um die ursprünglichen benutzerdefinierten Shared Image Gallery-Eigenschaften anzuzeigen: Get-ProvVm -ProvisioningSchemeName catalog-name. Nach Abschluss des Befehls Set-ProvScheme ist der Imagesnapshot noch nicht erstellt. Sobald konfiguriert ist, dass der Katalog nicht mehr die Galerie verwendet, speichert das nächste Katalogupdate das veröffentlichte Image als Snapshot. Alle vorhandenen nicht-persistenten Maschinen werden dann mit dem Snapshot zurückgesetzt, und alle neu bereitgestellten Maschinen werden aus dem Snapshot erstellt. Durch Neustart werden die Maschinen aktualisiert. Die benutzerdefinierten Maschinendaten werden dabei aktualisiert und zeigen an, dass UseSharedImageGallery auf False gesetzt ist. Die alten Shared Image Gallery-Assets (Galerie, Image und Version) werden automatisch innerhalb weniger Stunden bereinigt.

Provisioning von Maschinen in spezifischen Verfügbarkeitszonen

Sie können das Provisioning von Maschinen auch in spezifischen Verfügbarkeitszonen in Azure-Umgebungen ausführen. Das ist mit PowerShell möglich.

Hinweis:

Wenn keine Zonen angegeben werden, lässt MCS Azure die Maschinen innerhalb der Region platzieren. Werden mehrere Zonen angegeben, verteilt MCS die Maschinen nach dem Zufallsprinzip in den Zonen.

Konfigurieren von Verfügbarkeitszonen über PowerShell

Mit Get-Item in PowerShell können Sie die Elemente des Angebots anzeigen. Um beispielsweise das Serviceangebot Eastern US Standard_B1ls anzuzeigen:

$serviceOffering = Get-Item -path "XDHyp:\Connections\my-connection-name\East US.region\serviceoffering.folder\Standard_B1ls.serviceoffering"
<!--NeedCopy-->

Zum Anzeigen der Zonen verwenden Sie den Parameter AdditionalData:

$serviceOffering.AdditionalData

Werden keine Verfügbarkeitszone angegeben, bleibt die Art und Weise, wie Maschinen bereitgestellt werden, unverändert.

Um Verfügbarkeitszonen über PowerShell zu konfigurieren, verwenden Sie die benutzerdefinierte Eigenschaft Zones von New-ProvScheme. Die Eigenschaft Zones definiert eine Liste von Verfügbarkeitszonen für das Provisioning von Maschinen. Diese Zonen können eine oder mehrere Verfügbarkeitszonen enthalten. Beispiel: <Property xsi:type="StringProperty" Name="Zones" Value="1, 3"/> für die Zonen 1 und 3.

Verwenden Sie den Befehl Set-ProvScheme, um die Zonen für ein Provisioningschema zu aktualisieren.

Wird eine ungültige Zone angegeben, wird das Provisioningschema nicht aktualisiert und eine Fehlermeldung mit Anweisungen zur Korrektur des ungültigen Befehls angezeigt.

Tipp:

Wenn Sie eine ungültige benutzerdefinierte Eigenschaft angeben, wird das Provisioningschema nicht aktualisiert und eine Fehlermeldung angezeigt.

Kurzlebiger Azure-Datenträger

Kurzlebige Azure-Datenträger ermöglichen die Umnutzung des Cachedatenträgers oder temporären Datenträgers zum Speichern des Betriebssystemdatenträgers für eine virtuelle Azure-Maschine. Dies ist nützlich für Azure-Umgebungen, die anstelle von Standard-HDD-Datenträgern leistungsstärkere SSD-Datenträger erfordern.

Hinweis:

Persistente Kataloge unterstützen keine kurzlebigen Betriebssystemdatenträger.

Kurzlebige Betriebssystemdatenträger erfordern ein Provisioningschema mit verwalteten Datenträgern und Shared Image Gallery. Weitere Informationen finden Sie unter Azure Shared Image Gallery.

Konfigurieren eines kurzlebigen Datenträgers mit PowerShell

Verwenden Sie zum Konfigurieren eines kurzlebigen Azure-Betriebssystemdatenträgers den Parameter UseEphemeralOsDisk in Set-ProvScheme. Setzen Sie den Wert des Parameters UseEphemeralOsDisk auf true.

Hinweis:

Um dieses Feature zu nutzen, müssen Sie auch die Parameter UseManagedDisks und UseSharedImageGallery aktivieren.

Beispiel:

Set-ProvScheme -ProvisioningSchemeName catalog-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="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="UseEphemeralOsDisk" Value="true" />
</CustomProperties>'
<!--NeedCopy-->

Speichern einer temporären kurzlebigen OS-Datenträgers

Sie können einen kurzlebigen OS-Datenträger auf dem Temp- bzw. Ressourcendatenträger der VM speichern. So können Sie einen kurzlebigen OS-Datenträger mit VMs verwenden, die über keinen oder nur unzureichenden Cache verfügen. Solche VMs verfügen über einen Temp- bzw. Ressourcendatenträger zum Speichern eines kurzlebigen OS-Datenträgers (z. B. Ddv4).

Beachten Sie Folgendes:

  • Kurzlebige Datenträger werden entweder auf dem VM-Cachedatenträger oder auf dem temporären bzw. Ressourcendatenträger der VM gespeichert. Die Cachedatenträger ist dem temporären Datenträger vorzuziehen, es sei denn, der Cachedatenträger ist zu klein für den Inhalt des Betriebsystemdatenträgers.
  • Entsteht bei Updates ein neues Image, das größer als der Cachedatenträger und kleiner als der Temp-Datenträger ist, wird der kurzlebige OS-Datenträger durch den Temp-Datenträger der VM ersetzt.

Beibehalten einer bereitgestellten virtuellen Maschine bei Energiezyklen

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.

Speichertypen

Wählen Sie Speichertypen für virtuelle Maschinen in Azure-Umgebungen, die MCS verwenden. Für Ziel-VMs unterstützt MCS Folgendes:

  • OS-Datenträger: SSD Premium, SSD oder HDD
  • Zurückschreibcache-Datenträger: SSD Premium, SSD oder HDD

Berücksichtigen Sie bei Verwendung dieser Speichertypen Folgendes:

  • Ihre VM muss den ausgewählten Speichertyp unterstützen.
  • Wenn Ihre Konfiguration einen kurzlebigen Azure-Datenträger enthält, wird keine Option für die Einstellung des Zurückschreibcache-Datenträgers angeboten.

Tipp:

StorageType ist für einen Betriebssystemspeichertyp und mit Speicherkonto konfiguriert. WBCDiskStorageType ist für den Zurückschreibcache konfiguriert. Für einen normalen Katalog ist StorageType erforderlich. Wenn WBCDiskStorageType nicht konfiguriert ist, wird StorageType als Standard für WBCDiskStorageType verwendet.

Wenn WBCDiskStorageType nicht konfiguriert ist, wird StorageType als Standard für WBCDiskStorageType verwendet.

Konfigurieren von Speichertypen

Verwenden Sie den Parameter StorageType in New-ProvScheme, um Speichertypen für VMs zu konfigurieren. Stellen Sie den Wert des Parameters StorageType auf einen der unterstützten Speichertypen ein.

Im Folgenden finden Sie einen Beispielsatz für den Parameter CustomProperties in einem Provisioningschema:

Set-ProvScheme -ProvisioningSchemeName catalog-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="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>'
<!--NeedCopy-->

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.

    Request-ProvVMUpdate -ProvisioningSchemeName $CatalogName
    <!--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 Request-ProvVMUpdate aus, um die in Set-ProvScheme vorgenommene Änderung auf die vorhandenen VMs anzuwenden.

  1. Führen Sie den Befehl Request-ProvVMUpdate aus. Beispiel:

    Request-ProvVMUpdate -ProvisioningSchemeName <String> -VMName <List-Of-Vm-Names>
    <!--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 Request-ProvVMUpdate können Sie das aktuelle Provisioningschema auf eine oder mehrere persistente oder nicht persistente Maschine(n) anwenden. 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. 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. Schrittfolge zum Aktualisieren der vorhandenen VMs:

  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-->
    
  4. Aktualisieren Sie vorhandene Maschinen.

    • Aktualisieren Sie alle vorhandenen Maschinen. Beispiel:

       Request-ProvVMUpdate –ProvisioningSchemeName "my-catalog"
       <!--NeedCopy-->
      
    • Aktualisieren Sie eine Liste bestimmter Maschinen. Beispiel:

       Request-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      
    • Aktualisieren Sie Maschinen basierend auf der Ausgabe von Get-ProvVM. Beispiel:

       Get-ProvVM -ProvisioningSchemeName "my-catalog" | Request-ProvVMUpdate
       <!--NeedCopy-->
      
  5. Suchen Sie Maschinen mit einem geplanten Update. Beispiel:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  6. 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-->
    

Konfigurationsupdates planen

Mit dem PowerShell-Befehl Schedule-ProvVMUpdate können Sie ein Zeitfenster für die Konfigurationsupdates der vorhandenen, von MCS bereitgestellten Maschinen festlegen. Während dieses Zeitfensters wird dann bei jedem Einschalten oder Neustart ein geplantes Update des Provisioningschemas auf eine Maschine angewendet.

Wenn Sie Request-ProvVMUpdate und Schedule-ProvVMUpdate ausführen, wird der zuletzt ausgeführte Befehl wirksam.

Hinweis:

Schedule-ProvVMUpdate besitzt alle Funktionen von Request-ProvVMUpdate und mehr. Schedule-ProvVMUpdate wird zukünftig Request-ProvVMUpdate ersetzen.

Mit Cancel-ProvVMUpdate können Sie das Konfigurationsupdate auch vor dem geplanten Zeitpunkt abbrechen.

Sie können das Konfigurationsupdate für Folgendes planen:

  • Eine einzelne VM
  • Mehrere VMs, die ID oder Namen eines Provisioningschemas zugeordnet sind
  • Ein gesamter Katalog, der ID oder Namen eines Provisioningschemas zugeordnet ist

Planen des Konfigurationsupdates:

  1. Erstellen Sie mit der Oberfläche “Vollständige Konfiguration” oder PowerShell einen Katalog.
  2. Öffnen Sie ein PowerShell-Fenster.
  3. Führen Sie asnp citrix* aus, um Citrix-spezifische PowerShell-Module zu laden.
  4. Prüfen Sie die Konfiguration der vorhandenen Maschinen. Beispiel:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  5. Aktualisieren Sie das Provisioningsschema, um eine benutzerdefinierte Eigenschaft, ein Maschinenprofil oder ein Dienstangebot zu aktualisieren. Beispiel:

    Set-ProvScheme –ProvisioningSchemeName "my-catalog" – MachineProfile"XDHyp:\HostingUnits<hosting-unit>\machineprofileinstance.vm"
    <!--NeedCopy-->
    
  6. Prüfen Sie, ob Folgendes gilt:

    • Die aktuelle Eigenschaft der VM entspricht dem aktuellen Provisioningsschema. Und:
    • Es gibt eine ausstehende Aktualisierungsaktion auf der VM.

    Beispiel:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  7. Führen Sie Schedule-ProvVMUpdate aus, um eine VM beim nächsten Start im geplanten Zeitfenster planmäßig auf die neuesten Provisioningeinstellungen zu aktualisieren. Beispiel:

    • Update mit der aktuellen Uhrzeit als Startzeit planen:

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

       Schedule-ProvVMUpdate -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.
  8. Überprüfen Sie den Updatestatus.

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  9. 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.

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

  1. Führen Sie Cancel-ProvVMUpdate aus. Beispiel:

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

       Cancel-ProvVMUpdate -ProvisioningSchemeName " my-catalog " -VMName "vm1"
       <!--NeedCopy-->
      
    • Das für mehrere VMs geplante Konfigurationsupdate abbrechen:

       Cancel-ProvVMUpdate -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2"
       <!--NeedCopy-->
      

      Hinweis:

      Die VMs müssen aus demselben Katalog stammen.

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. In einigen Fällen ist dieses Feld möglicherweise leer. 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-->

Maschinenkataloge mit vertrauenswürdigem Start

Zur problemlosen Erstellung eines Maschinenkatalogs mit vertrauenswürdigem Start verwenden Sie:

  • Ein Maschinenprofil mit vertrauenswürdigem Start
  • Eine VM-Größe, die vertrauenswürdigen Start unterstützt
  • Eine Windows-VM-Version, die vertrauenswürdigen Start unterstützt Derzeit unterstützen Windows 10, Windows Server 2016, 2019 und 2022 den vertrauenswürdigen Start.

Wichtig:

Ein vertrauenswürdiger Start erfordert die Erstellung neuer VMs. Sie können den vertrauenswürdigen Start nicht auf vorhandenen VMs aktivieren, die ursprünglich ohne erstellt wurden.

Führen Sie den folgenden Befehl aus, um den Bestand des Citrix DaaS-Angebots anzuzeigen und zu ermitteln, ob die VM-Größe den vertrauenswürdigen Start unterstützt:

  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 den folgenden Befehl aus:

    $s = (ls XDHyp:\HostingUnits<name of hosting unit>\serviceoffering.folder"<VM size>.serviceoffering)
    <!--NeedCopy-->
    
  4. Führen Sie $s | select -ExpandProperty Additionaldata aus.
  5. Prüfen Sie den Wert des Attributs SupportsTrustedLaunch.

    • Wenn SupportsTrustedLaunch der True ist, unterstützt die VM-Größe den vertrauenswürdigen Start.
    • Wenn SupportsTrustedLaunch Falseist, unterstützt die VM-Größe den vertrauenswürdigen Start nicht.

Bei Azure-PowerShell können Sie den folgenden Befehl verwenden, um die VM-Größen zu ermitteln, die den vertrauenswürdigen Start unterstützen:

(Get-AzComputeResourceSku | where {$_.Locations.Contains($region) -and ($_.Name -eq "<VM size>") })[0].Capabilities
<!--NeedCopy-->

Die folgenden Beispiele veranschaulichen, welche von dem Azure PowerShell-Befehl zurückgegebenen VMs den vertrauenswürdigen Start unterstützen.

  • Beispiel 1: Wenn die Azure-VM nur Generation 1 unterstützt, unterstützt die VM keinen vertrauenswürdigen Start. Daher wird TrustedLaunchDisabled nicht angezeigt, wenn Sie den Azure PowerShell-Befehl ausgeführt haben.
  • Beispiel 2: Wenn die Azure-VM nur Generation 2 unterstützt und der Wert von TrustedLaunchDisabled Trueist, unterstützt die Generation 2-VM-Größe den vertrauenswürdigen Start nicht.
  • Beispiel 3: Wenn die Azure-VM nur Generation 2 unterstützt und TrustedLaunchDisabled nicht angezeigt wird, wenn Sie den Azure PowerShell-Befehl ausgeführt haben, unterstützt die Generation 2-VM-Größe den vertrauenswürdigen Start.

Weitere Informationen zum vertrauenswürdigen Start für virtuelle Azure-Maschinen finden Sie in dem Microsoft-Dokument Vertrauenswürdiger Start für Azure-VMs.

Fehler beim Erstellen von Maschinenkatalogen mit vertrauenswürdigem Start

Beim Erstellen eines Maschinenkatalogs mit vertrauenswürdigem Start treten in den folgenden Szenarien Fehler auf:

Szenario Fehler
Sie wählen beim Erstellen eines nicht verwalteten Katalogs ein Maschinenprofil aus. MachineProfileNotSupportedForUnmanagedCatalog
Sie wählen beim Erstellen eines Katalogs mit einem nicht verwalteten Datenträger als Masterimage ein Maschinenprofil, das den vertrauenswürdigen Start unterstützt. SecurityTypeNotSupportedForUnmanagedDisk
Sie wählen beim Erstellen eines verwalteten Katalogs mit einer Masterimagequelle, deren Sicherheitstyp “vertrauenswürdiger Start” ist, kein Maschinenprofil aus. MachineProfileNotFoundForTrustedLaunchMasterImage
Sie wählen ein Maschinenprofil aus, dessen Sicherheitstyp sich von dem des Masterimages unterscheidet. SecurityTypeConflictBetweenMasterImageAndMachineProfile
Sie wählen eine VM-Größe, die den vertrauenswürdigen Start nicht unterstützt, verwenden aber beim Erstellen eines Katalogs ein Masterimage, das den vertrauenswürdigen Start unterstützt. MachineSizeNotSupportTrustedLaunch

Azure Marketplace

Citrix Virtual Apps and Desktops und Citrix DaaS unterstützen die Verwendung eines Masterimages mit Abonnementinformationen zum Erstellen von Maschinenkatalogen in Azure. Weitere Informationen finden Sie unter Microsoft Azure Marketplace.

Tipp:

Manchen Images im Azure-Marketplace (z. B. Standard-Windows Server-Image) sind keine Abonnementinformationen angefügt. Das Citrix DaaS-Feature ist für kostenpflichtige Images vorgesehen.

Gehen Sie wie in diesem Abschnitt beschrieben vor, um Images in der Shared Image Gallery in Web Studio anzuzeigen. Diese Images können für ein Masterimage verwendet werden. Um das Image in einer Shared Image Gallery abzulegen, erstellen Sie in der Gallery eine Imagedefinition.

Azure Marketplace – Shared Image Gallery

Überprüfen Sie auf der Seite Veröffentlichungsoptionen die Informationen zum Abonnement.

Die Informationsfelder sind zunächst leer. Füllen Sie diese Felder mit den Abonnementinformationen für das Image aus. Werden die Informationen nicht angegeben, kann der Maschinenkatalogprozess fehlschlagen.

Azure Marketplace überprüft VDA-Veröffentlichungsoptionen

Nach dem Prüfen der Abonnementinformationen erstellen Sie eine Imageversion in der Definition. Diese wird als Masterimage verwendet. Klicken Sie auf Add Version:

Azure Marketplace: VDA-Version hinzufügen

Wählen Sie im Abschnitt Version details den Image-Snapshot oder verwalteten Datenträger als Quelle aus:

Azure Marketplace: VDA-Auswahloptionen

Informationen zu Azure-Berechtigungen

Dieser Abschnitt enthält die für Azure erforderlichen Mindestberechtigungen und allgemeinen Berechtigungen.

Mindestberechtigungen

Mindestberechtigungen ermöglichen eine bessere Sicherheitskontrolle. Was ist neu, die zusätzliche Berechtigungen erfordern, schlagen jedoch fehl, wenn nur die Mindestberechtigungen verwendet werden.

Hostverbindung erstellen

Fügen Sie eine neue Hostverbindung unter Verwendung der von Azure abgerufenen Informationen hinzu.

"Microsoft.Network/virtualNetworks/read",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/disks/read",
<!--NeedCopy-->

Energieverwaltung virtueller Maschinen

Schalten Sie die Maschineninstanzen ein oder aus.

"Microsoft.Compute/virtualMachines/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/restart/action",
<!--NeedCopy-->

Erstellen, Aktualisieren oder Löschen von VMs

Nach dem Erstellen eines Maschinenkatalogs können Sie Maschinen hinzufügen, löschen und aktualisieren und den Maschinenkatalog löschen.

Die folgende Liste umfasst notwendige Mindestberechtigungen, wenn das Masterimage ein verwalteter Datenträger ist oder wenn sich Snapshots in derselben Region wie die Hostverbindung befinden.

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
<!--NeedCopy-->

Für die folgenden Features benötigen Sie zusätzlich zu den Mindestberechtigungen die folgenden Berechtigungen:

  • Wenn das Masterimage eine virtuelle Festplatte (VHD) in einem Speicherkonto ist, das sich in derselben Region wie die Hostverbindung befindet:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     <!--NeedCopy-->
    
  • Wenn das Masterimage eine ImageVersion aus der Shared Image Gallery ist:

     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     <!--NeedCopy-->
    
  • Wenn das Masterimage ein verwalteter Datenträger ist. Snapshots, oder die virtuelle Festplatte ist nicht in derselben Region wie die Hostverbindung:

     "Microsoft.Storage/storageAccounts/read",
     "Microsoft.Storage/storageAccounts/listKeys/action",
     "Microsoft.Storage/storageAccounts/write",
     "Microsoft.Storage/storageAccounts/delete",
     <!--NeedCopy-->
    
  • Wenn Sie eine von Citrix verwaltete Ressourcengruppe verwenden:

     "Microsoft.Resources/subscriptions/resourceGroups/write",
     "Microsoft.Resources/subscriptions/resourceGroups/delete",
     <!--NeedCopy-->
    
  • Wenn Sie das Masterimage in der Shared Image Gallery ablegen:

     "Microsoft.Compute/galleries/write",
     "Microsoft.Compute/galleries/images/write",
     "Microsoft.Compute/galleries/images/versions/write",
     "Microsoft.Compute/galleries/read",
     "Microsoft.Compute/galleries/images/read",
     "Microsoft.Compute/galleries/images/versions/read",
     "Microsoft.Compute/galleries/delete",
     "Microsoft.Compute/galleries/images/delete",
     "Microsoft.Compute/galleries/images/versions/delete",
     <!--NeedCopy-->
    
  • Wenn Sie dedizierte Azure-Hosts unterstützen:

     "Microsoft.Compute/hostGroups/read",
     "Microsoft.Compute/hostGroups/write",
     "Microsoft.Compute/hostGroups/hosts/read",
     <!--NeedCopy-->
    
  • Wenn Sie die serverseitige Verschlüsselung (SSE) mit vom Kunden verwalteten Schlüsseln (CMK) verwenden:

     "Microsoft.Compute/diskEncryptionSets/read",
     <!--NeedCopy-->
    
  • Wenn Sie VMs mit ARM-Vorlagen (Maschinenprofil) bereitstellen:

     "Microsoft.Resources/deployments/write",
     "Microsoft.Resources/deployments/operationstatuses/read",
     "Microsoft.Resources/deployments/read",
     "Microsoft.Resources/deployments/delete",
     <!--NeedCopy-->
    
  • Wenn Sie die Azure-Vorlagenspezifikation als Maschinenprofil verwenden:

     "Microsoft.Resources/templateSpecs/read",
     "Microsoft.Resources/templateSpecs/versions/read",
     <!--NeedCopy-->
    

Erstellen, Aktualisieren und Löschen von Maschinen mit nicht verwaltetem Datenträger

Die folgende Liste umfasst notwendige Mindestberechtigungen, wenn das Masterimage eine VHD ist und die vom Administrator bereitgestellte Ressourcengruppe verwendet wird:

"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action"
<!--NeedCopy-->

Allgemeine Berechtigung

Die Rolle “Mitwirkender” erhält Vollzugriff zur Verwaltung aller Ressourcen. Dieser Satz von Berechtigungen hindert Sie nicht daran, Was ist neu zu erhalten.

Die folgenden Berechtigungen bieten die beste Kompatibilität für die zukünftige Verwendung, obwohl sie mehr Berechtigungen umfassen, als für aktuelle Features erforderlich sind:

"Microsoft.Compute/diskEncryptionSets/read",
"Microsoft.Compute/disks/beginGetAccess/action",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/endGetAccess/action",
"Microsoft.Compute/disks/read",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/galleries/delete",
"Microsoft.Compute/galleries/images/delete",
"Microsoft.Compute/galleries/images/read",
"Microsoft.Compute/galleries/images/versions/delete",
"Microsoft.Compute/galleries/images/versions/read",
"Microsoft.Compute/galleries/images/versions/write",
"Microsoft.Compute/galleries/images/write",
"Microsoft.Compute/galleries/read",
"Microsoft.Compute/galleries/write",
"Microsoft.Compute/hostGroups/hosts/read",
"Microsoft.Compute/hostGroups/read",
"Microsoft.Compute/hostGroups/write",
"Microsoft.Compute/snapshots/beginGetAccess/action",
"Microsoft.Compute/snapshots/delete",
"Microsoft.Compute/snapshots/endGetAccess/action",
"Microsoft.Compute/snapshots/read",
"Microsoft.Compute/snapshots/write",
"Microsoft.Compute/virtualMachines/deallocate/action",
"Microsoft.Compute/virtualMachines/delete",
"Microsoft.Compute/virtualMachines/read",
"Microsoft.Compute/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachines/start/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Network/networkInterfaces/delete",
"Microsoft.Network/networkInterfaces/join/action",
"Microsoft.Network/networkInterfaces/read",
"Microsoft.Network/networkInterfaces/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/read",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/virtualNetworks/subnets/read",
"Microsoft.Network/virtualNetworks/read",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Resources/deployments/operationstatuses/read",
"Microsoft.Resources/deployments/read",
"Microsoft.Resources/deployments/validate/action",
"Microsoft.Resources/deployments/write",
"Microsoft.Resources/deployments/delete",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listKeys/action",
"Microsoft.Storage/storageAccounts/read",
"Microsoft.Storage/storageAccounts/write",
"Microsoft.Resources/templateSpecs/read",
"Microsoft.Resources/templateSpecs/versions/read",
<!--NeedCopy-->

Weitere Informationen