StoreFront-Konfiguration exportieren und importieren
Hinweis:
Sie können nur StoreFront-Konfigurationen von StoreFront-Versionen importieren, welche mit der StoreFront-Zielinstallation identisch sind. Jedes kumulative Update wird aufgrund dieser Einschränkung als eine andere Produktversion betrachtet.
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.
Szenarios, in denen Konfigurationsexport und -import verwendet werden kann
- Führen Sie nur ein Backup von StoreFront-Bereitstellungen in einem funktionierenden und vertrauenswürdigen Zustand aus. Bei jeder Änderung an der Konfiguration ist ein neues Backup erforderlich, welches das alte ersetzt. Sie können vorhandene Backups nicht ändern, da ein Datei-Hash der Datei backup.zip Änderungen verhindert.
- Führen Sie zum Zweck der Notfallwiederherstellung ein Backup VOR dem Upgrade von StoreFront aus.
- Klonen bestehender StoreFront-Testbereitstellungen für die Produktion
- Erstellen von Benutzerakzeptanzumgebungen durch Klonen von Produktionsbereitstellungen in eine Testumgebung
- Verschieben von StoreFront bei einer Betriebssystemmigration, z. B. beim Upgrade des Hostings von Windows Server 2019 auf Windows 2022. Direkte Betriebssystem-Upgrades werden nicht unterstützt.
- Aufbau zusätzlicher Servergruppen in Bereitstellungen mit mehreren Standorten, z. B. in großen Unternehmen mit mehreren Datencentern
Punkte, die beim Exportieren und Importieren einer StoreFront-Konfiguration zu berücksichtigen sind
- 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-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 werden NICHT unterstützt.
Import-STFConfiguration
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)
-Credential (PSCredential Object) |
Der Exportpfad für das Backuparchiv. Beispiel:$env:userprofile\desktop
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)
-Force (Boolean) |
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
Dieser Parameter überschreibt automatisch Backuparchive mit demselben Dateinamen, die bereits im angegebenen Speicherort vorhanden sind. |
Beispiele für Konfigurationsexporte und -importe
Importieren der StoreFront-Cmdlets in die aktuelle PowerShell-Sitzung
Öffnen Sie PowerShell Integrated Scripting Environment (ISE) auf dem StoreFront-Server und führen Sie Folgendes aus:
$env:PSModulePath = [Environment]::GetEnvironmentVariable('PSModulePath','Machine')
$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
<!--NeedCopy-->
Einzelserverszenarios
Erstellen Sie ein unverschlüsseltes Backup einer vorhandenen Konfiguration auf Server A und stellen Sie es auf derselben Bereitstellung wieder her
Exportieren Sie die Konfiguration des Servers, den Sie sichern möchten.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Kopieren Sie die Datei backup.zip an einen sicheren Speicherort. Sie können das Backup im Rahmen einer Notfallwiederherstellung dazu verwenden, den Server im vorherigen Zustand wiederherzustellen.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->
Serverklonerstellung durch Sichern der Konfiguration auf Server A und Wiederherstellen auf Server B
Exportieren Sie die Konfiguration des Servers, den Sie sichern möchten.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Kopieren Sie die Datei backup.zip auf den Desktop des Servers B.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://serverB.example.com"
<!--NeedCopy-->
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
.
- Exportieren Sie eine Kopie der Konfiguration von Server-A.
- Konfigurieren Sie IIS auf Server B mit einer neuen Website namens StoreFront, die auch SiteID 2 verwendet.
-
Importieren Sie die Server A-Konfiguration auf Server B. Die Site-ID im Backup wird verwendet und muss mit der Zielwebsite übereinstimmen, in die Sie die StoreFront-Konfiguration importieren.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://serverB.example.com" <!--NeedCopy-->
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.
-
Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.
-
Fügen Sie der vorhandenen Servergruppe dann einen weiteren Server, 2012R2-C, hinzu.
-
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.
-
Importieren Sie die Konfiguration der Servergruppe 1 zurück auf den Knoten 2012R2-A.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup1.example.com" <!--NeedCopy-->
-
Ü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.
-
Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.
-
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" -HostBaseURL "https://servergroup2.example.com" <!--NeedCopy-->
-
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.
-
Exportieren Sie die Konfiguration der Servergruppe 1 aus 2012R2-A, dem primären Server, der die gesamte Servergruppe verwaltet.
-
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.zip" -NoEncryption -HostBaseURL "https://servergroup2.example.com" <!--NeedCopy-->
Erstellen eines verschlüsselte Backups der Serverkonfiguration
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 der PowerShell-Sitzung 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 den zurzeit angemeldeten Windows-Benutzer.
Erstellen Sie ein PowerShell-Anmeldeinformationsobjekt in der Powershell-Sitzung auf dem exportierenden Server.
$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
<!--NeedCopy-->
Exportieren Sie die Konfiguration in backup.ctxzip (eine verschlüsselte ZIP-Datei).
Export-STFConfiguration -targetFolder "$env:userprofile\desktop" -zipFileName "backup" -Credential $CredObject
<!--NeedCopy-->
Erstellen Sie ein identisches PowerShell-Anmeldeinformationsobjekt in der Powershell-Sitzung auf dem importierenden Server.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->
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
<!--NeedCopy-->