StoreFront

Exporter et importer la configuration StoreFront

Remarque :

Vous ne pouvez importer que des configurations StoreFront qui correspondent exactement à la même version de StoreFront que l’installation StoreFront cible. Chaque mise à jour cumulative est considérée comme une version de produit différente pour cette limitation.

Vous pouvez exporter l’intégralité de la configuration d’un déploiement StoreFront. Cela inclut les déploiements sur un seul serveur et les configurations de groupes de serveurs. Si un déploiement existant est déjà présent sur le serveur d’importation, la configuration actuelle est effacée puis remplacée par la configuration contenue dans l’archive de sauvegarde. Si le serveur cible est une installation par défaut d’usine propre, un nouveau déploiement est créé à l’aide de la configuration importée stockée dans la sauvegarde. La sauvegarde de configuration exportée se présente sous la forme d’une seule archive .zip si elle n’est pas chiffrée, ou d’un fichier .ctxzip si vous choisissez de chiffrer le fichier de sauvegarde lors de sa création.

Scénarios d’utilisation de l’exportation et de l’importation de configuration

  • Ne sauvegardez les déploiements StoreFront que dans un état de fonctionnement et de confiance. Toute modification de la configuration nécessite une nouvelle sauvegarde pour remplacer l’ancienne. Vous ne pouvez pas modifier les sauvegardes existantes, car un hachage de fichier du fichier backup.zip empêche toute modification.
  • Sauvegardez AVANT de mettre à niveau StoreFront pour la reprise après sinistre.
  • Clonage de déploiements StoreFront de test existants pour les mettre en production.
  • Création d’environnements d’acceptation utilisateur en clonant des déploiements de production dans un environnement de test.
  • Déplacement de StoreFront lors de migrations de système d’exploitation, telles que la mise à niveau de l’hébergement de Windows Server 2019 vers Windows 2022. Les mises à niveau de système d’exploitation sur place ne sont pas prises en charge.
  • Création de groupes de serveurs supplémentaires dans des déploiements multigéographiques, par exemple dans de grandes entreprises avec plusieurs centres de données.

Éléments à prendre en compte lors de l’exportation et de l’importation d’une configuration StoreFront

  • Utilisez-vous actuellement des exemples de SDK d’authentification publiés par Citrix®, tels que l’authentification par mot magique ou des personnalisations d’authentification tierces ? Si oui, vous devez installer ces packages sur TOUS les serveurs d’importation AVANT d’importer une configuration contenant des méthodes d’authentification supplémentaires. L’importation de la configuration échoue si les packages SDK d’authentification requis ne sont pas installés sur l’un des serveurs d’importation. Si vous importez une configuration dans un groupe de serveurs, installez les packages d’authentification sur tous les membres du groupe.
  • Vous pouvez chiffrer ou déchiffrer vos sauvegardes de configuration. Les cmdlets PowerShell d’exportation et d’importation prennent en charge les deux cas d’utilisation.
  • Vous pouvez déchiffrer les sauvegardes chiffrées (.ctxzip) ultérieurement, mais StoreFront ne peut pas rechiffrer les fichiers de sauvegarde non chiffrés (.zip). Si une sauvegarde chiffrée est requise, effectuez à nouveau l’exportation à l’aide d’un objet d’informations d’identification PowerShell contenant un mot de passe de votre choix.
  • Le SiteID du site web dans IIS où StoreFront est actuellement installé (serveur d’exportation) doit correspondre au SiteID du site web cible dans IIS (serveur d’importation) où vous souhaitez restaurer la configuration StoreFront sauvegardée.

Cmdlets PowerShell

Export-STFConfiguration

Paramètre Description
-TargetFolder (String) Le chemin d’exportation vers l’archive de sauvegarde. Exemple : “$env:userprofile\desktop\”
-Credential (PSCredential Object) Spécifiez un objet d’informations d’identification pour créer une archive de sauvegarde .ctxzip chiffrée lors de l’exportation. L’objet d’informations d’identification PowerShell doit contenir le mot de passe à utiliser pour le chiffrement et le déchiffrement. N’utilisez pas -Credential en même temps que le paramètre -NoEncryption. Exemple : $CredObject
-NoEncryption (Switch) Spécifiez que l’archive de sauvegarde doit être un fichier .zip non chiffré. N’utilisez pas -NoEncryption en même temps que le paramètre -Credential.
-ZipFileName (String) Le nom de l’archive de sauvegarde de la configuration StoreFront. N’ajoutez pas d’extension de fichier, telle que .zip ou .ctxzip. L’extension de fichier est ajoutée automatiquement selon que le paramètre -Credential ou -NoEncryption est spécifié lors de l’exportation. Exemple : “backup”
-Force (Boolean) Ce paramètre écrase automatiquement les archives de sauvegarde portant le même nom de fichier que les fichiers de sauvegarde existants déjà présents à l’emplacement d’exportation spécifié.

Important :

Le paramètre SiteID trouvé dans StoreFront 3.5 a été déprécié dans la version 3.6. Il n’est plus nécessaire de spécifier le SiteID lors de l’exécution d’une importation, car le SiteID contenu dans l’archive de sauvegarde est toujours utilisé. Assurez-vous que le SiteID correspond au site web StoreFront existant déjà configuré dans IIS sur le serveur d’importation. Les importations de configuration de SiteID 1 vers SiteID 2 ne sont PAS prises en charge.

Import-STFConfiguration

Paramètre Description
-ConfigurationZip (String) Le chemin complet de l’archive de sauvegarde que vous souhaitez importer. Cela doit également inclure l’extension de fichier. Utilisez .zip pour les archives non chiffrées et .ctxzip pour les archives chiffrées. Exemple : $env:userprofile\desktop\backup.ctxzip
-Credential (PSCredential Object) Spécifiez un objet d’informations d’identification pour déchiffrer une sauvegarde chiffrée lors de l’importation. Exemple : $CredObject
-HostBaseURL (String) Si ce paramètre est inclus, l’URL de base de l’hôte que vous spécifiez est utilisée à la place de l’URL de base de l’hôte du serveur d’exportation. Exemple : https://<importingserver>.example.com

Unprotect-STFConfigurationBackup

Paramètre Description
-TargetFolder (String)
-Credential (PSCredential Object)
Le chemin d’exportation vers l’archive de sauvegarde. Exemple : $env:userprofile\desktop
Utilisez ce paramètre pour créer une copie non chiffrée de l’archive de sauvegarde chiffrée. Spécifiez l’objet d’informations d’identification PowerShell contenant le mot de passe à utiliser pour le déchiffrement. Exemple : $CredObject
-EncryptedConfigurationZip (String) Le chemin complet de l’archive de sauvegarde chiffrée que vous souhaitez déchiffrer. Vous devez spécifier l’extension de fichier .ctxzip. Exemple : $env:userprofile\\desktop\\backup.ctxzip
-OutputFolder (String)
-Force (Boolean)
Le chemin pour créer une copie non chiffrée (.zip) de l’archive de sauvegarde chiffrée (.ctxzip). La copie chiffrée originale de la sauvegarde est conservée afin de pouvoir être réutilisée. Ne spécifiez pas de nom de fichier et d’extension de fichier pour la copie non chiffrée. Exemple : $env:userprofile\desktop
Ce paramètre écrase automatiquement les archives de sauvegarde portant le même nom de fichier que les fichiers de sauvegarde existants déjà présents à l’emplacement d’exportation spécifié.

Exemples d’exportation et d’importation de configuration

Importer les cmdlets StoreFront dans la session PowerShell actuelle

Ouvrez l’environnement de script intégré (ISE) PowerShell sur le serveur StoreFront et exécutez :

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

Scénarios de serveur unique

Créer une sauvegarde non chiffrée d’une configuration existante sur le serveur A et la restaurer sur le même déploiement

Exportez la configuration du serveur que vous souhaitez sauvegarder.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->

Copiez le fichier backup.zip vers un emplacement sûr. Vous pouvez utiliser cette sauvegarde pour la reprise après sinistre afin de restaurer le serveur à son état précédent.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->

Sauvegarder une configuration existante sur le serveur A et la restaurer sur le serveur B pour créer un clone d’un serveur existant

Exportez la configuration du serveur que vous souhaitez sauvegarder.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->

Copiez le fichier backup.zip sur le bureau du serveur B.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://serverB.example.com"
<!--NeedCopy-->

StoreFront est déjà déployé sur un site web personnalisé dans IIS. Restaurer la configuration sur un autre déploiement de site web personnalisé

Le serveur A a StoreFront déployé sur un emplacement de site web personnalisé plutôt que sur le site web par défaut habituel dans IIS. Le SiteID IIS pour le deuxième site web créé dans IIS est 2. Le chemin physique du site web StoreFront peut se trouver sur un autre lecteur non système tel que d:\ ou sur le lecteur système par défaut c:\, mais il doit utiliser un SiteID IIS supérieur à 1.

Un nouveau site web appelé StoreFront a été configuré dans IIS, qui utilise SiteID = 2. StoreFront est déjà déployé sur le site web personnalisé dans IIS avec son chemin physique sur le lecteur d:\inetpub\wwwrooot.

Capture d'écran de la fenêtre Ajouter un site web d'IIS

  1. Exportez une copie de la configuration du serveur A.
  2. Sur le serveur B, configurez IIS avec un nouveau site web appelé StoreFront, qui utilise également SiteID 2.
  3. Importez la configuration du serveur A sur le serveur B. L’ID de site contenu dans la sauvegarde est utilisé et doit correspondre au site web cible où vous souhaitez importer la configuration StoreFront.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://serverB.example.com"
    <!--NeedCopy-->
    

Scénarios de groupe de serveurs

Scénario 1 : Sauvegarder une configuration de groupe de serveurs existante et la restaurer ultérieurement sur le même déploiement de groupe de serveurs

Une sauvegarde de configuration précédente a été effectuée alors que seuls deux serveurs StoreFront, 2012R2-A et 2012R2-B, étaient membres du groupe de serveurs. L’archive de sauvegarde contient un enregistrement de la CitrixClusterMembership au moment de la sauvegarde, ne contenant que les deux serveurs originaux 2012R2-A et 2012R2-B. Le déploiement du groupe de serveurs StoreFront a ensuite augmenté en taille depuis la sauvegarde originale en raison de la demande commerciale, de sorte qu’un nœud supplémentaire 2012R2-C a été ajouté au groupe de serveurs. La configuration StoreFront sous-jacente du groupe de serveurs contenue dans la sauvegarde n’a pas changé. La CitrixClusterMembership actuelle de trois serveurs doit être maintenue même si une ancienne sauvegarde ne contenant que les deux nœuds de groupe de serveurs originaux est importée. Lors de l’importation, l’appartenance actuelle au cluster est préservée puis réécrite une fois que la configuration a été importée avec succès sur le serveur principal. L’importation préserve également la CitrixClusterMembership actuelle si des nœuds de groupe de serveurs ont été supprimés du groupe de serveurs depuis la sauvegarde originale.

  1. Exportez la configuration du groupe de serveurs 1 depuis 2012R2-A, qui est le serveur principal utilisé pour gérer l’ensemble du groupe de serveurs.

    Capture d'écran de CitrixClusterMembersProperties sur le groupe 1

  2. Plus tard, vous ajoutez un serveur supplémentaire, 2012R2-C, au groupe de serveurs existant.

    Capture d'écran de CitrixClusterMembersProperties sur le groupe 2

  3. La configuration du groupe de serveurs doit être restaurée à un état de fonctionnement connu précédemment. StoreFront sauvegarde la CitrixClusterMembership actuelle de trois serveurs pendant le processus d’importation, puis la restaure une fois l’importation réussie.

  4. Importez la configuration du groupe de serveurs 1 sur le nœud 2012R2-A.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup1.example.com"
    <!--NeedCopy-->
    
  5. Propager la configuration nouvellement importée à l’ensemble du groupe de serveurs, afin que tous les serveurs aient une configuration cohérente après l’importation.

Scénario 2 : Sauvegarder une configuration existante du groupe de serveurs 1 et l’utiliser pour créer un nouveau groupe de serveurs sur une installation par défaut d’usine différente. Vous pouvez ensuite ajouter d’autres nouveaux membres du groupe de serveurs au nouveau serveur principal

Le groupe de serveurs 2 est créé et contient deux nouveaux serveurs, 2012R2-C et 2012R2-D. La configuration du groupe de serveurs 2 sera basée sur la configuration d’un déploiement existant, le groupe de serveurs 1, qui contient également deux serveurs 2012R2-A et 2012R2-B. La CitrixClusterMembership contenue dans l’archive de sauvegarde n’est pas utilisée lors de la création d’un nouveau groupe de serveurs. La CitrixClusterMembership actuelle est toujours sauvegardée puis restaurée après le succès de l’importation. Lors de la création d’un nouveau déploiement à l’aide d’une configuration importée, le groupe de sécurité CitrixClusterMembership ne contient que le serveur d’importation jusqu’à ce que des serveurs supplémentaires soient joints au nouveau groupe. Le groupe de serveurs 2 est un nouveau déploiement et est destiné à coexister avec le groupe de serveurs 1. Spécifiez le paramètre -HostBaseURL. Le groupe de serveurs 2 sera créé à l’aide d’une nouvelle installation StoreFront par défaut d’usine.

  1. Exportez la configuration du groupe de serveurs 1 depuis 2012R2-A, qui est le serveur principal utilisé pour gérer l’ensemble du groupe de serveurs.

  2. Importez la configuration du groupe de serveurs 1 sur le nœud 2012R2-C, qui sera le serveur principal utilisé pour gérer le groupe de serveurs 2 nouvellement créé.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup2.example.com"
    <!--NeedCopy-->
    
  3. Joignez tous les serveurs supplémentaires qui feront partie du nouveau déploiement du groupe de serveurs 2. La propagation de la configuration nouvellement importée du groupe de serveurs 1 à tous les nouveaux membres du groupe de serveurs 2 est automatique, car cela fait partie du processus de jonction normal lorsqu’un nouveau serveur est ajouté.

Scénario 3 : Sauvegarder une configuration existante du groupe de serveurs A et l’utiliser pour écraser la configuration existante du groupe de serveurs B

Le groupe de serveurs 1 et le groupe de serveurs 2 existent déjà dans deux centres de données distincts. De nombreuses modifications de configuration StoreFront sont effectuées sur le groupe de serveurs 1, que vous devez appliquer au groupe de serveurs 2 dans l’autre centre de données. Vous pouvez transférer les modifications du groupe de serveurs 1 vers le groupe de serveurs 2. N’utilisez pas la CitrixClusterMembership dans l’archive de sauvegarde sur le groupe de serveurs 2. Spécifiez le paramètre -HostBaseURL lors de l’importation, car l’URL de base de l’hôte du groupe de serveurs 2 ne doit pas être modifiée pour correspondre au même FQDN actuellement utilisé par le groupe de serveurs 1. Le groupe de serveurs 2 est un déploiement existant.

  1. Exportez la configuration du groupe de serveurs 1 depuis 2012R2-A, qui est le serveur principal utilisé pour gérer l’ensemble du groupe de serveurs.

  2. Importez la configuration du groupe de serveurs 1 sur l’installation par défaut d’usine sur le nœud 2012R2-C, qui sera le serveur principal du nouveau groupe de serveurs 2.

    Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -NoEncryption -HostBaseURL "https://servergroup2.example.com"
    <!--NeedCopy-->
    

Créer une sauvegarde chiffrée de votre configuration de serveur

Un objet d’informations d’identification PowerShell comprend à la fois un nom d’utilisateur de compte Windows et un mot de passe. Les objets d’informations d’identification PowerShell garantissent que votre mot de passe reste protégé en mémoire.

Remarque :

Pour chiffrer une archive de sauvegarde de configuration, vous n’avez besoin que du mot de passe pour effectuer le chiffrement et le déchiffrement. Le nom d’utilisateur stocké dans l’objet d’informations d’identification n’est pas utilisé. Vous devez créer un objet d’informations d’identification contenant le même mot de passe dans la session PowerShell utilisée sur les serveurs d’exportation et d’importation. Dans l’objet d’informations d’identification, vous pouvez spécifier n’importe quel utilisateur.

PowerShell exige que vous spécifiiez un utilisateur lors de la création d’un nouvel objet d’informations d’identification. Cet exemple de code obtient l’utilisateur Windows actuellement connecté pour plus de commodité.

Créez un objet d’informations d’identification PowerShell dans votre session PowerShell sur le serveur d’exportation.

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

Exportez la configuration vers backup.ctxzip, qui est un fichier zip chiffré.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
<!--NeedCopy-->

Créez un objet d’informations d’identification PowerShell identique dans votre session PowerShell sur le serveur d’importation.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->

Déprotéger une archive de sauvegarde chiffrée existante

$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-->
Exporter et importer la configuration StoreFront