Citrix Virtual Apps and Desktops

Migrieren von XenApp 6.x

Wichtig:

Durch Migration werden Daten von einer früheren Bereitstellung auf eine neuere Version verschoben. Dies umfasst die Installation neuerer Komponenten und das Erstellen einer neuen Site, das Exportieren der Daten aus der älteren Farm und dann das Importieren der Daten in die neue Site.

Open-Source-Migrationsskripts sind auf https://github.com/citrix/xa65migrationtool verfügbar. Citrix unterstützt diese Skripts jedoch nicht.

Der Rest dieses Artikels enthält Informationen, die als Referenz für die Open-Source-Migrationsskripts verwendet werden können.

Einführung

Mit dem hier beschriebenen Migrationstool können Sie eine Migration von XenApp 6.x auf XenApp 7.6 durchführen. Anschließend können Sie ein Upgrade von XenApp 7.6 auf ein unterstütztes LTSR oder die aktuelle Citrix Virtual Apps and Desktops-Version durchführen. Weitere Informationen finden Sie unter Upgrade einer Bereitstellung.

Informationen zu Änderungen an Architektur, Komponenten und Features in den 7.x-Versionen finden Sie unter Änderungen in Version 7.x.

XenApp 6.x-Migrationstool

Das XenApp 6.x-Migrationstool ist eine Sammlung von PowerShell-Skripts und Cmdlets, die Richtliniendaten und Farmdaten für XenApp 6.x (6.0 und 6.5) migrieren. Dazu führen Sie auf dem XenApp 6.x-Controllerserver Export-Cmdlets aus, die die Daten in XML-Dateien zusammenfassen. Anschließend führen Sie vom XenApp 7.6-Controller aus die Import-Cmdlets aus, die mit den beim Export gesammelten Daten Objekte erstellen.

Unten ist die Abfolge des Migrationsvorgangs zusammengefasst. Details werden später erläutert.

  1. Auf einem XenApp 6.0- oder 6.5-Controller:
    1. Importieren Sie die PowerShell-Exportmodule.
    2. Exportieren Sie mit den Export-Cmdlets die Richtlinien- und/oder Farmdaten in XML-Dateien.
  2. Kopieren Sie die XML-Dateien (und den Ordner mit den Symbolen, wenn sie für den Export nicht in die XML-Dateien eingebettet werden) auf den XenApp 7.6-Controller.
  3. Auf dem XenApp 7.6-Controller:
    1. Importieren Sie die PowerShell-Importmodule.
    2. Importieren Sie mit den Import-Cmdlets die Richtlinien- und/oder Farmdaten (Anwendungen), wobei Sie die XML-Dateien als Eingabe verwenden.
  4. Führen Sie die nach der Migration erforderlichen Schritte aus.

Vor der eigentlichen Migration können Sie die XenApp 6.x-Einstellungen exportieren und eine Exportvorschau in der XenApp 7.6-Site ausführen. Die Vorschau lässt mögliche Schwachstellen erkennen, damit Sie die Probleme vor der eigentlichen Migration beheben können. Bei einer Vorschau kann sich beispielsweise herausstellen, dass eine Anwendung mit dem gleichen Namen bereits in der neuen XenApp 7.6-Site vorhanden ist. Sie können die bei der Vorschau erstellten Protokolldateien bei der Migration als Leitfaden verwenden.

Sofern nicht anders angegeben, bezieht sich “6.x” auf XenApp 6.0 oder 6.5.

Migrationstoolpaket

Das Migrationstool enthält zwei separate, unabhängige Pakete:

  • ReadIMA enthält die Dateien zum Exportieren von Daten aus der XenApp 6.x-Farm sowie freigegebene Module.

    Modul bzw. Datei Beschreibung
    ExportPolicy.psm1 PowerShell-Skriptmodul zum Exportieren von XenApp 6.x-Richtlinien in eine XML-Datei.
    ExportXAFarm.psm1 PowerShell-Skriptmodul zum Exportieren von XenApp 6.x-Farmeinstellungen in eine XML-Datei.
    ExportPolicy.psd1 PowerShell-Manifestdatei für Skriptmodul ExportPolicy.psm1
    ExportXAFarm.psd1 PowerShell-Manifestdatei für Skriptmodul ExportXAFarm.psm1
    LogUtilities.psm1 Freigegebenes PowerShell-Skriptmodul mit Protokollierungsfunktionen
    XmlUtilities.psd1 PowerShell-Manifestdatei für das Skriptmodul XmlUtilities.psm1.
    XmlUtilities.psm1 Freigegebenes PowerShell-Skriptmodul mit XML-Funktionen
  • ImportFMA enthält die Dateien zum Importieren von Daten aus der XenApp 7.6-Farm sowie freigegebene Module.

    Modul bzw. Datei Beschreibung
    ImportPolicy.psm1 PowerShell-Skriptmodul zum Importieren von Richtlinien nach XenApp 7.6.
    ImportXAFarm.psm1 PowerShell-Skriptmodul zum Importieren von Richtlinien nach XenApp 7.6.
    ImportPolicy.psd1 PowerShell-Manifestdatei für Skriptmodul ImportPolicy.psm1
    ImportXAFarm.psd1 PowerShell-Manifestdatei für Skriptmodul ImportXAFarm.psm1
    PolicyData.xsd XML-Schema für Richtliniendaten.
    XAFarmData.xsd XML-Schema für XenApp-Farmdaten.
    LogUtilities.psm1 Freigegebenes PowerShell-Skriptmodul mit Protokollierungsfunktionen
    XmlUtilities.psd1 PowerShell-Manifestdatei für das Skriptmodul XmlUtilities.psm1.
    XmlUtilities.psm1 Freigegebenes PowerShell-Skriptmodul mit XML-Funktionen

Einschränkungen

  • Nicht alle Richtlinieneinstellungen werden importiert; siehe Nicht importierte Richtlinieneinstellungen. Einstellungen, die nicht unterstützt werden, werden ignoriert und in der Protokolldatei angegeben.
  • Zwar werden alle Anwendungsdetails während des Exportvorgangs in der XML-Ausgabedatei gesammelt, aber nur auf Servern installierte Anwendungen werden in die XenApp 7.6-Site importiert. Veröffentlichte Desktops, Inhalte und die meisten gestreamten Anwendungen werden nicht unterstützt (Informationen zu Ausnahmen finden Sie unter Schrittweise Anleitungen: Importieren von Daten) im Abschnitt zu den Import-XAFarm-Cmdlet-Parametern.
  • Anwendungsserver werden nicht importiert.
  • Viele Anwendungseigenschaften werden nicht importiert wegen der Unterschiede zwischen der XenApp 6.x Independent Management Architecture (IMA) und der XenApp 7.6 FlexCast Management Architecture (FMA). Weitere Informationen hierzu finden Sie unter Zuordnung von Anwendungseigenschaften.
  • Während des Imports wird eine Bereitstellungsgruppe erstellt. Weitere Informationen zum Filtern des importierten Inhalts mit Parametern finden Sie unter Erweiterte Verwendung.
  • Nur Citrix Richtlinieneinstellungen, die mit der AppCenter-Verwaltungskonsole erstellt wurden, werden importiert. Citrix Richtlinieneinstellungen, die mit Windows Gruppenrichtlinienobjekten erstellt wurden, werden nicht importiert.
  • Die Migrationsskripts sind nur für die Migrationen von XenApp 6.x auf XenApp 7.6 vorgesehen.
  • Mehr als fünffach verschachtelte Ordner werden von Studio nicht unterstützt und werden nicht importiert. Wenn die Ordnerstruktur Ihrer Anwendung Ordner mit mehr als fünf Ebenen von Unterordnern enthält, reduzieren Sie vor dem Importieren die Anzahl der verschachtelten Ordnerebenen.

Sicherheitsüberlegungen

Die durch die Exportskripts erstellten XML-Dateien können vertrauliche Informationen über Ihre Umgebung und Organisation enthalten, z. B. Benutzernamen, Servernamen und andere XenApp-Farm-, Anwendungs- und Richtlinienkonfigurationsdaten. Speichern und verwenden Sie diese Dateien in einer sicheren Umgebung.

Prüfen Sie die XML-Dateien sorgfältig, bevor Sie sie als Eingabe für den Import von Richtlinien und Anwendungen verwenden, um sicherzustellen, dass sie keine unbefugten Änderungen enthalten.

Richtlinienobjektzuweisungen (bisher “Richtlinienfilter”) steuern die Anwendung von Richtlinien. Nach dem Importieren von Richtlinien prüfen Sie die Objektzuweisungen für jede Richtlinie sorgfältig, um sicherzustellen, dass durch den Import keine Sicherheitsrisiken entstanden sind. Nach dem Import können auf die Richtlinie verschiedene Gruppen von Benutzern, IP-Adressen oder Clientnamen angewendet werden. Die Einstellungen zum Zulassen und Verweigern haben möglicherweise nach dem Import eine andere Bedeutung.

Protokollierung und Fehlerbehandlung

Die Skripts sorgen für umfangreiche Protokollierung, wobei die Ausführung aller Cmdlets, informative Meldungen, die Ergebnisse der Cmdlet-Ausführung sowie Warnungen und Fehler aufgezeichnet werden.

  • Die Verwendung der Citrix PowerShell-Cmdlets wird größtenteils protokolliert. Alle PowerShell-Cmdlets in den Importskripts, die neue Siteobjekte erstellen, werden protokolliert.
  • Der Skriptausführungsverlauf wird protokolliert, einschließlich der Objekte, die verarbeitet werden.
  • Große Aktionen, die sich auf den Flussstatus auswirken, werden protokolliert, einschließlich über die Befehlszeile geleitete Flüsse.
  • Alle Meldungen, die auf der Konsole gedruckt werden, einschließlich Warnungen und Fehler werden protokolliert.
  • Jede Zeile wird mit einem Zeitstempel versehen, der auf die Millisekunde genau ist.

Citrix empfiehlt, dass Sie beim Ausführen der Export- und Import-Cmdlets jeweils eine Protokolldatei angeben.

Wenn Sie keinen Protokolldateinamen angeben, wird die Protokolldatei im Basisordner des aktuellen Benutzers (in der PowerShell-Variable $HOME angegeben) gespeichert. Wenn dieser Ordner nicht vorhanden ist, wird die Protokolldatei im aktuellen Ausführungsordner des Skripts gespeichert. Der Standardname der Protokolldatei ist “XFarmYYYYMMDDHHmmSS-xxxxxx”, wobei die letzten sechs Ziffern eine zufällige Zahl sind.

Standardmäßig werden die gesamten Fortschrittsinformationen angezeigt. Um die Anzeige zu unterdrücken, legen Sie den NoDetails-Parameter in den Export- und Import-Cmdlets fest.

Bei einem Fehler wird die Ausführung eines Skripts im Allgemeinen angehalten. Wenn der Fehler behoben ist, können Sie das Cmdlet noch einmal ausführen.

Bedingungen, die nicht als Fehler gelten, werden protokolliert und oft als Warnung gemeldet, während die Skriptausführung fortgesetzt wird. Beispielsweise werden nicht unterstützte Anwendungstypen als Warnung gemeldet und nicht importiert. Anwendungen, die bereits in der XenApp 7.6-Site vorhanden sind, werden nicht importiert. Richtlinieneinstellungen, die in XenApp 7.6 veraltet sind, werden nicht importiert.

Die Migrationsskripts verwenden viele PowerShell-Cmdlets und nicht alle möglichen Fehler werden protokolliert. Zusätzliche Protokollierungsfunktionen sind mit den PowerShell-Protokollierungsfeatures verfügbar. Beispielsweise wird alles, was auf dem Bildschirm gedruckt wird, in PowerShell-Aufzeichnungen protokolliert. Weitere Informationen finden Sie in der Hilfe zu den Cmdlets “Start-Transcript” und “Stop-Transcript”.

Anforderungen, Vorbereitungen und Best Practices

Zur Migration müssen Sie das Citrix XenApp 6.5-SDK verwenden. Laden Sie das SDK von https://www.citrix.com/downloads/xenapp/sdks/powershell-sdk.html herunter.

Lesen Sie den gesamten Artikel, bevor Sie mit der Migration beginnen.

Sie sollten die grundlegenden PowerShell-Konzepte der Ausführungsrichtlinie, Module, Cmdlets und Skripts verstehen. Obwohl umfangreiche Erfahrung in der Erstellung von Skripts nicht erforderlich ist, sollten Sie die ausgeführten Cmdlets verstehen. Mit dem Cmdlet “Get-Help” können Sie sich die Hilfe zu jedem Migrations-Cmdlet ansehen, bevor Sie es ausführen. Beispiel: Get-Help -full Import-XAFarm.

Geben Sie eine Protokolldatei in der Befehlszeile an und überprüfen Sie die Protokolldatei jedes Mal, nachdem Sie ein Cmdlet ausgeführt haben. Wenn ein Skript fehlschlägt, identifizieren Sie den Fehler mit der Protokolldatei und beheben Sie ihn. Führen Sie dann das Cmdlet noch einmal aus.

Nützliche Info

  • Zur Vereinfachung der Bereitstellung von Anwendungen während der Ausführung beider Bereitstellungen (vorhandene XenApp 6.x-Farm und neue XenApp 7.6-Site) können Sie beide Bereitstellungen in StoreFront oder dem Webinterface aggregieren. Weitere Informationen zu Ihrem StoreFront- oder Webinterface-Release finden Sie in der Dokumentation in den eDocs.
  • Für die Handhabung der Anwendungssymboldaten gibt es zwei Möglichkeiten:

    • Wenn Sie den Parameter “EmbedIconData” im Cmdlet “Export-XAFarm” angeben, werden exportierte Anwendungssymboldaten in der XML-Ausgabedatei eingebettet.
    • Wenn Sie den Parameter “EmbedIconData” im Cmdlet “Export-XAFarm” nicht angeben, werden exportierte Anwendungssymboldaten werden in einem Ordner gespeichert. Der Name des Ordners wird durch Anfügen der Zeichenfolge “-icons” an den Basisnamen der XML-Ausgabedatei erstellt. Wenn der Parameter “XmlOutputFile” beispielsweise “FarmData.xml” ist, wird der Ordner “FarmData-icons” zum Speichern der Anwendungssymbole erstellt.

      Die Symboldatendateien in diesem Ordner sind TXT-Dateien, die nach den Browsernamen der veröffentlichten Anwendungen benannt sind (die Dateien sind zwar TXT-Dateien, die gespeicherten Daten sind jedoch verschlüsselte binäre Symboldaten, die vom Importskript zum erneuten Erstellen des Anwendungssymbols gelesen werden können). Wenn der Symbolordner während des Importvorgangs nicht im selben Verzeichnis gefunden wird wie die XML-Importdatei, werden allgemeine Symbole für die importierten Anwendungen verwendet.

  • Die Namen der Skriptmodule, Manifestdateien, freigegebenen Module und Cmdlets sind ähnlich. Verwenden Sie die Tabulatortaste vorsichtig, damit es nicht zu Fehlern kommt. Beispiel: Export-XAFarm ist ein Cmdlet. ExportXAFarm.psd1 und ExportXAFarm.psm1 sind Dateien, die nicht ausgeführt werden können.
  • In den nachfolgenden schrittweisen Anleitungen sind die meisten Parameterwerte für <string> mit Anführungszeichen versehen. Diese sind optional für Zeichenfolgen, die nur aus einem Wort bestehen.

Export des XenApp 6.x-Servers

  • Der Export muss auf einem XenApp 6.x-Server ausgeführt werden, der mit dem Servermodus “Controller- und Sitzungshostmodus” (üblicherweise “Controller”) konfiguriert wurde.
  • Zum Ausführen der Export-Cmdlets müssen Sie XenApp-Administrator mit der Berechtigung zum Lesen von Objekten sein. Sie müssen auch über die erforderlichen Windows-Berechtigungen zum Ausführen von PowerShell-Skripts verfügen. Schrittweise Anleitungen finden Sie unten.
  • Stellen Sie sicher, dass die XenApp 6.x-Farm funktionsfähig ist, bevor Sie mit dem Export beginnen. Erstellen Sie ein Backup der Farmdatenbank. Überprüfen Sie die Integrität der Farm mit dem Citrix IMA Helper (CTX133983). Führen Sie von der Registerkarte für den IMA Datastore aus einen Master Check aus (und lösen Sie alle ungültigen Einträge mit der Option “DSCheck” auf). Durch das Reparieren von Problemen vor der Migration werden Fehler beim Export vermieden. Wenn ein Server beispielsweise nicht richtig aus der Farm entfernt wird, bleiben seine Daten möglicherweise in der Datenbank vorhanden, was zu Fehlern bei den Cmdlets im Exportskript führen kann (z. B. Get-XAServer -ZoneName). Wenn die Cmdlets fehlschlagen, schlägt das Skript fehl.
  • Sie können die Export-Cmdlets auf einer funktionierenden Farm ausführen, die aktive Benutzerverbindungen hat. Die Exportskripts lesen nur die statische Farmkonfiguration und die Richtliniendaten.

Importieren auf den XenApp 7.6-Server

  • Sie können Daten in XenApp 7.6-Bereitstellungen (und höhere unterstützte Versionen) importieren. Sie müssen einen XenApp 7.6-Controller und Studio installieren und eine Site erstellen, bevor Sie die aus der XenApp 6.x-Farm exportierten Daten importieren. VDAs sind zwar zum Importieren von Einstellungen nicht erforderlich, sie gestatten jedoch das Verfügbarmachen von Anwendungsdateitypen.
  • Zum Ausführen der Import-Cmdlets müssen Sie XenApp-Administrator mit der Berechtigung zum Lesen und Erstellen von Objekten sein. Ein Volladministrator hat diese Berechtigungen. Sie müssen auch über die erforderlichen Windows-Berechtigungen zum Ausführen von PowerShell-Skripts verfügen. Schrittweise Anleitungen finden Sie unten.
  • Während eines Imports dürfen keine anderen Benutzerverbindungen aktiv sein. Die Importskripts erstellen viele neue Objekte und wenn andere Benutzer gleichzeitig Änderungen an der Konfiguration vornehmen, können Unterbrechungen auftreten.

Sie können Daten exportieren und dann den Parameter “-Preview “ für das Import-Cmdlet verwenden, um eine Vorschau des Imports zu sehen, ohne dass tatsächliche Importvorgänge stattfinden. In den Protokollen wird genau angegeben, was während eines tatsächlichen Importvorgangs passieren würde. Wenn Fehler auftreten, können Sie diese beheben, bevor Sie einen tatsächlichen Import durchführen.

Schrittweise Anleitungen: Exportieren von Daten

Führen Sie die folgenden Schritte aus, um Daten aus einem XenApp 6.x-Controller in XML-Dateien zu exportieren.

  1. Laden Sie das Paket mit dem Migrationstool (XAMigration.zip) von der Citrix Downloadsite herunter. Speichern Sie es der Einfachheit halber in einer Netzwerkfreigabe, damit von der XenApp 6.x-Farm und der XenApp 7.6-Site darauf zugegriffen werden kann. Entzippen Sie XAMigration.zip in der Netzwerkfreigabe. Sie sollten nun zwei ZIP-Dateien haben: ReadIMA.zip und ImportFMA.zip.

  2. Melden Sie sich am XenApp 6.x-Controller als XenApp-Administrator mit mindestens Lesezugriff und Windows-Berechtigung zum Ausführen von PowerShell-Skripts an.

  3. Kopieren Sie die Datei ReadIMA.zip von der Netzwerkfreigabe auf den XenApp 6.x-Controller. Entzippen und extrahieren Sie ReadIMA.zip auf dem Controller in einen Ordner (z. B.: C:\XAMigration).

  4. Öffnen Sie eine PowerShell-Konsole und legen Sie das aktuelle Verzeichnis als Skriptspeicherort fest. Beispiel: cd C:\XAMigration.

  5. Überprüfen Sie die Skriptausführungsrichtlinie durch Ausführen von Get-ExecutionPolicy.

  6. Legen Sie die Skriptausführungsrichtlinie mindestens auf “RemoteSigned” fest, damit die Skripts ausgeführt werden können. Beispiel: Set-ExecutionPolicy RemoteSigned.

  7. Importieren der Moduldefinitionsdateien “ExportPolicy.psd1” und “ExportXAFarm.psd1”: Import-Module .\\ExportPolicy.psd1 und Import-Module .\\ExportXAFarm.psd1.

    Nützliche Info

    • Wenn Sie nur Richtliniendaten exportieren möchten, können Sie nur die Moduldefinitionsdatei “ExportPolicy.psd1” importieren. Genauso gilt, wenn Sie nur Farmdaten importieren möchten, importieren Sie nur “ExportXAFarm.psd1”.
    • Beim Importieren der Moduldefinitionsdateien werden auch die erforderlichen PowerShell-Snap-Ins hinzugefügt.
    • Importieren Sie nicht die Skriptdateien mit der Erweiterung .psm1.
  8. Führen Sie zum Exportieren von Richtlinien- und Farmdaten die folgenden Cmdlets aus.

Richtliniendaten: Export-Policy

Parameter Beschreibung
-XmlOutputFile “string.xml” Name der XML-Ausgabedatei. Diese Datei enthält die exportierten Daten. Sie muss die Erweiterung .xml haben. Die Datei darf nicht vorhanden sein, aber wenn Sie den Pfad angeben, muss der übergeordnete Pfad vorhanden sein. Standardwert: Keiner. Dieser Parameter ist erforderlich.
-LogFile string Name der Protokolldatei. Eine Erweiterung ist optional. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Wenn die Datei vorhanden ist und der Parameter “NoClobber” ebenfalls angegeben ist, wird ein Fehler generiert, sonst wird der Inhalt der Datei überschrieben. Standardwert: siehe Protokollierung und Fehlerbehandlung.
-NoLog Keine Protokollausgabe erstellen. Dieser Parameter überschreibt den Parameter “LogFile”, wenn er ebenfalls angegeben ist. Standardwert: False; Protokollausgabe wird erstellt
-NoClobber Vorhandene Protokolldatei, die im Parameter “LogFile” angegeben wurde, nicht überschreiben. Wenn die Protokolldatei nicht vorhanden ist, hat dieser Parameter keine Auswirkung. Standardwert: False; eine vorhandene Protokolldatei wird überschrieben
-NoDetails Keine ausführlichen Berichte zur Skriptausführung an die Konsole senden. Standardwert: False; ausführliche Berichte werden an der Konsole gesendet
-SuppressLogo Meldung “XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#” nicht auf Konsole drucken. Diese Meldung, in der die Skriptversion angegeben wird, kann bei der Problembehandlung hilfreich sein, daher empfiehlt Citrix, diesen Parameter wegzulassen. Standardwert: False; die Meldung wird auf der Konsole gedruckt

Beispiel: Das folgende Cmdlet exportiert Richtlinieninformationen in die XML-Datei “MyPolicies.xml”. Der Vorgang wird in der Datei “MyPolicies.log” protokolliert.

Export-Policy -XmlOutputFile ".\MyPolicies.XML" -LogFile ".\MyPolicies.Log"

Farmdaten: Export-XAFarm

Parameter Beschreibung
XmlOutputFile “string.xml” Name der XML-Ausgabedatei. Diese Datei enthält die exportierten Daten. Sie muss die Erweiterung .xml haben. Die Datei darf nicht vorhanden sein, aber wenn Sie den Pfad angeben, muss der übergeordnete Pfad vorhanden sein. Standardwert: Keiner. Dieser Parameter ist erforderlich.
-LogFile “string Name der Protokolldatei. Eine Erweiterung ist optional. Die Datei wird erstellt, wenn sie nicht vorhanden ist. Wenn die Datei vorhanden ist und der Parameter “NoClobber” ebenfalls angegeben ist, wird ein Fehler generiert, sonst wird der Inhalt der Datei überschrieben. Standardwert: siehe Protokollierung und Fehlerbehandlung
-NoLog Keine Protokollausgabe erstellen. Dieser Parameter überschreibt den Parameter “LogFile”, wenn er ebenfalls angegeben ist. Standardwert: False; Protokollausgabe wird erstellt
-NoClobber Vorhandene Protokolldatei, die im Parameter “LogFile” angegeben wurde, nicht überschreiben. Wenn die Protokolldatei nicht vorhanden ist, hat dieser Parameter keine Auswirkung. Standardwert: False; eine vorhandene Protokolldatei wird überschrieben
-NoDetails Keine ausführlichen Berichte zur Skriptausführung an die Konsole senden. Standardwert: False; ausführliche Berichte werden an der Konsole gesendet
-SuppressLogo Meldung “XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#” nicht auf Konsole drucken. Diese Meldung, in der die Skriptversion angegeben wird, kann bei der Problembehandlung hilfreich sein, daher empfiehlt Citrix, diesen Parameter wegzulassen. Standardwert: False; die Meldung wird auf der Konsole gedruckt
-IgnoreAdmins Administratorinformationen nicht exportieren. Siehe Erweiterte Verwendung. Standardwert: False; Administratorinformationen werden exportiert
-IgnoreApps Anwendungsinformationen nicht exportieren. Siehe Erweiterte Verwendung. Standardwert: False; Anwendungsinformationen werden exportiert
-IgnoreServers Serverinformationen nicht exportieren. Standardwert: False; Serverinformationen werden exportiert
-IgnoreZones Zoneninformationen nicht exportieren. Standard: False; Zoneninformationen werden exportiert
-IgnoreOthers Daten wie Folgende nicht exportieren: Konfigurationsprotokollierung, Lastauswertungsprogramme, Lastausgleichsrichtlinien, Druckertreiber und Workergruppen. Standardwert: False; andere Informationen werden exportiert Diese Option ermöglicht das Durchführen eines Exports, wenn ein Fehler vorliegt, der keine Auswirkungen auf die exportierten oder importierten Daten hat.
-AppLimit integer Anzahl der Anwendungen, die exportiert werden. Siehe Anforderungen, Vorbereitungen und Best Practices. Standardwert: Alle Anwendungen werden exportiert
-EmbedIconData Anwendungssymboldaten in die gleiche XML-Datei einbetten wie die anderen Objekte. Standard: Symbole werden separat gespeichert. Siehe Anforderungen, Vorbereitungen und Best Practices.
-SkipApps integer Anzahl der Anwendungen, die übersprungen werden. Siehe Erweiterte Verwendung. Standardwert: Keine Anwendungen werden übersprungen

Beispiel: Das folgende Cmdlet exportiert Farminformationen in die XML-Datei “MyFarm.xml”. Der Vorgang wird in der Datei “MyFarm.log” protokolliert. Ein Ordner mit dem Namen “MyFarm-icons” wird zum Speichern der Datendateien für die Anwendungssymbole erstellt. Dieser Ordner ist am gleichen Speicherort wie “MyFarm.xml”.

Export-XAFarm -XmlOutputFile ".\MyFarm.XML" -LogFile ".\MyFarm.Log"

Nachdem die Ausführung der Exportskripts abgeschlossen ist, enthalten die in den Befehlszeilen angegebenen XML-Dateien die Richtliniendaten und die XenApp-Farmdaten. Die Anwendungssymboldateien enthalten die Symboldatendateien und die Protokolldatei gibt an, was sich beim Export ereignet hat.

Schrittweise Anleitungen: Importieren von Daten

Sie können eine Importvorschau ausführen (indem Sie das Cmdlet Import-Policy oder Import-XAFarm mit dem Preview-Parameter ausführen) und die Protokolldateien überprüfen, bevor Sie einen tatsächlichen Import ausführen.

Führen Sie die folgenden Schritte aus, um Daten mit den beim Export erstellten XML-Dateien in eine XenApp 7.6-Site zu importieren.

  1. Melden Sie sich als Administrator mit Lese- und Schreibrechten und Windows-Berechtigung zum Ausführen von PowerShell-Skripts am XenApp 7.6-Controller an.

  2. Wenn Sie das Paket mit dem Migrationstool (XAMigration) noch nicht in der Netzwerkfreigabe entzippt haben, führen Sie den Vorgang nun aus. Kopieren Sie die Datei ImportFMA.zip von der Netzwerkfreigabe auf den XenApp 7.6-Controller. Entzippen und extrahieren Sie ImportFMA.zip auf dem Controller in einen Ordner (z. B.: C:\XAMigration).

  3. Kopieren Sie die XML-Dateien (die während des Exports erstellten Ausgabedateien) vom XenApp 6.x-Controller in den Speicherort auf dem XenApp 7.6-Controller, wo Sie die Dateien aus ImportFMA.zip extrahiert haben.

    Wenn Sie die Anwendungssymboldaten beim Ausführen des Cmdlets “Export-XAFarm” nicht in die XML-Ausgabedatei eingebettet haben, kopieren Sie den Ordner mit den Symboldaten in den gleichen Speicherort auf dem XenApp 7.6-Controller, in den Sie die XML-Ausgabedateien kopiert haben und in dem sich die extrahierten Dateien aus ImportFMA.zip befinden.

  4. Öffnen Sie eine PowerShell-Konsole und legen Sie das aktuelle Verzeichnis als Skriptspeicherort fest: cd C:\XAMigration
  5. Überprüfen Sie die Skriptausführungsrichtlinie durch Ausführen von Get-ExecutionPolicy.
  6. Legen Sie die Skriptausführungsrichtlinie mindestens auf “RemoteSigned” fest, damit die Skripts ausgeführt werden können. Beispiel: Set-ExecutionPolicy RemoteSigned.
  7. Importieren Sie die PowerShell-Moduldefinitionsdateien “ImportPolicy.psd1” und “ImportXAFarm.psd1”: Import-Module .\\ImportPolicy.psd1 und Import-Module .\\ImportXAFarm.psd1.

    Nützliche Info:

    • Wenn Sie nur Richtliniendaten importieren möchten, können Sie nur die Moduldefinitionsdatei “ImportPolicy.psd1” importieren. Genauso gilt, wenn Sie nur Farmdaten importieren möchten, importieren Sie nur “ImportXAFarm.psd1”.
    • Beim Importieren der Moduldefinitionsdateien werden auch die erforderlichen PowerShell-Snap-Ins hinzugefügt.
    • Importieren Sie nicht die Skriptdateien mit der Erweiterung .psm1.
  8. Führen Sie zum Importieren von Richtlinien- und Anwendungsdaten die folgenden Cmdlets aus.

Richtliniendaten: Import-Policy, unter Angabe der XML-Datei mit den exportierten Richtliniendaten.

Parameter Beschreibung
-XmlInputFile “string.xml” Name der XML-Eingabedatei. Diese Datei enthält Daten, die mit dem Cmdlet “Export-Policy” gesammelt wurden. Sie muss die Erweiterung .xml haben. Standardwert: Keiner. Dieser Parameter ist erforderlich.
-XsdFile “string Name der XSD-Datei. Mit dieser Datei überprüfen die Importskripts die Syntax der XML-Eingabedatei. Siehe Erweiterte Verwendung. Standardwert: PolicyData.XSD
-LogFile “string Name der Protokolldatei. Wenn Sie Exportprotokolldateien auf diesen Server kopiert haben, sollten Sie einen anderen Namen für die Protokolldatei des Import-Cmdlets verwenden. Standardwert: siehe Protokollierung und Fehlerbehandlung.
-NoLog Keine Protokollausgabe erstellen. Dieser Parameter überschreibt den Parameter “LogFile”, wenn er ebenfalls angegeben ist. Standardwert: False; Protokollausgabe wird erstellt
-NoClobber Vorhandene Protokolldatei, die im Parameter “LogFile” angegeben wurde, nicht überschreiben. Wenn die Protokolldatei nicht vorhanden ist, hat dieser Parameter keine Auswirkung. Standardwert: False; eine vorhandene Protokolldatei wird überschrieben
-NoDetails Keine ausführlichen Berichte zur Skriptausführung an die Konsole senden. Standardwert: False; ausführliche Berichte werden an der Konsole gesendet
-SuppressLogo Meldung “XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#” nicht auf Konsole drucken. Diese Meldung, in der die Skriptversion angegeben wird, kann bei der Problembehandlung hilfreich sein, daher empfiehlt Citrix, diesen Parameter wegzulassen. Standardwert: False; die Meldung wird auf der Konsole gedruckt
-Preview Führen Sie eine Importvorschau aus: Daten werden aus der XML-Eingabedatei gelesen, aber es werden keine Objekte in die Site importiert. In der Protokolldatei und Konsole wird protokolliert, was während der Importvorschau vorgegangen ist. Eine Vorschau zeigt Administratoren, was während eines echten Imports passieren würde. Standardwert: False; ein echter Import wird ausgeführt

Beispiel: Mit dem folgenden Cmdlet werden Richtliniendaten aus der XML-Datei “MyPolicies.xml” importiert. Der Vorgang wird in der Datei “MyPolicies.log” protokolliert.

Import-Policy -XmlInputFile ".\MyPolicies.XML" -LogFile ".\MyPolicies.Log"

Anwendungen: Import-XAFarm unter Angabe der XML-Datei mit den exportierten Farmdaten.

Parameter Beschreibung
-XmlInputFile “string.xml” Name der XML-Eingabedatei. Diese Datei enthält Daten, die mit dem Cmdlet “Export-XAFarm” gesammelt wurden. Sie muss die Erweiterung .xml haben. Standardwert: Keiner. Dieser Parameter ist erforderlich.
-XsdFile “string Name der XSD-Datei. Mit dieser Datei überprüfen die Importskripts die Syntax der XML-Eingabedatei. Siehe Erweiterte Verwendung. Standardwert: XAFarmData.XSD
-LogFile “string Name der Protokolldatei. Wenn Sie Exportprotokolldateien auf diesen Server kopiert haben, sollten Sie einen anderen Namen für die Protokolldatei des Import-Cmdlets verwenden. Standardwert: siehe Protokollierung und Fehlerbehandlung
-NoLog Keine Protokollausgabe erstellen. Dieser Parameter überschreibt den Parameter “LogFile”, wenn er ebenfalls angegeben ist. Standardwert: False; Protokollausgabe wird erstellt
-NoClobber Vorhandene Protokolldatei, die im Parameter “LogFile” angegeben wurde, nicht überschreiben. Wenn die Protokolldatei nicht vorhanden ist, hat dieser Parameter keine Auswirkung. Standardwert: False; eine vorhandene Protokolldatei wird überschrieben
-NoDetails Keine ausführlichen Berichte zur Skriptausführung an die Konsole senden. Standardwert: False; ausführliche Berichte werden an der Konsole gesendet
-SuppressLogo Meldung “XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm#” nicht auf Konsole drucken. Diese Meldung, in der die Skriptversion angegeben wird, kann bei der Problembehandlung hilfreich sein, daher empfiehlt Citrix, diesen Parameter wegzulassen. Standardwert: False; die Meldung wird auf der Konsole gedruckt
-Preview Führen Sie eine Importvorschau aus: Daten werden aus der XML-Eingabedatei gelesen, aber es werden keine Objekte in die Site importiert. In der Protokolldatei und Konsole wird protokolliert, was während der Importvorschau vorgegangen ist. Eine Vorschau zeigt Administratoren, was während eines echten Imports passieren würde. Standardwert: False; ein echter Import wird ausgeführt
-DeliveryGroupName “string Bereitstellungsgruppenname für alle importierten Anwendungen. Siehe Erweiterte Verwendung. Standardwert: “** - Delivery Group"
-MatchFolder “string Import von Anwendungen in Ordnern, deren Namen mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-NotMatchFolder “string Import von Anwendungen in Ordnern, deren Namen mit der Zeichenfolge (String) nicht übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-MatchServer “string Import von Anwendungen auf Servern, deren Namen mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung.
-NotMatchServer “string Import von Anwendungen auf Servern, deren Namen nicht mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-MatchWorkerGroup “string Import von Anwendungen, die für Workergruppen veröffentlicht wurden und deren Namen mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-NotMatchWorkerGroup “string Import von Anwendungen, die für Workergruppen veröffentlicht wurden und deren Namen nicht mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-MatchAccount “string Import von Anwendungen, die für Benutzerkonten veröffentlicht wurden und deren Namen mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-NotMatchAccount “string Import von Anwendungen, die für Benutzerkonten veröffentlicht wurden und deren Namen nicht mit der Zeichenfolge (String) übereinstimmen. Siehe Erweiterte Verwendung. Standardwert: Keine Übereinstimmung
-IncludeStreamedApps Import von Anwendungen des Typs “StreamedToClientOrServerInstalled”. (Es werden keine anderen gestreamten Anwendungen importiert.) Standardwert: Gestreamte Anwendungen werden nicht importiert
-IncludeDisabledApps Import von Anwendungen, die als deaktiviert markiert sind. Standard: Deaktivierte Anwendungen werden nicht importiert

Beispiel: Das folgende Cmdlet importiert Anwendungen aus der XML-Datei “MyFarm.xml”. Der Vorgang wird in der Datei “MyFarm.log” protokolliert.

Import-XAFarm -XmlInputFile ".\MyFarm.XML" -LogFile ".\MyFarm.Log"

Führen Sie nach dem Abschluss des Imports die nach der Migration erforderlichen Aufgaben durch.

Aufgaben nach der Migration

Nach dem erfolgreichen Import von XenApp 6.x-Richtlinien und Farmeinstellungen in eine XenApp 7.6-Site stellen Sie mit den folgenden Richtlinien sicher, dass die Daten richtig importiert wurden.

Richtlinien und Richtlinieneinstellungen

Das Importieren von Richtlinien ist im Prinzip ein Kopiervorgang mit Ausnahme von veralteten Einstellungen und Richtlinien, die nicht importiert werden. Mit der Prüfung nach der Migration werden die beiden Seiten verglichen.

  1. In der Protokolldatei werden alle importierten und ignorierten Richtlinien und Einstellungen aufgeführt. Überprüfen Sie zuerst die Protokolldatei und identifizieren Sie die Einstellungen und Richtlinien, die nicht importiert wurden.

  2. Vergleichen Sie die XenApp 6.x-Richtlinien mit den nach XenApp 7.6 importierten Richtlinien. Die Werte der Einstellungen sollten gleich bleiben (außer bei veralteten Richtlinieneinstellungen, siehe nächster Schritt).

    • Bei einer kleinen Anzahl von Richtlinien können Sie einen visuellen Vergleich der Richtlinien im XenApp 6.x AppCenter und in XenApp 7.6 Studio durchführen.
    • Bei einer großen Anzahl von Richtlinien ist ein visueller Vergleich u. U. nicht möglich. Verwenden Sie in solchen Fällen das Export-Cmdlet (Export-Policy), um die XenApp 7.6-Richtlinien in eine andere XML-Datei zu exportieren. Vergleichen Sie dann mit einem Textvergleichsprogramm (z. B. Windiff) die Daten der Datei mit den Daten in der XML-Datei, die zum Richtlinienexport aus XenApp 6.x verwendet wurde.
  3. Der Abschnitt Nicht importierte Richtlinieneinstellungen enthält Informationen dazu, was sich beim Import geändert haben könnte. Wenn eine XenApp 6.x-Richtlinie nur veralteten Einstellungen enthält, wird die gesamte Richtlinie nicht importiert. Beispiel: Wenn eine XenApp 6.x-Richtlinie nur HMR-Testeinstellungen enthält, wird die Richtlinie vollständig ignoriert, da es keine entsprechende Einstellung in XenApp 7.6 gibt.

    Einige XenApp 6.x-Richtlinieneinstellungen werden nicht mehr unterstützt, aber vergleichbare Funktionen wurden in XenApp 7.6 implementiert. In XenApp 7.6 können Sie beispielsweise einen Neustartzeitplan für Serverbetriebssystemmaschinen konfigurieren, indem Sie eine Bereitstellungsgruppe bearbeiten. Diese Funktionalität wurde zuvor über Richtlinieneinstellungen implementiert.

  4. Lesen Sie sich noch einmal durch, wie Filter in einer XenApp 7.6-Site im Gegensatz zu XenApp 6.x angewendet werden. Durch die wesentlichen Unterschiede zwischen der XenApp 6.x-Farm und der XenApp 7.6-Site kann sich die Wirkung von Filtern ändern.

Filter

Überprüfen Sie sorgfältig die Filter für die einzelnen Richtlinien. Damit sie in XenApp 7.6 weiterhin genauso funktionieren wie in XenApp 6.x, sind u. U. Änderungen erforderlich.

Filter Überlegungen
Zugriffssteuerung Die Zugriffssteuerung sollte die gleichen Werte wie die ursprünglichen XenApp 6.x-Filter enthalten und ohne Änderungen funktionieren.
Citrix CloudBridge Ein einfacher Boolescher Wert, der ohne Änderungen funktionieren sollte. (Dieses Produkt heißt jetzt NetScaler SD-WAN.)
Client-IP-Adresse Listet Client-IP-Adressbereiche auf. Jeder Bereich ist entweder zugelassen oder verweigert. Das Importskript behält die Werte bei, aber Änderungen können erforderlich sein, wenn sich andere Clients mit den XenApp 7.6-VDA-Maschinen verbinden.
Clientname Ähnlich wie beim Client-IP-Adressenfilter behält das Importskript die Werte bei. Es können jedoch Änderungen erforderlich sein, wenn sich andere Clients mit den XenApp 7.6-VDA-Maschinen verbinden.
Organisationseinheit Die Werte werden beibehalten, wenn die Organisationseinheiten beim Import aufgelöst werden können. Überprüfen Sie diesen Filter sorgfältig, besonders wenn die XenApp 6.x- und XenApp 7.6-Maschinen in unterschiedlichen Domänen sind. Wenn Sie die Filterwerte nicht richtig konfigurieren, wird die Richtlinie möglicherweise auf einen falschen Satz Organisationseinheiten angewendet. Die Organisationseinheiten werden nur durch Namen dargestellt, daher ist es möglich, dass eine Organisationseinheit zu einer Organisationseinheit aufgelöst wird, die andere Mitglieder enthält als die Organisationseinheit in der XenApp 6.x-Domäne. Selbst wenn einige Werte des Organisationseinheitsfilters beibehalten werden, prüfen Sie die Werte sorgfältig.
Benutzer oder Gruppe Die Werte werden beibehalten, wenn die Konten beim Import aufgelöst werden können. Ähnlich wie Organisationseinheiten werden die Konten nur nach Namen aufgelöst. Wenn die XenApp 7.6-Site eine Domäne mit den gleichen Domänen- und Benutzernamen enthält, wobei es sich aber tatsächlich um zwei verschiedene Domänen und Benutzer handelt, entsprechen die aufgelösten Konten möglicherweise nicht den Domänenbenutzern in XenApp 6.x. Wenn Sie die Filterwerte nicht richtig überprüfen und ändern, kann es zur falschen Anwendung von Richtlinien kommen.
Workergruppe Workergruppen werden in XenApp 7.6 nicht unterstützt. Verwenden Sie die Bereitstellungsgruppe, den Bereitstellungsgruppentyp und die Tagfilter, die in XenApp 7.6 unterstützt werden (nicht in XenApp 6.x). Bereitstellungsgruppe: Ermöglicht das Anwenden von Richtlinien basierend auf Bereitstellungsgruppen. Jeder Filtereintrag gibt eine Bereitstellungsgruppe an und kann zugelassen oder verweigert werden. Bereitstellungsgruppentyp: Ermöglicht das Anwenden von Richtlinien basierend auf den Bereitstellungsgruppentypen. Jeder Filter gibt einen Bereitstellungsgruppentyp an und kann zugelassen oder verweigert werden. Tag: Gibt Richtlinienanwendung basierend auf Tags an, die für die VDA-Maschinen erstellt wurden. Jedes Tag kann zugelassen oder verweigert werden.

Filter, die Domänenbenutzeränderungen umfassen, müssen besonders sorgfältig überprüft werden, wenn die XenApp 6.x-Farm in einer anderen Domäne ist als die XenApp 7.6-Site. Da das Importskript nur die Zeichenfolgen von Domänen- und Benutzernamen verwendet, um Benutzer in der neuen Domäne aufzulösen, werden einige Konten möglicherweise aufgelöst und andere nicht. Obwohl nicht sehr wahrscheinlich ist, dass verschiedene Domänen und Benutzer den gleichen Namen haben, sollten Sie unbedingt die Filter sorgfältig überprüfen, um sicherzustellen, dass sie korrekte Werte enthalten.

Anwendungen

Die Skripts zum Import von Anwendungen importieren nicht nur Anwendungen, sondern sie erstellen auch Objekte, z. B. Bereitstellungsgruppen. Wenn der Anwendungsimport mehrere Durchläufe umfasst, können sich die Originalhierarchien der Anwendungsordner erheblich ändern.

  1. Lesen Sie als Erstes die Migrationsprotokolldateien, die Informationen dazu enthalten, welche Anwendungen importiert oder ignoriert wurden und welche Cmdlets zum Erstellen der Anwendungen verwendet wurden.
  2. Für jede Anwendung gilt Folgendes:

    • Sehen Sie sich das Protokoll an und prüfen Sie, ob die grundlegenden Eigenschaften beim Importieren beibehalten wurden. Bestimmen Sie mit den Informationen unter Zuordnung von Anwendungseigenschaften, welche Eigenschaften ohne Änderungen importiert, nicht importiert oder mit den XenApp 6.x-Anwendungsdaten initialisiert wurden.
    • Überprüfen Sie die Benutzerliste. Das Importskript importiert automatisch die explizite Liste der Benutzer in die Liste “Sichtbarkeit beschränken” der Anwendung in XenApp 7.6. Stellen Sie sicher, dass die Liste unverändert ist.
  3. Anwendungsserver werden nicht importiert. Dies bedeutet, dass auf keine der importierten Anwendungen zugegriffen werden kann. Den Bereitstellungsgruppen, die diese Anwendungen enthalten, müssen Maschinenkataloge mit den Maschinen zugewiesen werden, auf denen die ausführbaren Images der veröffentlichten Anwendungen sind. Für jede Anwendung gilt Folgendes:

    • Stellen Sie sicher, dass der Name der ausführbaren Datei und das Arbeitsverzeichnis auf eine ausführbare Datei verweisen, die auf den Maschinen vorhanden ist, die der Bereitstellungsgruppe (über die Maschinenkataloge) zugewiesen sind.
    • Überprüfen Sie einen Befehlszeilenparameter (dies kann ein beliebiges Objekt sein, z. B. Dateiname, Umgebungsvariable oder der Name einer ausführbaren Datei). Stellen Sie sicher, dass der Parameter für alle Maschinen in den Maschinenkatalogen, die der Bereitstellungsgruppe zugewiesen sind, gültig ist.

Protokolldateien

Die Protokolldateien sind die wichtigsten Referenzressourcen beim Import und Export. Aus diesem Grund werden bestehende Protokolldateien standardmäßig nicht überschrieben und Standardprotokolldateien haben eindeutige Namen.

Im Abschnitt Protokollierung und Fehlerbehandlung wurde bereits erwähnt, dass die Ausgabe und die Protokolldatei, die Sie erhalten, wenn Sie die verfügbaren zusätzlichen Protokollierungsfunktionen für die PowerShell-Cmdlets Start-Transcript und Stop-Transcript verwenden (sie protokollieren alles, was in die Konsole eingegeben und gedruckt wird), eine vollständige Referenz der Import- und Exportaktivitäten bieten.

Mit den Zeitstempeln in den Protokolldateien können Sie bestimmte Probleme diagnostizieren. Wenn beispielsweise ein Export oder Import sehr lange gedauert hat, können Sie feststellen, ob eine fehlerhafte Datenbankverbindung oder das Auflösen von Benutzerkonten viel Zeit in Anspruch genommen haben.

Aus den in den Protokolldateien aufgezeichneten Befehlen lässt sich auch ermitteln, wie manche Objekte gelesen oder erstellt werden. Beispielsweise werden zum Erstellen einer Bereitstellungsgruppe mehrere Befehle ausgeführt, und zwar nicht nur, um das Bereitstellungsgruppenobjekt selbst zu erstellen, sondern auch andere Objekte, wie die Zugriffsrichtlinienregeln, mit denen Anwendungsobjekte Bereitstellungsgruppen zugewiesen werden.

Mit der Protokolldatei kann auch ein fehlgeschlagener Export oder Import diagnostiziert werden. Normalerweise ist in den letzten Zeilen der Protokolldatei angegeben, was den Fehler verursacht hat. Die Fehlermeldung ist ebenfalls in der Protokolldatei gespeichert. Mit der Protokolldatei und der XML-Datei zusammen können Sie bestimmen, welches Objekt an dem Fehler beteiligt war.

Nach der Überprüfung und dem Test der Migration haben Sie folgende Möglichkeiten:

  1. Upgrade der XenApp 6.5-Workerserver auf aktuelle Virtual Delivery Agents (VDAs) durch Ausführen des Installers für 7.6 auf den Servern. Der Installer entfernt die XenApp 6.5-Software und installiert dann automatisch einen aktuellen VDA. Anweisungen finden Sie unter Upgrade eines XenApp 6.5-Workers auf einen neuen VDA für Windows-Serverbetriebssysteme.

    Bei XenApp 6.0-Workerservern müssen Sie die XenApp 6.0-Software manuell vom Server deinstallieren. Danach können Sie mit dem Installer für 7.6 den aktuellen VDA installieren. Sie können mit dem Installer für 7.6 nicht automatisch die XenApp 6.0-Software entfernen.

  2. Erstellen von Maschinenkatalogen (oder Bearbeiten von vorhandenen Katalogen) für die aktualisierten Worker in der neuen XenApp-Site mit Studio.

  3. Hinzufügen der aktualisierten Maschinen aus dem Maschinenkatalog zu den Bereitstellungsgruppen, die die auf den VDAs für Windows-Serverbetriebssysteme installierten Anwendungen enthalten.

Erweiterte Verwendung

Standardmäßig exportiert das Cmdlet Export-Policy alle Richtliniendaten in eine XML-Datei. Analog exportiert das Cmdlet Export-XAFarm alle Farmdaten in eine XML-Datei. Sie können mit Befehlszeilenparametern genauer steuern, was importiert und exportiert wird.

Teilweises Exportieren von Anwendungen

Wenn Sie eine große Anzahl von Anwendungen haben und steuern möchten, wie viele in die XML-Datei exportiert werden, verwenden Sie die folgenden Parameter:

  • AppLimit: gibt die Anzahl der zu exportierenden Anwendungen an.
  • SkipApps: gibt die Anzahl der zu überspringenden Anwendungen an.

Sie können beide Parameter verwenden, um große Mengen von Anwendungen in praktischen Segmenten zu exportieren. Beispiel: Wenn Sie das erste Mal Export-XAFarm ausführen, möchten Sie nur die ersten 200 Anwendungen exportieren und geben daher den Wert im Parameter “AppLimit” an.

Export-XAFarm -XmlOutputFile "Apps1-200.xml"

Beim nächsten Mal, wenn Sie Export-XAFarm ausführen, sollen die nächsten 100 Anwendungen exportiert werden. Sie verwenden den Parameter “SkipApps”, um die bereits exportierten Anwendungen (die ersten 200) zu überspringen, und exportieren mit dem Parameter “AppLimit” die nächsten 100 Anwendungen.

Export-XAFarm -XmlOutputFile "Apps201-300.xml" -AppLimit "100" -SkipApps "200"

Ausschließen von Objekten aus dem Export

Einige Objekte brauchen nicht exportiert zu werden und können ignoriert werden. Dazu zählen besonders Objekte, die nicht importiert werden. Weitere Informationen hierzu finden Sie unter Nicht importierte Richtlinieneinstellungen und Zuordnung von Anwendungseigenschaften. Mit den folgenden Parametern können Sie den Export unnötiger Objekte verhindern:

  • IgnoreAdmins: Administratorobjekte werden nicht exportiert.
  • IgnoreServers: Serverobjekte werden nicht exportiert.
  • IgnoreZones: Zonenobjekte werden nicht exportiert.
  • IgnoreOthers: Konfigurationsprotokollierungs-, Lastauswertungsprogramm-, Lastausgleichsrichtlinien-, Druckertreiber- und Workergruppenobjekte werden nicht exportiert.
  • IgnoreApps: Anwendungen werden nicht exportiert. Hiermit können Sie andere Daten in eine XML-Ausgabedatei exportieren und dann den Export erneut ausführen, um die Anwendungen in eine zweite XML-Ausgabedatei zu exportieren.

Sie können mit diesen Parametern auch Probleme umgehen, die zum Fehlschlagen des Exports führen können. Wenn Sie beispielsweise einen fehlerhaften Server in einer Zone haben, schlägt der Export der Zone möglicherweise fehl. Wenn Sie den Parameter “IgnoreZones” verwenden, wird der Exportvorgang mit anderen Objekten fortgesetzt.

Bereitstellungsgruppennamen

Wenn nicht alle Anwendungen in einer Bereitstellungsgruppe platziert werden sollen (z. B. weil verschiedene Benutzergruppen auf sie zugreifen und sie auf verschiedenen Servern veröffentlicht werden), führen Sie Import-XAFarm mehrmals aus und geben Sie dabei jedes Mal unterschiedliche Anwendungen und eine andere Bereitstellungsgruppe an. Sie können Anwendungen nach der Migration zwar mit PowerShell-Cmdlets von einer Bereitstellungsgruppe in eine andere verschieben, jedoch kann das Verschieben von Anwendungen durch selektives Importieren in eindeutige Bereitstellungsgruppen reduziert oder eliminiert werden.

  • Verwenden Sie den Parameter “DeliveryGroupName” mit dem Cmdlet Import-XAFarm. Das Skript erstellt die angegebene Bereitstellungsgruppe, wenn sie nicht vorhanden ist.
  • Verwenden Sie die folgenden Parameter mit regulären Ausdrücken, um die Anwendungen, die in die Bereitstellungsgruppe importiert werden sollen, basierend auf Ordner, Workergruppe Benutzerkontonamen und/oder Servernamen zu filtern. Es empfiehlt sich, den regulären Ausdruck in einzelne oder doppelte Anführungszeichen zu setzen. Informationen zu regulären Ausdrücken finden Sie unter https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expressions?redirectedfrom=MSDN.

    • MatchWorkerGroup und NotMatchWorkerGroup – Beispiel: Bei Anwendungen, die auf Workergruppen veröffentlicht wurden, importiert das folgende Cmdlet Anwendungen in der Workergruppe “Productivity Apps” in eine XenApp 7.6-Bereitstellungsgruppe mit demselben Namen.

      Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchWorkerGroup ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps’

    • MatchFolder und NotMatchFolder – Beispiel: Bei Anwendungen, die in Anwendungsordnern organisiert sind, importiert das folgende Cmdlet Anwendungen im Ordner “Productivity Apps” in eine XenApp 7.6-Bereitstellungsgruppe mit dem gleichen Namen.

      Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchFolder ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps’

      Beispielsweise importiert das folgende Cmdlet Anwendungen in Ordnern, deren Name “MS Office Apps” enthält, in die Standardbereitstellungsgruppe.

      Import-XAFarm -XmlInputFile .\TheFarmApps.XML -MatchFolder ".*/MS Office Apps/.*"

    • MatchAccount und NotMatchAccount – Beispiel: Bei Anwendungen, die für Active Directory-Benutzer oder -Benutzergruppen veröffentlicht wurden, importiert das folgende Cmdlet Anwendungen, die für die Benutzergruppe “Finance Group” veröffentlicht wurden, in eine XenApp 7.6-Bereitstellungsgruppe mit dem Namen “Finance”.

      Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchAccount ‘DOMAIN\\Finance Group’ –DeliveryGroupName ‘Finance’

    • MatchServer und NotMatchServer – Beispiel: Bei Anwendungen, die auf Servern organisiert sind, importiert das folgende Cmdlet Anwendungen von Servern, deren Name nicht “Current” ist, in eine XenApp-Bereitstellungsgruppe mit dem Namen “Legacy”.

      Import-XAFarm -XmlInputFile XAFarm.xml -LogFile XAFarmImport.log -NotMatchServer 'Current' -DeliveryGroupName 'Legacy'

Anpassung

PowerShell-Programmierer können eigene Tools erstellen. Sie können z. B. das Exportskript als Bestandstool verwenden und damit die Änderungen in einer XenApp 6.x-Farm verfolgen. Sie können auch die XSD-Dateien ändern oder Ihre eigenen XSD-Dateien erstellen, um zusätzliche Daten oder Daten in unterschiedlichen Formaten in den XML-Dateien zu speichern. Sie können eine nicht standardmäßige XSD-Datei mit jedem der Import-Cmdlets angeben.

Obwohl Sie Skriptdateien für bestimmte oder höhere Migrationsanforderungen ändern können, ist der Support auf unveränderte Skripts beschränkt. Der technische Support von Citrix empfiehlt, die Skripts in den Originalzustand zurückzuversetzen, um bei Bedarf erwartetes Verhalten ermitteln und Support bereitstellen zu können.

Problembehandlung

  • Wenn Sie PowerShell 2.0 verwenden und das PowerShell-Anbieter-Snap-In für Citrix Gruppenrichtlinien oder das Citrix Common Commands Snap-In mit dem Cmdlet Add-PSSnapIn hinzugefügt haben, wird möglicherweise die folgende Fehlermeldung angezeigt, wenn Sie Cmdlets zum Exportieren oder Importieren ausführen: Objekt verweist nicht auf eine Instanz eines Objekts. Dieser Fehler wirkt sich nicht auf die Skriptausführung aus und kann bedenkenlos ignoriert werden.
  • Vermeiden Sie es, das PowerShell-Anbieter-Snap-In für Citrix Gruppenrichtlinien in der gleichen Konsolensitzung hinzuzufügen oder zu entfernen, in der Sie die Export- und Importskriptmodule verwenden, da diese Skriptmodule das Snap-In automatisch hinzufügen. Wenn Sie das Snap-In separat hinzufügen oder entfernen, wird u. U. einer der folgenden Fehler angezeigt:
    • “Ein Laufwerk mit dem Namen ‘LocalGpo’ ist bereits vorhanden.” Dieser Fehler tritt auf, wenn das Snap-In zweimal hinzugefügt wird. Beim Laden versucht das Snap-In, das Laufwerk “LocalGpo” bereitzustellen und meldet dann den Fehler.
    • “Es wurde kein Parameter gefunden, der dem Parameternamen ‘Controller’ entspricht.” Dieser Fehler wird angezeigt, wenn das Snap-In nicht hinzugefügt wurde und das Skript versucht, das Laufwerk bereitzustellen. Das Skript erkennt nicht, dass das Snap-In entfernt wurde. Schließen Sie die Konsole und starten Sie eine neue Sitzung. Importieren Sie in der neuen Sitzung die Skriptmodule. Fügen Sie das Snap-In nicht separat hinzu und entfernen Sie es auch nicht separat.
  • Wenn Sie beim Importieren der Module mit der rechten Maustaste auf eine PSD1-Datei klicken und Öffnen oder Mit PowerShell öffnen auswählen, wird das PowerShell-Konsolenfenster schnell geöffnet und geschlossen, bis Sie den Prozess beenden. Sie vermeiden diesen Fehler, indem Sie den vollständigen Namen des PowerShell-Skriptmoduls direkt im PowerShell-Konsolenfenster eingeben (z. B. Import-Module .\\ExportPolicy.psd1)).
  • Wenn beim Ausführen eines Exports oder Imports ein Berechtigungsfehler angezeigt wird, stellen Sie sicher, dass Sie ein XenApp-Administrator mit der Berechtigung zum Lesen von Objekten (beim Export) oder zum Lesen und Erstellen von Objekten (beim Import) sind. Sie müssen auch über die erforderlichen Berechtigungen zum Ausführen von Windows-PowerShell-Skripts verfügen.
  • Wenn ein Export fehlschlägt, prüfen Sie, ob die XenApp 6.x-Farm funktionsfähig ist, indem Sie die Dienstprogramme DSMAINT und DSCHECK auf dem XenApp 6.x Controller-Server ausführen.
  • Wenn Sie mit den Import-Cmdlets eine Importvorschau ausführen und später bei der tatsächlichen Migration nichts importiert wird, prüfen Sie, ob Sie den Parameter “Preview” aus den Import-Cmdlets entfernt haben.

Nicht importierte Richtlinieneinstellungen

Die folgenden Computer- und Benutzerrichtlinieneinstellungen werden nicht importiert, da sie nicht mehr unterstützt werden. Ungefilterte Richtlinien werden nie importiert. Die Features und Komponenten, die diese Einstellungen unterstützen, wurden entweder durch neue Technologien/Komponenten ersetzt oder sind aufgrund von Änderungen an Architektur oder Plattform nicht relevant.

Nicht importierte Computerrichtlinieneinstellungen

  • Verbindungszugriffssteuerung
  • CPU-Managementserverstufe
  • DNS-Adressauflösung
  • Farm name
  • Vollständige Symbolzwischenspeicherung
  • Systemüberwachung, Systemüberwachungstests
  • Hostname des Lizenzservers, den Lizenzserverport
  • Limit für Benutzersitzungen, Limits für Administratorsitzungen
  • Lastauswertungsprogrammname
  • Protokollierung von Anmeldelimitereignissen
  • Maximaler Prozentsatz von Servern mit Anmeldesteuerung
  • Speicheroptimierung, Speicheroptimierung - Anwendungsausschlussliste, Speicheroptimierung - Intervall, Speicheroptimierung - Tag des Monats, Speicheroptimierung - Wochentag, Speicheroptimierung - Zeit
  • Offlineanwendungsclient vertrauen, Ereignisprotokollierung für Offlineanwendungen, Offlineanwendungslizenzzeitraum, Offlineanwendungsbenutzer
  • Zur Kennworteingabe auffordern
  • Benutzerdefinierte Neustartwarnung, Text für benutzerdefinierte Neustartwarnung, Anmeldungen vor Neustart deaktivieren (Zeit), Neustarthäufigkeit, Willkürliches Neustartintervall, Neustartbeginn, Neustartzeit, Neustartwarnungsintervall, Neustartwarnung - Startzeit, Neustartwarnung an Benutzer, Geplante Neustarts
  • Spiegeln von Sitzungen *
  • XML-Anfragen vertrauen (Konfiguration in StoreFront)
  • Virtuelle IP - Adapteradressenfilterung, Virtuelle IP - Liste kompatibler Programme, Virtuelle IP - Erweiterte Kompatibilität, Virtuelle IP - Adapteradressenprogrammliste
  • Arbeitslastname
  • XenApp-Produktedition, XenApp-Produktmodell
  • Port für XML-Dienst

* Ersetzt durch Windows-Remoteunterstützung

Nicht importierte Benutzerrichtlinieneinstellungen

  • Client-COM-Ports automatisch verbinden, Client-LPT-Ports automatisch verbinden
  • Client-COM-Portumleitung, Client-LPT-Portumleitung
  • Clientdruckernamen
  • Limit für gleichzeitige Anmeldungen
  • Eingaben in gespiegelten Verbindungen *
  • Trennentimerintervall - Fortbestehen, Beendentimerintervall - Fortbestehen
  • Spiegelungsversuche protokollieren *
  • Benutzer bei ausstehenden Spiegelungsverbindungen benachrichtigen *
  • PreLaunch-Trennentimerintervall, PreLaunch-Beendentimerintervall
  • Sitzungspriorität
  • Single Sign-On, Zentraler Speicher für Single Sign-On
  • Benutzer, die andere Benutzer spiegeln können; Benutzer, die andere Benutzer nicht spiegeln können *

* Ersetzt durch Windows-Remoteunterstützung

Nicht importierte Anwendungstypen

Die folgenden Anwendungstypen werden nicht importiert:

  • Serverdesktops
  • Inhalt
  • Gestreamte Anwendungen (App-V ist die neue Methode für das Streaming von Anwendungen)

Zuordnung von Anwendungseigenschaften

Das Importskript für Farmdaten importiert nur Anwendungen. Die folgenden Anwendungseigenschaften werden ohne Änderungen importiert.

IMA-Eigenschaft FMA-Eigenschaft
AddToClientDesktop ShortcutAddedToDesktop
AddToClientStartMenu ShortcutAddedToStartMenu
ClientFolder ClientFolder
CommandLineExecutable CommandLineExecutable
CpuPriorityLevel CpuPriorityLevel
Beschreibung Beschreibung
DisplayName PublishedName
Aktiviert Aktiviert
StartMenuFolder StartMenuFolder
WaitOnPrinterCreation WaitForPrinterCreation
WorkingDirectory WorkingDirectory
FolderPath AdminFolderName

IMA und FMA haben unterschiedliche Beschränkungen bei der Länge der Ordnernamen. In IMA ist die Länge der Ordnernamen auf 256 Zeichen beschränkt, in FMA auf 64 Zeichen. Anwendungen, deren Ordnerpfad einen Ordnernamen mit mehr als 64 Zeichen enthält, werden beim Import übersprungen. Das Limit gilt nur für die Ordnernamen im Ordnerpfad. Der gesamte Ordnerpfad kann länger sein als die aufgeführten Limits. Damit Anwendungen beim Importieren nicht übersprungen werden, empfiehlt Citrix, die Länge der Anwendungsordnernamen zu prüfen und bei Bedarf vor dem Export zu kürzen.

Die folgenden Anwendungseigenschaften sind standardmäßig initialisiert oder nicht initialisiert oder auf die in den XenApp 6.x-Daten bereitgestellten Werte festgelegt:

FMA-Eigenschaft Wert
Name Initialisiert auf den vollständigen Pfadnamen, der die IMA-Eigenschaften “FolderPath” und “DisplayName” enthält, aber die voranstehende Zeichenfolge “Applications\” wurde gekürzt
ApplicationType HostedOnDesktop
CommandLineArguments Initialisiert mit den XenApp 6.x-Befehlszeilenargumenten
IconFromClient Nicht initialisiert, Standardwert = false
IconUid Initialisiert auf ein Symbolobjekt, das mit XenApp 6.x-Symboldaten erstellt wurde
SecureCmdLineArgumentsEnabled Nicht initialisiert, Standardwert = true
UserFilterEnabled Nicht initialisiert, Standardwert = false
UUID Schreibgeschützt, vom Controller zugewiesen
Sichtbar Nicht initialisiert, Standardwert = true

Die folgenden Anwendungseigenschaften werden teilweise migriert:

IMA-Eigenschaft Anmerkungen
FileTypes Nur in der neuen XenApp-Site existierende Dateitypen werden migriert. Dateitypen, die in der neuen Site nicht existieren, werden ignoriert. Dateitypen werden erst importiert, wenn die Dateitypen in der neuen Site aktualisiert wurden.
IconData Neue Symbolobjekte werden erstellt, wenn die Symboldaten für die exportierten Anwendungen angegeben wurden.
Konten Die Benutzerkonten einer Anwendung werden zwischen der Benutzerliste für die Bereitstellungsgruppe und der Anwendung aufgeteilt. Explizite Benutzer werden zur Initialisierung der Benutzerliste für die Anwendung verwendet. Zudem wird der Benutzerliste für die Bereitstellungsgruppe das Konto “Domänenbenutzer” für die Domäne der Benutzerkonten hinzugefügt.

Die folgenden XenApp 6.x-Eigenschaften werden nicht importiert:

IMA-Eigenschaft Anmerkungen
ApplicationType Wird ignoriert.
HideWhenDisabled Wird ignoriert.
AccessSessionConditions Ersetzt durch Bereitstellungsgruppenzugriffsrichtlinien.
AccessSessionConditionsEnabled Ersetzt durch Bereitstellungsgruppenzugriffsrichtlinien.
ConnectionsThroughAccessGatewayAllowed Ersetzt durch Bereitstellungsgruppenzugriffsrichtlinien.
OtherConnectionsAllowed Ersetzt durch Bereitstellungsgruppenzugriffsrichtlinien.
AlternateProfiles FMA unterstützt keine gestreamten Anwendungen.
OfflineAccessAllowed FMA unterstützt keine gestreamten Anwendungen.
ProfileLocation FMA unterstützt keine gestreamten Anwendungen.
ProfileProgramArguments FMA unterstützt keine gestreamten Anwendungen.
ProfileProgramName FMA unterstützt keine gestreamten Anwendungen.
RunAsLeastPrivilegedUser FMA unterstützt keine gestreamten Anwendungen.
AnonymousConnectionsAllowed FMA verwendet eine andere Technologie für die Unterstützung nicht authentifizierter (anonymer) Verbindungen.
ApplicationId, SequenceNumber IMA-eigene Daten.
AudioType FMA unterstützt keine erweiterten Clientverbindungsoptionen.
EncryptionLevel SecureICA ist in Bereitstellungsgruppen aktiviert/deaktiviert.
EncryptionRequired SecureICA ist in Bereitstellungsgruppen aktiviert/deaktiviert.
SslConnectionEnabled FMA verwendet eine andere TLS-Implementierung.
ContentAddress FMA unterstützt keinen veröffentlichten Inhalt.
ColorDepth FMA unterstützt keine erweiterten Fensterformen.
MaximizedOnStartup FMA unterstützt keine erweiterten Fensterformen.
TitleBarHidden FMA unterstützt keine erweiterten Fensterformen.
WindowsType FMA unterstützt keine erweiterten Fensterformen.
InstanceLimit FMA unterstützt keine Anwendungslimits.
MultipleInstancesPerUserAllowed FMA unterstützt keine Anwendungslimits.
LoadBalancingApplicationCheckEnabled FMA verwendet eine andere Technologie für den Lastausgleich.
PreLaunch FMA verwendet eine andere Technologie für den Sitzungsvorabstart.
CachingOption FMA verwendet eine andere Technologie für den Sitzungsvorabstart.
ServerNames FMA verwendet eine andere Technologie.
WorkerGroupNames FMA unterstützt keine Workergruppen.