Exportar e importar la configuración de StoreFront
Nota:
Solo puedes importar configuraciones de StoreFront que sean de la misma versión de StoreFront que la instalación de StoreFront de destino.
Puedes exportar la configuración completa de una implementación de StoreFront. Esto incluye tanto implementaciones de un solo servidor como configuraciones de grupos de servidores. Si ya existe una implementación en el servidor de importación, la configuración actual se borrará y se reemplazará por la configuración contenida en el archivo de copia de seguridad. Si el servidor de destino es una instalación predeterminada de fábrica limpia, se creará una nueva implementación usando la configuración importada almacenada en la copia de seguridad. La copia de seguridad de la configuración exportada está en formato de un único archivo .zip si no está cifrada, o un .ctxzip si eliges cifrar el archivo de copia de seguridad al crearlo.
Escenarios en los que se puede usar la exportación e importación de la configuración
- Solo haz copias de seguridad de las implementaciones de StoreFront que estén en un estado de funcionamiento y confianza. Cualquier cambio en la configuración requiere que se realice una nueva copia de seguridad para reemplazar la anterior. No puedes modificar las copias de seguridad existentes, ya que un hash de archivo del archivo backup.zip impide la modificación.
- Haz una copia de seguridad ANTES de actualizar StoreFront para la recuperación ante desastres.
- Clonar implementaciones de StoreFront de prueba existentes para ponerlas en producción.
- Crear entornos de aceptación de usuario clonando implementaciones de producción en un entorno de prueba.
- Mover StoreFront durante migraciones de SO, como la actualización del alojamiento de Windows Server 2019 a Windows 2022. Las actualizaciones de SO in situ no son compatibles.
- Crear grupos de servidores adicionales en implementaciones multigeográficas, como en grandes empresas con varios centros de datos.
Aspectos a tener en cuenta al exportar e importar una configuración de StoreFront
- ¿Actualmente usas algún ejemplo de SDK de autenticación publicado por Citrix®, como la autenticación Magic Word o personalizaciones de autenticación de terceros? Si es así, debes instalar estos paquetes en TODOS los servidores de importación ANTES de importar una configuración que contenga métodos de autenticación adicionales. La importación de la configuración fallará si los paquetes de SDK de autenticación requeridos no están instalados en ninguno de los servidores de importación. Si importas una configuración a un grupo de servidores, instala los paquetes de autenticación en todos los miembros del grupo.
- Puedes cifrar o descifrar tus copias de seguridad de configuración. Los cmdlets de PowerShell de exportación e importación admiten ambos casos de uso.
- Puedes descifrar copias de seguridad cifradas (.ctxzip) más tarde, pero StoreFront no puede volver a cifrar archivos de copia de seguridad no cifrados (.zip). Si se requiere una copia de seguridad cifrada, realiza la exportación de nuevo usando un objeto de credencial de PowerShell que contenga una contraseña de tu elección.
- El SiteID del sitio web en IIS donde StoreFront está actualmente instalado (servidor de exportación) debe coincidir con el SiteID del sitio web de destino en IIS (servidor de importación) donde quieres restaurar la configuración de StoreFront de la que se hizo una copia de seguridad.
Cmdlets de PowerShell
Export-STFConfiguration
| Parámetro | Descripción |
|---|---|
| -TargetFolder (String) | La ruta de exportación al archivo de copia de seguridad. Ejemplo: “$env:userprofile\desktop\” |
| -Credential (PSCredential Object) | Especifica un objeto de credencial para crear un archivo de copia de seguridad .ctxzip cifrado durante la exportación. El objeto de credencial de PowerShell debe contener la contraseña a usar para el cifrado y descifrado. No uses -Credential al mismo tiempo que el parámetro -NoEncryption. Ejemplo: $CredObject |
| -NoEncryption (Switch) | Especifica que el archivo de copia de seguridad debe ser un .zip no cifrado. No uses -NoEncryption al mismo tiempo que el parámetro -Credential. |
| -ZipFileName (String) | El nombre del archivo de copia de seguridad de la configuración de StoreFront. No agregues una extensión de archivo, como .zip o .ctxzip. La extensión de archivo se agrega automáticamente dependiendo de si se especifica el parámetro -Credential o -NoEncryption durante la exportación. Ejemplo: “backup” |
| -Force (Boolean) | Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los archivos de copia de seguridad existentes ya presentes en la ubicación de exportación especificada. |
Importante:
El parámetro SiteID que se encontraba en StoreFront 3.5 quedó obsoleto en la versión 3.6. Ya no es necesario especificar el SiteID al realizar una importación, ya que siempre se usará el SiteID contenido en el archivo de copia de seguridad. Asegúrate de que el SiteID coincida con el sitio web de StoreFront existente ya configurado en IIS en el servidor de importación. Las importaciones de configuración de SiteID 1 a SiteID 2 NO son compatibles.
Import-STFConfiguration
| Parámetro | Descripción |
|---|---|
| -ConfigurationZip (String) | La ruta completa al archivo de copia de seguridad que quieres importar. Esto también debe incluir la extensión del archivo. Usa .zip para archivos de copia de seguridad no cifrados y .ctxzip para cifrados. Ejemplo: $env:userprofile\desktop\backup.ctxzip
|
| -Credential (PSCredential Object) | Especifica un objeto de credencial para descifrar una copia de seguridad cifrada durante la importación. Ejemplo: $CredObject
|
| -HostBaseURL (String) | Si se incluye este parámetro, la URL base del host que especifiques se usa en lugar de la URL base del host del servidor de exportación. Ejemplo: https://<importingserver>.example.com
|
Unprotect-STFConfigurationBackup
| Parámetro | Descripción |
|---|---|
| -TargetFolder (String)
-Credential (PSCredential Object) |
La ruta de exportación al archivo de copia de seguridad. Ejemplo: $env:userprofile\desktop
Usa este parámetro para crear una copia no cifrada del archivo de copia de seguridad cifrado. Especifica el objeto de credencial de PowerShell que contiene la contraseña a usar para el descifrado. Ejemplo: $CredObject
|
| -EncryptedConfigurationZip (String) | La ruta completa del archivo de copia de seguridad cifrado que quieres descifrar. Debes especificar la extensión de archivo .ctxzip. Ejemplo: $env:userprofile\\desktop\\backup.ctxzip
|
| -OutputFolder (String)
-Force (Boolean) |
La ruta para crear una copia no cifrada (.zip) del archivo de copia de seguridad cifrado (.ctxzip). La copia cifrada original de la copia de seguridad se conserva para que pueda reutilizarse. No especifiques un nombre de archivo ni una extensión de archivo para la copia no cifrada. Ejemplo: $env:userprofile\desktop
Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los archivos de copia de seguridad existentes ya presentes en la ubicación de exportación especificada. |
Ejemplos de exportación e importación de configuración
Importar los cmdlets de StoreFront a la sesión actual de PowerShell
Abre el Entorno de scripting integrado (ISE) de PowerShell en el servidor de StoreFront y ejecuta:
$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-->
Escenarios de un solo servidor
Crear una copia de seguridad no cifrada de una configuración existente en el Servidor A y restaurarla en la misma implementación
Exporta la configuración del servidor del que quieres hacer una copia de seguridad.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Copia el archivo backup.zip en una ubicación segura. Puedes usar esta copia de seguridad para la recuperación ante desastres y restaurar el servidor a su estado anterior.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->
Hacer una copia de seguridad de una configuración existente en el Servidor A y restaurarla en el Servidor B para crear un clon de un servidor existente
Exporta la configuración del servidor del que quieres hacer una copia de seguridad.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Copia el archivo backup.zip al escritorio del servidor B.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -HostBaseURL "https://serverB.example.com"
<!--NeedCopy-->
StoreFront ya está implementado en un sitio web personalizado en IIS. Restaurar la configuración en otra implementación de sitio web personalizado
El Servidor A tiene StoreFront implementado en una ubicación de sitio web personalizada en lugar del sitio web predeterminado habitual dentro de IIS. El SiteID de IIS para el segundo sitio web creado en IIS es 2. La ruta física del sitio web de StoreFront puede estar en otra unidad no del sistema, como d:\, o en la unidad del sistema predeterminada c:\, pero debe usar un SiteID de IIS mayor que 1.
Se ha configurado un nuevo sitio web llamado StoreFront dentro de IIS, que usa SiteID = 2. StoreFront ya está implementado en el sitio web personalizado en IIS con su ruta física en la unidad d:\inetpub\wwwroot.

- Exporta una copia de la configuración del Servidor A.
- En el Servidor B, configura IIS con un nuevo sitio web llamado StoreFront, que también usa SiteID 2.
-
Importa la configuración del Servidor A al Servidor B. Se usa el ID del sitio contenido en la copia de seguridad y debe coincidir con el sitio web de destino donde quieres importar la configuración de StoreFront.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://serverB.example.com" <!--NeedCopy-->
Escenarios de grupo de servidores
Escenario 1: Hacer una copia de seguridad de una configuración de grupo de servidores existente y restaurarla más tarde en la misma implementación de grupo de servidores
Se realizó una copia de seguridad de la configuración anterior mientras solo dos servidores de StoreFront, 2012R2-A y 2012R2-B, eran miembros del grupo de servidores. Dentro del archivo de copia de seguridad hay un registro de la CitrixClusterMembership en el momento en que se realizó la copia de seguridad, que contiene solo los dos servidores originales 2012R2-A y 2012R2-B. La implementación del grupo de servidores de StoreFront ha aumentado de tamaño desde que se realizó la copia de seguridad original debido a la demanda comercial, por lo que se ha agregado un nodo adicional 2012R2-C al grupo de servidores. La configuración subyacente de StoreFront del grupo de servidores contenida en la copia de seguridad no ha cambiado. La CitrixClusterMembership actual de tres servidores debe mantenerse incluso si se importa una copia de seguridad antigua que contiene solo los dos nodos originales del grupo de servidores. Durante la importación, la pertenencia al clúster actual se conserva y luego se vuelve a escribir una vez que la configuración se ha importado correctamente al servidor principal. La importación también conserva la CitrixClusterMembership actual si se eliminaron nodos del grupo de servidores desde que se realizó la copia de seguridad original.
-
Exporta la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal usado para administrar todo el grupo de servidores.

-
Más tarde, agregas un servidor adicional, 2012R2-C, al grupo de servidores existente.

-
La configuración del grupo de servidores debe restaurarse a un estado de funcionamiento conocido previamente. StoreFront hace una copia de seguridad de la CitrixClusterMembership actual de tres servidores durante el proceso de importación y luego la restaura después de que la importación se haya realizado correctamente.
-
Importa la configuración del Grupo de servidores 1 de nuevo al nodo 2012R2-A.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup1.example.com" <!--NeedCopy--> -
Propaga la configuración recién importada a todo el grupo de servidores, para que todos los servidores tengan una configuración coherente después de la importación.
Escenario 2: Hacer una copia de seguridad de una configuración existente del Grupo de servidores 1 y usarla para crear un nuevo Grupo de servidores en una instalación predeterminada de fábrica diferente. Luego puedes agregar otros miembros nuevos del grupo de servidores al nuevo servidor principal
Se crea el Grupo de servidores 2 que contiene dos servidores nuevos, 2012R2-C y 2012R2-D. La configuración del Grupo de servidores 2 se basará en la configuración de una implementación existente, el Grupo de servidores 1, que también contiene dos servidores 2012R2-A y 2012R2-B. La CitrixClusterMembership contenida en el archivo de copia de seguridad no se usa al crear un nuevo grupo de servidores. La CitrixClusterMembership actual siempre se respalda y luego se restaura después de que la importación se realiza correctamente. Al crear una nueva implementación usando una configuración importada, el grupo de seguridad CitrixClusterMembership contiene solo el servidor de importación hasta que se unen servidores adicionales al nuevo grupo. El Grupo de servidores 2 es una nueva implementación y está destinado a coexistir junto con el Grupo de servidores 1. Especifica el parámetro -HostBaseURL. El Grupo de servidores 2 se creará usando una nueva instalación predeterminada de fábrica de StoreFront.
-
Exporta la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal usado para administrar todo el grupo de servidores.
-
Importa la configuración del Grupo de servidores 1 al nodo 2012R2-C, que será el servidor principal usado para administrar el Grupo de servidores 2 recién creado.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup2.example.com" <!--NeedCopy--> -
Une cualquier servidor adicional que forme parte de la nueva implementación del Grupo de servidores 2. La propagación de la configuración recién importada del Grupo de servidores 1 a todos los nuevos miembros del Grupo de servidores 2 es automática, ya que esto forma parte del proceso de unión normal cuando se agrega un nuevo servidor.
Escenario 3: Hacer una copia de seguridad de una configuración existente del Grupo de servidores A y usarla para sobrescribir la configuración existente del Grupo de servidores B
El Grupo de servidores 1 y el Grupo de servidores 2 ya existen en dos centros de datos separados. Se realizan muchos cambios de configuración de StoreFront en el Grupo de servidores 1, que debes aplicar al Grupo de servidores 2 en el otro centro de datos. Puedes transferir los cambios del Grupo de servidores 1 al Grupo de servidores 2. No uses la CitrixClusterMembership dentro del archivo de copia de seguridad en el Grupo de servidores 2. Especifica el parámetro -HostBaseURL durante la importación, ya que la URL base del host del Grupo de servidores 2 no debe cambiarse al mismo FQDN que está actualmente en uso por el Grupo de servidores 1. El Grupo de servidores 2 es una implementación existente.
-
Exporta la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal usado para administrar todo el grupo de servidores.
-
Importa la configuración del Grupo de servidores 1 a la instalación predeterminada de fábrica en el nodo 2012R2-C, que será el servidor principal del nuevo Grupo de servidores 2.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip" -NoEncryption -HostBaseURL "https://servergroup2.example.com" <!--NeedCopy-->
Crear una copia de seguridad cifrada de la configuración de tu servidor
Un objeto de credencial de PowerShell comprende tanto un nombre de usuario de cuenta de Windows como una contraseña. Los objetos de credencial de PowerShell garantizan que tu contraseña permanezca protegida en la memoria.
Nota:
Para cifrar un archivo de copia de seguridad de configuración, solo necesitas la contraseña para realizar el cifrado y descifrado. El nombre de usuario almacenado en el objeto de credencial no se usa. Debes crear un objeto de credencial que contenga la misma contraseña dentro de la sesión de PowerShell que se usa tanto en los servidores de exportación como de importación. Dentro del objeto de credencial puedes especificar cualquier usuario.
PowerShell requiere que especifiques un usuario al crear un nuevo objeto de credencial. Este código de ejemplo obtiene el usuario de Windows actualmente conectado por conveniencia.
Crea un objeto de credencial de PowerShell dentro de tu sesión de Powershell en el servidor de exportación.
$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-->
Exporta la configuración a backup.ctxzip, que es un archivo zip cifrado.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
<!--NeedCopy-->
Crea un objeto de credencial de PowerShell idéntico dentro de tu sesión de Powershell en el servidor de importación.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://storefront.example.com"
<!--NeedCopy-->
Descifrar un archivo de copia de seguridad cifrado existente
$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-->