Exportieren und Importieren der StoreFront-Konfiguration

Hinweis:

Sie können nur StoreFront-Konfigurationen von StoreFront-Versionen importieren, welche mit der der Zielinstallation identisch sind.

Sie können die gesamte Konfiguration einer StoreFront-Bereitstellung exportieren. Dies schließt Einzelserverbereitstellungen und Servergruppenkonfigurationen ein. Wenn eine vorhandene Bereitstellung bereits auf dem importierenden Server besteht, wird die aktuelle Konfiguration gelöscht und durch die im Backuparchiv enthaltene Konfiguration ersetzt. Wenn der Zielserver eine saubere Werkstandardinstallation ist, wird mit der aus dem Backup importierten Konfiguration eine neue Bereitstellung erstellt. Das exportierte Konfigurationsbackup ist im unverschlüsselten Zustand ein ZIP-Archiv oder eine CTXZIP-Datei, wenn Sie die Backupdatei bei ihrer Erstellung verschlüsseln.

Punkte, die beim Exportieren und Importieren einer StoreFront-Konfiguration zu berücksichtigen sind

  • Möchten Sie die Host-Basis-URL aus dem Backuparchiv verwenden oder eine neue Host-Basis-URL auf dem importierenden Server festlegen?
  • Verwenden Sie zurzeit von Citrix veröffentlichte Authentifizierungs-SDKs, wie Magic Word-Authentifizierung oder Authentifizierungsanpassungen von Drittanbietern? In diesem Fall müssen Sie diese Pakete auf ALLEN importierenden Servern installieren, BEVOR Sie eine Konfiguration importieren, die spezielle Authentifizierungsmethoden enthält. Wenn erforderliche Authentifizierungs-SDKs nicht auf den importierenden Servern installiert sind, schlägt der Import der Konfiguration fehl. Beim Importieren einer Konfiguration in eine Servergruppe müssen Sie die Authentifizierungspakete auf allen Mitgliedern der Gruppe installieren.
  • Sie können die Konfigurationsbackups ver- und entschlüsseln. Die exportierenden und importierenden PowerShell-Cmdlets unterstützen beide Anwendungsfälle.
  • Sie können verschlüsselte Backups (.ctxzip) später entschlüsseln; StoreFront kann unverschlüsselte Backupdateien (.zip) jedoch nicht erneut verschlüsseln. Wenn ein verschlüsseltes Backup erforderlich ist, führen Sie den Export erneut durch und verwenden Sie dabei ein PowerShell-Anmeldeinformationenobjekt mit einem Kennwort Ihrer Wahl.
  • Die Site-ID der Website in IIS, in der StoreFront installiert ist (exportierender Server), muss mit der Site-ID der Zielwebsite in IIS (importierender Server) übereinstimmen, für die Sie das Backup der StoreFront-Konfiguration wiederherstellen möchten.

PowerShell-Anmeldeinformationsobjekte zum Ver- und Entschlüsseln von StoreFront-Backups

Ein PowerShell-Anmeldeinformationenobjekt enthält den Benutzernamen und das Kennwort für ein Windows-Konto. PowerShell-Anmeldeinformationsobjekte gewährleisten, dass Ihr Kennwort im Speicher geschützt ist.

Hinweis:

Zum Verschlüsseln und Entschlüsseln eines Konfigurationsbackuparchivs benötigen Sie nur das Kennwort. Der im Anmeldeinformationsobjekt gespeicherte Benutzername wird nicht verwendet. Sie müssen in den PowerShell-Sitzungen ein Anmeldeinformationsobjekt mit demselben Kennwort erstellen, das auf den exportierenden und importierenden Servern verwendet wird. Sie können im Anmeldeinformationsobjekt einen beliebigen Benutzer angeben.

PowerShell erfordert die Angabe eines Benutzers beim Erstellen eines neuen Anmeldeinformationsobjekts. Der folgende Beispielcode enthält nur den zurzeit angemeldeten Windows-Benutzer.

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)

PowerShell-Cmdlets

Export-STFConfiguration

Parameter Beschreibung
-TargetFolder (String) Der Exportpfad für das Backuparchiv. Beispiel: “$env:userprofile\desktop\”
-Credential (PSCredential Object) Geben Sie ein Anmeldeinformationsobjekt an, um während des Exports ein verschlüsseltes CTXZIP-Backuparchiv zu erstellen. Das PowerShell-Anmeldeinformationsobjekt muss das Kennwort für die Ver- und Entschlüsselung enthalten. Verwenden Sie nicht -Credential gleichzeitig mit dem Parameter -NoEncryption. Beispiel: $CredObject
-NoEncryption (Switch) Geben Sie an, dass das Backuparchiv eine unverschlüsselte ZIP-Datei ist. Verwenden Sie nicht -NoEncryption gleichzeitig mit dem Parameter -Credential.
-ZipFileName (Zeichenfolge) Der Name des StoreFront-Konfigurationsbackuparchivs. Fügen Sie keine Dateierweiterung wie .zip oder .ctxzip hinzu. Die Dateierweiterung wird automatisch hinzugefügt und hängt davon ab, ob beim Export der Parameter -Credential oder -NoEncryption angegeben wird. Beispiel: “backup”
-Force (Boolean) Dieser Parameter überschreibt automatisch Backuparchive mit demselben Dateinamen, die bereits im angegebenen Speicherort vorhanden sind.

Wichtig:

Der Parameter -SiteID aus StoreFront 3.5 ist seit Version 3.6 veraltet. Beim Import muss SiteID nicht mehr angegeben werden, da immer die Site-ID aus dem Backuparchiv verwendet wird. Stellen Sie sicher, dass die Site-ID mit der vorhandenen StoreFront-Website übereinstimmt, die bereits in IIS auf dem importierenden Server konfiguriert ist.Konfigurationsimports von SiteID 1 zu SiteID 2 (oder umgekehrt) werden NICHT unterstützt.

Import-STFC-Konfiguration

Parameter Beschreibung
-ConfigurationZip (Zeichenfolge) Der vollständige Pfad für das Backuparchiv, das Sie importieren. Er muss die Dateierweiterung enthalten. Verwenden Sie .zip für unverschlüsselte und .ctxzip für verschlüsselte Backuparchive. Beispiel: $env:userprofile\desktop\backup.ctxzip
-Credential (PSCredential Object) Geben Sie ein Anmeldeinformationsobjekt an, um während des Imports eine verschlüsselte Backupdatei zu entschlüsseln. Beispiel: $CredObject
-HostBaseURL (Zeichenfolge) Wenn dieser Parameter enthalten ist, wird die von Ihnen angegebene Host-Basis-URL statt der Host-Basis-URL des exportierenden Servers verwendet. Beispiel: https://<importingserver>.example.com

Unprotect-STFConfigurationBackup

Parameter Beschreibung
-TargetFolder (String) Der Exportpfad für das Backuparchiv. Beispiel: $env:userprofile\desktop\
-Credential (PSCredential Object) Erstellen Sie mit diesem Parameter eine unverschlüsselte Kopie des verschlüsselten Backuparchivs. Geben Sie das PowerShell-Anmeldeinformationsobjekt an, das das Kennwort für die Entschlüsselung enthält. Beispiel: $CredObject
-EncryptedConfigurationZip (Zeichenfolge) Der vollständige Pfad für das verschlüsselte Backuparchiv, das Sie entschlüsseln möchten. Sie müssen die Dateierweiterung CTXZIP angeben. Beispiel: $env:userprofile\\desktop\\backup.ctxzip
-OutputFolder (Zeichenfolge) Der Pfad für eine unverschlüsselte Kopie des verschlüsselten Backuparchivs (.ctxzip). Die ursprüngliche verschlüsselte Kopie des Backups bleibt erhalten, sodass sie wiederverwendet werden kann. Geben Sie für die unverschlüsselte Kopie keinen Dateinamen und keine Dateierweiterung an. Beispiel: $env:userprofile\desktop\
-Force (Boolean) Dieser Parameter überschreibt automatisch Backuparchive mit demselben Dateinamen, die bereits im angegebenen Speicherort vorhanden sind.

Beispiele für Konfigurationsexporte und -importe

Importieren des StoreFront SDKs in die aktuelle PowerShell-Sitzung

Öffnen Sie PowerShell Integrated Scripting Environment (ISE) auf dem StoreFront-Server und führen Sie Folgendes aus:

$SDKModules = 'C:\Program Files\Citrix\Receiver StoreFront\PowerShellSDK\Modules\Citrix.StoreFront'
Import-Module "$SDKModules\Citrix.StoreFront.psd1" -verbose
Import-Module "$SDKModules.Authentication\Citrix.StoreFront.Authentication.psd1" -verbose
Import-Module "$SDKModules.Roaming\Citrix.StoreFront.Roaming.psd1" -verbose
Import-Module "$SDKModules.Stores\Citrix.StoreFront.Stores.psd1" -verbose
Import-Module "$SDKModules.WebReceiver\Citrix.StoreFront.WebReceiver.psd1" -verbose
Import-Module "$SDKModules.SubscriptionsStore\Citrix.StoreFront.SubscriptionsStore.psd1" -verbose

Einzelserverszenarios

Erstellen Sie ein unverschlüsseltes Backup einer vorhandenen Konfiguration auf Server A und stellen Sie es auf derselben Bereitstellung wieder her

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip"

Erstellen Sie ein verschlüsseltes Backup einer vorhandenen Konfiguration auf Server A und stellen Sie es auf derselben Bereitstellung wieder her

# Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt
$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

Aufheben des Schutzes eines vorhandenen verschlüsselten Backuparchivs

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
Unprotect-STFConfigurationExport -encryptedConfigurationZip "$env:userprofile\desktop\backup.ctxzip" -credential $CredObject -outputFolder "c:\StoreFrontBackups" -Force

Sichern Sie eine vorhandene Konfiguration auf Server A, und stellen Sie sie auf einer neuen werksseitigen Standardinstallation auf Server B wieder her

Server B ist eine neue Bereitstellung und soll neben Server A existieren. Geben Sie den Parameter -HostBaseURL an. Server B ist zudem eine neue StoreFront-Werkstandardinstallation.

  1. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt und exportieren Sie eine verschlüsselte Kopie der Server A-Konfiguration.
  2. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt auf Server B und verwenden Sie dazu das gleiche Kennwort, das Sie zum Verschlüsseln des Backups verwendet haben.
  3. Entschlüsseln und importieren Sie die Server A-Konfiguration mit dem Parameter -HostBaseURL in Server B.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com"

Erstellen Sie ein Backup einer vorhandenen Konfiguration auf Server A und überschreiben Sie damit eine vorhandene Bereitstellung auf Server B

Server B ist eine vorhandene Bereitstellung mit einer veralteten Konfiguration. Aktualisieren Sie Server B anhand der Konfiguration von Server A. Server B soll mit Server A koexistieren. Geben Sie den Parameter -HostBaseURL an.

  1. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt und exportieren Sie eine verschlüsselte Kopie der Server A-Konfiguration.
  2. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt auf Server B und verwenden Sie dazu das gleiche Kennwort, das Sie zum Verschlüsseln des Backups verwendet haben.
  3. Entschlüsseln und importieren Sie die Server A-Konfiguration mit dem Parameter -HostBaseURL in Server B.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" –Credential $CredObject -HostBaseURL "https://serverB.example.com"

Erstellen Sie einen Klon einer vorhandenen Bereitstellung mit derselben Host-Basis-URL wie beim Upgrade auf ein neues Serverbetriebssystem und setzen Sie eine überholte StoreFront-Bereitstellung außer Betrieb

2012R2 Server B ist eine neue Bereitstellung, die den überholten 2008R2 Server A ersetzten soll. Verwenden Sie die HostBaseURL aus dem Sicherungsarchiv. Verwenden Sie beim Importieren nicht den Parameter -HostBaseURL. Server B ist zudem eine neue StoreFront-Werkstandardinstallation.

  1. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt und exportieren Sie eine verschlüsselte Kopie der 2008R2 Server A-Konfiguration.
  2. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt auf 2012R2 Server B und verwenden Sie dazu das gleiche Kennwort, das Sie zum Verschlüsseln des Backups verwendet haben.
  3. Entschlüsseln und importieren Sie die 2008R2-Server A-Konfiguration in 2012R2-Server B ohne den Parameter -HostBaseURL.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

StoreFront ist bereits auf einer benutzerdefinierten Website in IIS bereitgestellt. Stellen Sie die Konfiguration auf einer anderen benutzerdefinierten Websitebereitstellung wieder her

Bei Server A ist StoreFront auf einer benutzerdefinierten Website bereitgestellt statt der gewohnten Standardwebsite in IIS. Die IIS Site-ID für die zweite in IIS erstellte Website ist 2. Der physische Pfad der StoreFront-Website kann auf einem anderen Laufwerk sein, das nicht zum System gehört, wie d:\ oder auf dem standardmäßigen Systemlaufwerk c:\. Er sollte jedoch eine IIS Site-ID verwenden, die größer als 1 ist.

Eine neue Website mit dem Namen “StoreFront” wurde in IIS konfiguriert, die SiteID = 2 verwendet. StoreFront wurde bereits auf der benutzerdefinierten Website in IIS bereitgestellt und der physische Pfad auf dem Laufwerk ist d:\inetpub\wwwrooot.

lokalisiertes Bild

  1. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt und exportieren Sie eine verschlüsselte Kopie der Server A-Konfiguration.
  2. Konfigurieren Sie IIS auf Server B mit einer neuen Website namens StoreFront, die auch SiteID 2 verwendet.
  3. Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt auf Server B und verwenden Sie dazu das gleiche Kennwort, das Sie zum Verschlüsseln des Backups verwendet haben.
  4. Entschlüsseln und importieren Sie die Server A-Konfiguration mit dem Parameter -HostBaseURL in Server B. Die im Backup enthaltene Site-ID wird verwendet und muss mit der Zielwebsite übereinstimmen, in die Sie die StoreFront-Konfiguration importieren möchten.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com"

Servergruppenszenarios

Szenario 1: Erstellen Sie ein Backup einer vorhandenen Servergruppenkonfiguration und stellen Sie die Konfiguration in derselben Servergruppenbereitstellung später wieder her

Zu einem früheren Zeitpunkt, als die Servergruppe nur zwei StoreFront-Server, 2012R2-A und 2012R2-B, enthielt, wurde ein Backup der Konfiguration erstellt. Das Backuparchiv enthält einen Datensatz der CitrixClusterMembership, die zur Zeit des Backups nur die beiden ursprünglichen Server 2012R2-A und 2012R2-B enthielt. Die Größe der StoreFront-Servergruppenbereitstellung ist seit dem ursprünglichen Backup aufgrund des Unternehmensbedarfs angestiegen und ein zusätzlicher Knoten, 2012R2-C, wurde der Servergruppe hinzugefügt. Die zugrunde liegende StoreFront-Konfiguration der Servergruppe im Backup hat sich nicht geändert. Die aktuelle CitrixClusterMembership von drei Servern muss erhalten bleiben, auch wenn ein altes Backup mit nur den zwei ursprünglichen Servergruppenknoten importiert wird. Während des Imports wird die aktuelle Clustermitgliedschaft beibehalten und zurückgeschrieben, wenn die Konfiguration erfolgreich auf den primären Server importiert wurde. Beim Import wird auch die aktuelle CitrixClusterMembership beibehalten, wenn Servergruppenknoten seit dem Erstellen des ursprünglichen Backups entfernt wurden.

  1. Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.

lokalisiertes Bild

  1. Fügen Sie der vorhandenen Servergruppe dann einen weiteren Server, 2012R2-C, hinzu.

lokalisiertes Bild

  1. Stellen Sie die Konfiguration der Servergruppe auf einen früheren funktionierenden Zustand wieder her. Während des Importvorgangs erstellt StoreFront ein Backup der aktuellen CitrixClusterMembership der drei Server und stellt sie nach dem Abschluss des Imports wieder her.

  2. Importieren Sie die Konfiguration der Servergruppe 1 zurück auf den Knoten 2012R2-A.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

  3. Übertragen Sie die importierte Konfiguration auf die gesamte Servergruppe, sodass alle Server nach dem Import eine konsistente Konfiguration aufweisen.

Szenario 2: Erstellen Sie ein Backup einer vorhandenen Konfiguration von Servergruppe 1 und erstellen Sie damit eine neue Servergruppe auf einer anderen Werkstandardinstallation. Sie können dem primären Server dann andere neue Servergruppenmitglieder hinzufügen

Servergruppe 2 wird mit zwei neuen Servern erstellt: 2012R2-C und 2012R2-D. Die Konfiguration von Servergruppe 2 basiert auf der Konfiguration einer vorhandenen Bereitstellung, Servergruppe 1, die ebenfalls zwei Server enthält: 2012R2-A und 2012R2-B. Die im Backuparchiv enthaltene CitrixClusterMembership wird beim Erstellen einer neuen Servergruppe nicht verwendet. Von der aktuellen CitrixClusterMembership wird immer ein Backup erstellt und sie wird nach dem Abschluss des Imports wiederhergestellt. Wenn Sie mit einer importierten Konfiguration eine neue Bereitstellung erstellen, enthält die Sicherheitsgruppe CitrixClusterMembership nur den importierenden Server, bis weitere Server der neuen Gruppe hinzugefügt werden. Servergruppe 2 ist eine neue Bereitstellung und soll neben Servergruppe 1 bestehen. Geben Sie den Parameter -HostBaseURL an. Servergruppe 2 wird mit einer neuen StoreFront-Werkstandardinstallation erstellt.

  1. Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.

  2. Importieren Sie die Konfiguration der Servergruppe 1 auf den Knoten 2012R2-C, der der primäre Server zum Verwalten der neu erstellten Servergruppe 2 ist.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://servergroup2.example.com"

  3. Verknüpfen Sie alle weiteren Server, die zur neuen Bereitstellung “Servergruppe 2” gehören sollen. Die neu aus Servergruppe 1 importierte Konfiguration wird automatisch auf alle neuen Mitglieder der Servergruppe 2 übertragen, da dies Teil des normalen Verknüpfungsvorgangs ist, wenn ein neuer Server hinzugefügt wird.

Szenario 3: Erstellen Sie ein Backup einer vorhandenen Konfiguration von Servergruppe A und überschreiben Sie damit die vorhandene Konfiguration der Servergruppe B

Servergruppe 1 und Servergruppe 2 sind bereits in zwei verschiedenen Datencentern vorhanden. An Servergruppe 1 werden viele StoreFront-Konfigurationsänderungen vorgenommen, die Sie auf Servergruppe 2 im anderen Datencenter übertragen müssen. Sie können die Änderungen von Servergruppe 1 auf Servergruppe 2 per Port übertragen. Verwenden Sie CitrixClusterMembership nicht im Backuparchiv auf der Servergruppe 2. Legen Sie den Parameter -HostBaseURL während des Imports fest, da die Host-Basis-URL für Servergruppe 2 nicht in den gleichen vollqualifizierten Domänennamen (FQDN) geändert werden sollte, den die Servergruppe 1 zurzeit verwendet. Servergruppe 2 ist eine vorhandene Bereitstellung.

  1. Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.

  2. Importieren Sie die Konfiguration der Servergruppe 1 auf die Werkstandardinstallation auf Knoten 2012R2-C, der der primäre Server der neu erstellten Servergruppe 2 ist.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://servergroup2.example.com"