StoreFront

Exporter et importer la configuration StoreFront

Remarque :

Vous pouvez uniquement importer des configurations StoreFront qui proviennent de 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 limite.

Vous pouvez exporter la configuration entière d’un déploiement StoreFront. Cela inclut aussi bien les déploiements ne contenant qu’un seul serveur que les configurations de groupe de serveurs. Si un déploiement existant est déjà présent sur le serveur d’importation, la configuration actuelle est supprimée et remplacée par la configuration contenue dans l’archive de sauvegarde. Si l’installation est effectuée sur un serveur vierge, un nouveau déploiement est créé à l’aide de la configuration importée stockée dans le fichier de sauvegarde. S’il est crypté, le fichier de sauvegarde de la configuration exportée est disponible au format .zip, ou au format .ctxzip si vous avez choisi de crypter le fichier de sauvegarde lors de sa création.

Scénarios dans lesquels l’exportation et l’importation de la configuration peuvent être utilisées

  • Sauvegardez uniquement les déploiements StoreFront dans un bon état de fonctionnement et dans un état approuvé. Toute modification de la configuration nécessite une nouvelle sauvegarde pour remplacer l’ancienne sauvegarde. Vous ne pouvez pas modifier les sauvegardes existantes car un hachage de fichier sur backup.zip empêche la modification.
  • Effectuez une sauvegarde AVANT la mise à niveau de StoreFront pour la récupération d’urgence.
  • Clonage des déploiements StoreFront de test existants à mettre en production
  • Création d’environnements d’acceptation par l’utilisateur en clonant des déploiements de production dans un environnement de test
  • Déplacement de StoreFront pendant les migrations du système d’exploitation, telles que la mise à niveau du système d’exploitation d’hébergement de Windows Server 2019 vers Windows 2022. Les mises à niveau du 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 les grandes entreprises disposant de plusieurs data centers

Éléments à prendre en considération 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 Magic Word ou des personnalisations d’authentification tierces ? Si c’est le cas, 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 du SDK d’authentification requis ne sont installés sur aucun 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 crypter ou décrypter vos fichiers de sauvegarde de configuration. Les applets de commande PowerShell d’exploration et d’importation prennent en charge les deux cas d’utilisation.
  • Vous pouvez décrypter les fichiers de sauvegarde cryptés (.ctxzip) ultérieurement, mais StoreFront ne peut pas recrypter les fichiers de sauvegarde non cryptés (.zip). Si un fichier de sauvegarde crypté est requis, exportez de nouveau à l’aide d’un objet d’information d’identification PowerShell contenant un mot de passe de votre choix.
  • Le SiteID du site Web IIS où StoreFront est actuellement installé (serveur d’exportation) doit correspondre au SiteID du site cible IIS (serveur d’importation) sur lequel vous voulez restaurer la sauvegarde de la configuration de StoreFront.

Applets de commande PowerShell

Export-STFConfiguration

Paramètre Description
-TargetFolder (chaîne) Chemin d’accès d’exportation à l’archive de configuration. Exemple : “$env:userprofile\desktop\”
-Credential (Objet PSCredential) Spécifiez un objet d’information d’identification pour créer une archive de sauvegarde cryptée .ctxzip durant l’exportation. L’objet d’information d’identification PowerShell doit contenir le mot de passe à utiliser pour le cryptage et le décryptage. N’utilisez pas -Credential conjointement avec le paramètre -NoEncryption. Exemple : $CredObject
-NoEncryption (Commutateur) Indique que l’archive de sauvegarde doit être un fichier .zip non crypté. N’utilisez pas -NoEncryption conjointement avec le paramètre -Credential.
-ZipFileName (chaîne) Nom de l’archive de sauvegarde de la configuration de StoreFront. N’ajoutez pas d’extension de fichier, telle que .zip ou .ctxzip. L’extension de fichier est ajoutée automatiquement suivant que le paramètre -Credential ou -NoEncryption est spécifié durant l’exportation. Exemple : “backup”
-Force (Booléen) Ce paramètre écrase automatiquement les archives de sauvegarde qui portent le même nom de fichier que les fichiers de sauvegarde existants déjà présents dans l’emplacement d’exportation spécifié.

Important :

Le paramètre -SiteID dans StoreFront 3.5 est obsolète dans la version 3.6. Il n’est plus nécessaire de spécifier le SiteID lors d’une importation, car le SiteID contenu dans l’archive de sauvegarde est toujours utilisé. Assurez-vous que le SiteID correspond au site Web de StoreFront 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 (chaîne) Chemin d’accès complet de l’archive de sauvegarde que vous voulez importer. Il doit également inclure l’extension de fichier. Utilisez l’extension .zip pour les archives de sauvegarde non cryptées et .ctxzip pour celles cryptées. Exemple : $env:userprofile\desktop\backup.ctxzip
-Credential (Objet PSCredential) Spécifiez un objet d’information d’identification pour décrypter un fichier de sauvegarde crypté durant l’importation. Exemple : $CredObject
-HostBaseURL (chaîne) 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 (chaîne)
-Credential (Objet PSCredential)
Chemin d’accès d’exportation à l’archive de configuration. Exemple : $env:userprofile\desktop
Utilisez ce paramètre pour créer une copie non cryptée de l’archive de sauvegarde cryptée. Spécifiez l’objet d’information d’identification PowerShell contenant le mot de passe à utiliser pour le décryptage. Exemple : $CredObject
-EncryptedConfigurationZip (chaîne) Chemin d’accès complet de l’archive de sauvegarde cryptée que vous voulez décrypter. Vous devez spécifier l’extension de fichier .ctxzip. Exemple : $env:userprofile\\desktop\\backup.ctxzip
-OutputFolder (chaîne)
-Force (Booléen)
Chemin d’accès pour créer une copie non cryptée (.zip) de l’archive de sauvegarde cryptée (.ctxzip). La copie cryptée d’origine de la sauvegarde est conservée de façon à pouvoir être réutilisée. Ne spécifiez pas de nom de fichier ni d’extension de fichier pour la copie non cryptée. Exemple : $env:userprofile\desktop
Ce paramètre écrase automatiquement les archives de sauvegarde qui portent le même nom de fichier que les fichiers de sauvegarde existants déjà présents dans l’emplacement d’exportation spécifié.

Exemples d’exportation et d’importation de configuration

Importer l’applet de commande StoreFront dans la session PowerShell en cours

Ouvrez la console PowerShell (ISE) sur le serveur StoreFront principal 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 impliquant un seul serveur

Créer une sauvegarde non cryptée d’une configuration existante sur un 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 dans un emplacement sécurisé. Vous pouvez utiliser cette sauvegarde pour la récupération d’urgence pour 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é

StoreFront est déployé sur un site Web personnalisé sur le Serveur A plutôt que sur le site Web par défaut habituel dans IIS. Le paramètre SiteID IIS pour le second site Web créé dans IIS est 2. Le chemin d’accès physique au site Web de StoreFront peut se trouver sur un lecteur autre que le lecteur système tel que d:\ ou sur le lecteur système par défaut c:\ mais doit utiliser un paramètre 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 et son chemin d’accès physique se trouve sur le lecteur d:\inetpub\wwwrooot.

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

  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’élément SiteID contenu dans la copie de sauvegarde est utilisé et doit correspondre au site Web cible sur lequel vous souhaitez importer la configuration de 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 plus tard sur le même déploiement de groupe de serveurs

Une sauvegarde de configuration précédente a été effectuée lorsque seulement deux serveurs StoreFront, 2012R2-A et 2012R2-B, étaient membres du groupe de serveurs. L’archive de sauvegarde contient un enregistrement de CitrixClusterMembership correspondant au moment où la sauvegarde a été effectuée. Ce dernier contient uniquement les deux serveurs d’origine 2012R2-A et 2012R2-B. Depuis que la sauvegarde d’origine a été effectuée, le déploiement du groupe de serveurs StoreFront a pris de l’ampleur afin de s’adapter à la demande croissante, c’est la raison pour laquelle le nœud 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 été modifiée. Le CitrixClusterMembership actuel de trois serveurs doit être conservé même si une ancienne sauvegarde contenant uniquement les deux nœuds du groupe de serveurs d’origine est importée. Durant l’importation, l’appartenance au cluster actuel est conservé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 le CitrixClusterMembership actuel si des nœuds de groupe de serveurs ont été supprimés du groupe de serveurs depuis que la sauvegarde d’origine a été effectuée.

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

    Capture d'écran de CitrixClusterMembersProperties sur le groupe 1

  2. Ajoutez ensuite un serveur supplémentaire 2012R2-C au groupe de serveurs existant.

    Capture d'écran de CitrixClusterMembersProperties sur le groupe 2

  3. Restaurez la configuration du groupe de serveurs à un état fonctionnel antérieur. StoreFront sauvegarde le CitrixClusterMembership actuel de trois serveurs durant le processus d’importation, puis le restaure une fois l’importation terminée.

  4. Ré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. Propagez la nouvelle configuration importée à tout le groupe de serveurs, de façon à ce que tous les serveurs disposent de la même configuration 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 nouvelle installation différente. Vous pouvez ajouter d’autres membres du nouveau groupe de serveurs au nouveau serveur principal

Le Groupe de serveurs 2 est créé avec 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. Le CitrixClusterMembership contenu dans l’archive de sauvegarde n’est pas utilisé lors de la création d’un nouveau groupe de serveurs. Le CitrixClusterMembership actuel est toujours sauvegardé puis restauré une fois que l’importation est terminée. Lors de la création d’un nouveau déploiement à l’aide d’une configuration importée, le groupe de sécurité CitrixClusterMembership contient uniquement le serveur d’importation jusqu’à ce que des serveurs supplémentaires soient associés au nouveau groupe. Le Groupe de serveurs 2 est un nouveau déploiement conçu pour 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 l’installation de StoreFront par défaut.

  1. Exportez la configuration du Groupe de serveurs 1 depuis 2012R2-A, qui est le serveur principal utilisé pour gérer le 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. Ajoutez tout serveur supplémentaire qui fera 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 d’association normal lorsqu’un nouveau serveur est ajouté.

Scénario 3 : sauvegarder une configuration existante du Groupe de serveurs A et l’utiliser pour remplacer 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. La plupart des 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 porter les modifications du Groupe de serveurs 1 vers le Groupe de serveurs 2. N’utilisez pas le CitrixClusterMembership dans l’archive de sauvegarde sur le Groupe de serveurs 2. Spécifiez le paramètre -HostBaseURL durant l’importation, car l’URL de base de l’hôte du Groupe de serveurs 2 ne doit pas être modifiée sur le même nom de domaine complet que celui 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 le groupe de serveurs.

  2. Importez la configuration du Groupe de serveurs 1 sur la nouvelle installation par défaut 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 cryptée de la configuration du serveur

Un objet d’information d’identification PowerShell comprend un nom d’utilisateur et un mot de passe de compte Windows. Les objets d’information d’identification PowerShell garantissent la sécurité de votre mot de passe en mémoire.

Remarque :

Pour configurer une archive de sauvegarde de la configuration, seul le mot de passe est requis pour effectuer des cryptages et décryptages. Le nom d’utilisateur stocké dans l’objet d’information d’identification n’est pas utilisé. Vous devez créer un objet d’informations d’identification contenant le même mot de passe dans les sessions PowerShell que celui utilisé sur les serveurs d’exportation et d’importation. Vous pouvez spécifier un utilisateur quelconque dans l’objet d’information d’identification.

PowerShell nécessite que vous spécifiiez un utilisateur lors de la création d’un nouvel objet d’information d’identification. Pour des raisons pratiques, cet exemple de code renvoie l’utilisateur Windows connecté.

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, un fichier zip crypté.

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

Ôter la protection d’une archive de sauvegarde crypté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