Exportar e importar la configuración de StoreFront
Nota:
Solo puede importar configuraciones de StoreFront que sean de la misma versión de StoreFront que la instalación de StoreFront de destino.
Puede exportar la configuración completa de una implementación de StoreFront. Esto incluye tanto implementaciones de servidor único como configuraciones de grupos de servidores. Si ya existe una implementación en el servidor de importación, la configuración actual se borra y se reemplaza por la configuración contenida en el archivo de copia de seguridad. Si el servidor de destino es una instalación limpia con la configuración predeterminada de fábrica, se crea una nueva implementación utilizando la configuración importada almacenada en la copia de seguridad. La copia de seguridad de la configuración exportada tiene la forma de un único archivo .zip si no está cifrada, o un .ctxzip si elige cifrar el archivo de copia de seguridad cuando se crea.
Escenarios en los que se puede utilizar la exportación e importación de la configuración
- Solo haga 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 puede modificar las copias de seguridad existentes, ya que un hash de archivo del archivo backup.zip impide la modificación.
- Haga 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 múltiples centros de datos.
Aspectos a tener en cuenta al exportar e importar una configuración de StoreFront
- ¿Utiliza actualmente 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í, debe 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 falla si los paquetes SDK de autenticación requeridos no están instalados en ninguno de los servidores de importación. Si importa una configuración a un grupo de servidores, instale los paquetes de autenticación en todos los miembros del grupo.
- Puede cifrar o descifrar sus copias de seguridad de configuración. Los cmdlets de PowerShell de exportación e importación admiten ambos casos de uso.
- Puede 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, realice la exportación de nuevo utilizando un objeto de credencial de PowerShell que contenga una contraseña de su elección.
- El SiteID del sitio web en IIS donde StoreFront está instalado actualmente (servidor de exportación) debe coincidir con el SiteID del sitio web de destino en IIS (servidor de importación) donde desea 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) | Especifique 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 que se utilizará para el cifrado y el descifrado. No utilice -Credential al mismo tiempo que el parámetro -NoEncryption. Ejemplo: $CredObject |
| -NoEncryption (Switch) | Especifique que el archivo de copia de seguridad debe ser un .zip sin cifrar. No utilice -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 agregue una extensión de archivo, como .zip o .ctxzip. La extensión de archivo se agrega automáticamente en función 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 utilizará el SiteID contenido en el archivo de copia de seguridad. Asegúrese 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 desea importar. Esto también debe incluir la extensión de archivo. Utilice .zip para archivos sin cifrar y .ctxzip para archivos de copia de seguridad cifrados. Ejemplo: $env:userprofile\desktop\backup.ctxzip
|
| -Credential (PSCredential Object) | Especifique 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, se utiliza la URL base del host que especifique 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
Utilice este parámetro para crear una copia sin cifrar del archivo de copia de seguridad cifrado. Especifique el objeto de credencial de PowerShell que contiene la contraseña que se utilizará para el descifrado. Ejemplo: $CredObject
|
| -EncryptedConfigurationZip (String) | La ruta completa del archivo de copia de seguridad cifrado que desea descifrar. Debe especificar la extensión de archivo .ctxzip. Ejemplo: $env:userprofile\\desktop\\backup.ctxzip
|
| -OutputFolder (String)
-Force (Boolean) |
La ruta para crear una copia sin cifrar (.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 especifique un nombre de archivo ni una extensión de archivo para la copia sin cifrar. 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 que ya están 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
Abra el Entorno de scripting integrado (ISE) de PowerShell en el servidor de StoreFront y ejecute:
$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 servidor único
Crear una copia de seguridad sin cifrar de una configuración existente en el Servidor A y restaurarla en la misma implementación
Exporte la configuración del servidor del que desea hacer una copia de seguridad.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Copie el archivo backup.zip en una ubicación segura. Puede 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
Exporte la configuración del servidor del que desea hacer una copia de seguridad.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
<!--NeedCopy-->
Copie el archivo backup.zip en el 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. Restaure 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 que no sea 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 utiliza SiteID = 2. StoreFront ya está implementado en el sitio web personalizado de IIS con su ruta física en la unidad d:\inetpub\wwwroot.

- Exporte una copia de la configuración del Servidor A.
- En el Servidor B, configure IIS con un nuevo sitio web llamado StoreFront, que también utiliza SiteID 2.
-
Importe la configuración del Servidor A en el Servidor B. Se utiliza el ID de sitio contenido en la copia de seguridad y debe coincidir con el sitio web de destino donde desea importar la configuración de StoreFront.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://serverB.example.com" <!--NeedCopy-->
Escenarios de grupos 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 cuando solo dos servidores StoreFront, 2012R2-A y 2012R2-B, eran miembros del grupo de servidores. Dentro del archivo de respaldo hay un registro de la CitrixClusterMembership en el momento en que se realizó la copia, que contiene solo los dos servidores originales 2012R2-A y 2012R2-B. La implementación del grupo de servidores StoreFront ha aumentado de tamaño desde que se tomó el respaldo original debido a la demanda empresarial, por lo que se ha añadido un nodo adicional 2012R2-C al grupo. La configuración subyacente de StoreFront del grupo de servidores contenida en el respaldo no ha cambiado. La CitrixClusterMembership actual de tres servidores debe mantenerse incluso si se importa un respaldo antiguo que contiene solo los dos nodos originales del grupo. Durante la importación, la pertenencia actual al clúster se conserva y luego se vuelve a escribir una vez que la configuración se ha importado correctamente en el servidor principal. La importación también conserva la CitrixClusterMembership actual si se eliminaron nodos del grupo de servidores desde que se realizó el respaldo original.
-
Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.

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

-
La configuración del grupo de servidores debe restaurarse a un estado de funcionamiento anterior conocido. StoreFront realiza una copia de seguridad de la CitrixClusterMembership actual de tres servidores durante el proceso de importación y luego la restaura una vez que la importación se ha realizado correctamente.
-
Importe la configuración del Grupo de servidores 1 de nuevo en el nodo 2012R2-A.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup1.example.com" <!--NeedCopy--> -
Propague la configuración recién importada a todo el grupo de servidores, de modo 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 puede agregar otros nuevos miembros del grupo de servidores al nuevo servidor principal
Se crea el Grupo de servidores 2, que contiene dos nuevos servidores, 2012R2-C y 2012R2-D. La configuración de este grupo 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 utiliza al crear un nuevo grupo de servidores. La CitrixClusterMembership actual siempre se respalda y luego se restaura una vez que la importación se ha realizado correctamente. Al crear una nueva implementación utilizando 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. Especifique el parámetro -HostBaseURL. El Grupo de servidores 2 se creará utilizando una nueva instalación predeterminada de fábrica de StoreFront.
-
Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.
-
Importe la configuración del Grupo de servidores 1 en el nodo 2012R2-C, que será el servidor principal utilizado para administrar el Grupo de servidores 2 recién creado.
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -HostBaseURL "https://servergroup2.example.com" <!--NeedCopy--> -
Una los servidores adicionales que formarán 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 añade un nuevo servidor.
Escenario 3: Realizar 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 primero, los cuales debe aplicar al segundo en el otro centro de datos. Puede transferir los cambios del Grupo 1 al Grupo 2. No utilice CitrixClusterMembership dentro del archivo de copia de seguridad en este último. Especifique el parámetro -HostBaseURL durante la importación, ya que la URL base de su host no debe cambiarse al mismo FQDN que está utilizando actualmente el Grupo 1. El Grupo 2 es una implementación existente.
-
Exporte la configuración del Grupo de servidores 1 desde 2012R2-A, que es el servidor principal utilizado para administrar todo el grupo de servidores.
-
Importe la configuración del Grupo de servidores 1 en 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 del 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 su contraseña permanezca protegida en la memoria.
Nota:
Para cifrar un archivo de copia de seguridad de configuración, solo necesita la contraseña para realizar el cifrado y el descifrado. El nombre de usuario almacenado en el objeto de credencial no se utiliza. Debe crear un objeto de credencial que contenga la misma contraseña dentro de la sesión de PowerShell que se utiliza tanto en los servidores de exportación como de importación. Dentro del objeto de credencial puede especificar cualquier usuario.
PowerShell requiere que especifique un usuario al crear un nuevo objeto de credencial. Este código de ejemplo obtiene el usuario de Windows que ha iniciado sesión actualmente para mayor comodidad.
Cree un objeto de credencial de PowerShell dentro de su 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-->
Exporte la configuración a backup.ctxzip, que es un archivo zip cifrado.
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
<!--NeedCopy-->
Cree un objeto de credencial de PowerShell idéntico dentro de su 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-->
Desproteger 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-->