Product Documentation

Exportación e importación de la configuración de StoreFront

Jun 29, 2017

Puede exportar la configuración completa de una implementación de StoreFront.  Esto incluye tanto implementaciones de un único servidor como implementaciones con un grupo de servidores.  Si una implementación existente ya está presente en el servidor que realiza la importación, la configuración actual se borra y se sustituye por la configuración contenida en el archivo de copia de seguridad.  Si el servidor de destino es una instalación limpia con los valores predeterminados de fábrica, se crea una nueva implementación usando la configuración importada almacenada en la copia de seguridad.  La copia de seguridad de la configuración exportada es un archivo .zip único si no está cifrada, o un archivo .ctxzip si se eligió cifrar el archivo de copia de seguridad al crearlo.   

Asuntos a considerar al importar y exportar una configuración de StoreFront

Objetos de credenciales de PowerShell utilizados para el cifrado y descifrado de copias de seguridad de StoreFront

Cmdlets de PowerShell

Ejemplos de exportación e importación de configuraciones

Asuntos a considerar al importar y exportar una configuración de StoreFront

  • ¿Quiere usar la URL base de host contenida en el archivo de copia de seguridad, o quiere especificar una URL base de host nueva para usarla en el servidor donde se importa la configuración?
  • ¿Está usando actualmente algún ejemplo de SDK de autenticación publicado de Citrix, por ejemplo, personalizaciones para autenticación con palabra mágica o para autenticación con productos de terceros?  En ese caso, debe instalar esos paquetes en TODOS los servidores donde se importa la configuración ANTES de importar la configuración que contenga métodos de autenticación adicionales.  La importación de la configuración falla si los paquetes del SDK de autenticación no están instalados en los servidores donde se importa la misma.  Si importa una configuración en un grupo de servidores, instale los paquetes de autenticación en todos los miembros del grupo.
  • Puede cifrar y descifrar los archivos de copia de seguridad.   Los cmdlets PowerShell de importación y exportación dan respaldo a ambos casos de uso.
  • Puede descifrar copias de seguridad cifradas (.ctxzip) más adelante, 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 usando un objeto de credenciales que contenga la contraseña que usted quiera.
  • El ID de sitio del sitio Web de IIS donde StoreFront está instalado actualmente (servidor de exportación) debe coincidir con el ID de sitio del sitio Web de IIS de destino (servidor de importación) donde se quiere restaurar la copia de seguridad de la configuración de StoreFront.

Objetos de credenciales de PowerShell utilizados para el cifrado y descifrado de copias de seguridad de StoreFront

Un objeto de credenciales de PowerShell se compone de un nombre de usuario y una contraseña de una cuenta de Windows.  Los objetos de credenciales de PowerShell garantizan que su contraseña queda protegida en memoria.  

Nota

Para cifrar un archivo de copia de seguridad de configuración, necesita solo la contraseña para realizar el cifrado y el descifrado. El nombre de usuario guardado con el objeto de credenciales no se usa.  Debe crear un objeto de credenciales que contenga la misma contraseña dentro de las sesiones de PowerShell que se utiliza en los servidores de exportación y de importación.  Dentro del objeto de credenciales puede especificar cualquier usuario. 

PowerShell requiere la especificación de un usuario al crear un nuevo objeto de credenciales. Este ejemplo de código obtiene simplemente el usuario de Windows de la sesión actual.

$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password) 

Cmdlets de PowerShell

Export-STFConfiguration

Parámetro

Descripción

-TargetFolder

La ruta de exportación al archivo de copia de seguridad.

Ejemplo: "$env:userprofile\desktop\"

-Credential (PSCredential Object)

Especifica un objeto de credenciales para crear un archivo de copia de seguridad .ctxzip durante la exportación.

El objeto de credenciales de PowerShell debe contener la contraseña que se usará para el cifrado y el descifrado.   No use -Credential al mismo tiempo que el parámetro -NoEncryption.

Ejemplo: $CredObject

-NoEncryption (conmutador)

Especifica que el archivo de copia de seguridad debe ser un archivo .zip no cifrado.

No use -NoEncryption al mismo tiempo que el parámetro -Credential.

-ZipFileName

El nombre del archivo de copia de seguridad de la configuración de StoreFront.  No agregue ninguna extensión de archivo como .zip o .ctxzip.  La extensión del archivo se agrega automáticamente dependiendo de si se especificó el parámetro -Credential o el parámetro -NoEncryption durante la exportación.

Por ejemplo: "copiaSeguridad"

-Force (booleano)

Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los ya existentes en la ubicación de exportación especificada. 

Important

El parámetro -SiteID de StoreFront 3.5 pasó a ser obsoleto en la versión 3.6. Ya no es necesario especificar el ID de sitio (SiteID) cuando se realiza una importación, porque siempre se usará el parámetro SiteID contenido en el archivo de copia de seguridad.  Asegúrese de que el ID de sitio coincide con el sitio Web de StoreFront existente ya configurado dentro de IIS en el servidor de importación.  La importación de configuraciones desde SiteID 1 a SiteID 2 (o viceversa) NO reciben respaldo.

Import-STFConfiguration

Parámetro

Descripción

-ConfigurationZip

La ruta completa del archivo de copia de seguridad que quiere importar.  Esto debe incluir la extensión del archivo.  Use .zip para copias de seguridad no cifradas y .ctxzip para las cifradas.

Por ejemplo: "$env:userprofile\desktop\backup.ctxzip"

-Credential (PSCredential Object)

Especifique un objeto de credenciales para descifrar una copia de seguridad cifrada durante la importación.

Ejemplo: $CredObject

-HostBaseURL

Si se incluye este parámetro, se usará la URL base de host que usted especifique en lugar de usarse la URL base de host del servidor desde donde se realiza la exportación.

Por ejemplo: "https://.ejemplo.com"

 

Unprotect-STFConfigurationBackup

Parámetro

Descripción

-TargetFolder

La ruta de exportación al archivo de copia de seguridad.

Ejemplo: "$env:userprofile\desktop\"

-Credential (PSCredential Object)

Use este parámetro para crear una copia no cifrada del archivo de copia de seguridad cifrado.  Especifique el objeto de credenciales de PowerShell que contiene la contraseña que debe usarse para el descifrado. 

Ejemplo: $CredObject

-EncryptedConfigurationZip

La ruta completa del archivo de copia de seguridad cifrado que quiere descifrar.  Debe especificar la extensión de archivo .ctxzip.

Por ejemplo: "$env:userprofile\desktop\backup.ctxzip"

-OutputFolder

La ruta para crear una copia no cifrada (.zip) del archivo de copia de seguridad cifrado (.ctxzip).  El archivo cifrado de copia de seguridad original se conserva para poder volver a utilizarlo.  No especifique ningún nombre de archivo ni una extensión de archivo para la copia no cifrada.

Ejemplo: "$env:userprofile\desktop\"

-Force (booleano)

Este parámetro sobrescribe automáticamente los archivos de copia de seguridad con el mismo nombre de archivo que los ya existentes en la ubicación de exportación especificada.

Ejemplos de exportación e importación de configuraciones

Importar el SDK de StoreFront en la sesión actual de PowerShell

Abra el entorno ISE (Integrated Scripting Environment) de PowerShell en el servidor StoreFront y ejecute:

$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
Import-Module "$SDKModules.SubscriptionsStore\Citrix.StoreFront.SubscriptionsStore.psd1" -verbose

Escenarios de un solo servidor

Crear una copia de seguridad no cifrada de una configuración existente en el Servidor A y restaurarla sobre la misma implementación.

Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -NoEncryption
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.zip"

 

Crear una copia de seguridad cifrada de una configuración existente en el Servidor A y restaurarla sobre la misma implementación.

# Create a PowerShell Credential Object
$User = [System.Security.Principal.WindowsIdentity]::GetCurrent().Name
$Password = "Pa55w0rd"
$Password = $Password | ConvertTo-SecureString -asPlainText -Force
$CredObject = New-Object System.Management.Automation.PSCredential($User,$Password)
Export-STFConfiguration -targetFolder "$env:userprofile\desktop\" -zipFileName "backup" -Credential $CredObject
Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject


Desproteger un archivo cifrado de copia de seguridad 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


Hacer una copia de seguridad de una configuración existente en el Servidor A y restaurarla en una nueva implementación con valores predeterminados de fábrica en el Servidor B

El servidor B es una nueva implementación que va a coexistir con el servidor A. Especifique el parámetro -HostBaseURL.El servidor B es una instalación limpia de StoreFront con los valores predeterminados de fábrica.  

  1. Cree un objeto de credenciales de PowerShell y exporte una copia cifrada de la configuración del servidor A.
  2. Cree un objeto de credenciales de PowerShell en el servidor B usando la misma contraseña que usó para cifrar la copia de seguridad. 
  3. Descifre e importe la configuración del servidor A en el servidor B usando el parámetro -HostBaseURL.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com

 

Hacer una copia de seguridad de una configuración existente en el Servidor A y usarla para sobrescribir una implementación existente en el Servidor B

El servidor B es una implementación ya existente que tiene una configuración obsoleta.  Use la configuración del servidor A para actualizar el servidor B.  El servidor B va a coexistir con el servidor A. Especifique el parámetro -HostBaseURL .  

  1. Cree un objeto de credenciales de PowerShell y exporte una copia cifrada de la configuración del servidor A.
  2. Cree un objeto de credenciales de PowerShell en el servidor B usando la misma contraseña que usó para cifrar la copia de seguridad. 
  3.   Descifre e importe la configuración del servidor A en el servidor B usando el parámetro -HostBaseURL.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" –Credential $CredObject -HostBaseURL "https://servidorB.ejemplo.com"


Crear un clon de una implementación existente con la misma URL base de host, como cuando se quiere actualizar a un nuevo SO de servidor y retirar una implementación de StoreFront obsoleta

El servidor 2012R B es una nueva implementación con la que se quiere reemplazar al servidor 2008R2 A, que está obsoleto. Use el parámetro HostBaseURL del archivo de copia de seguridad. No use el parámetro -HostBaseURL durante la importación.El servidor B es una instalación limpia de StoreFront con los valores predeterminados de fábrica. 

  1. Cree un objeto de credenciales de PowerShell y exporte una copia cifrada de la configuración del servidor 2008R2 A.
  2. Cree un objeto de credenciales de PowerShell en el servidor 2012R2 B usando la misma contraseña que usó para cifrar la copia de seguridad. 
  3. Descifre e importe la configuración del servidor 2008R2 A en el servidor 2012R2 B sin usar el parámetro -HostBaseURL.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

 

StoreFront ya está implementado en un sitio Web IIS personalizado. 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 de ubicarse en el sitio Web predeterminado de IIS.  El ID de sitio 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 perteneciente al sistema, como D:\, o en la unidad predeterminada del sistema C:\, pero debe usar un ID de sitio 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 y su ruta física se encuentra en la unidad D:\inetpub\wwwrooot\.

localized image
  1. Cree un objeto de credenciales de PowerShell y exporte una copia cifrada de la configuración del servidor A.
  2. En el servidor B, configure IIS con un nuevo sitio Web llamado StoreFront, que también use SiteID 2.
  3. Cree un objeto de credenciales de PowerShell en el servidor B usando la misma contraseña que usó para cifrar la copia de seguridad.
  4. Descifre e importe la configuración del servidor A en el servidor B usando el parámetro -HostBaseURL.  El ID de sitio que contiene la copia de seguridad es el ID que se utiliza y debe coincidir con el sitio Web de destino donde se quiere importar la configuración de StoreFront.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://serverB.example.com"

Escenarios con grupos de servidores

Escenario 1: Hacer una copia de seguridad de la configuración de un grupo de servidores existente y restaurarla más tarde sobre la implementación del mismo grupo de servidores.

Anteriormente se hizo una copia de seguridad de la configuración, cuando el grupo de servidores solo tenía dos servidores StoreFront, 2012R2-A y 2012R2-B.  En el archivo de la copia de seguridad se incluye el registro CitrixClusterMembership correspondiente al momento en que se hizo la copia, que contiene solo los dos servidores originales 2012R2-A y 2012R2-B.  Para incrementar la capacidad del negocio, posteriormente a la creación de esa copia de seguridad original, la implementación del grupo de servidores StoreFront ha aumentado de tamaño y se ha agregado un nodo 2012R2-C al grupo de servidores.  La configuración de StoreFront subyacente del grupo de entrega que está guardada en la copia de seguridad no ha cambiado.  La información acerca de miembros del grupo CitrixClusterMembership de tres servidores debe conservarse, aunque se importe la antigua copia de seguridad que contiene solo los dos nodos originales del grupo de servidores.  Durante la importación, se conserva la información de miembros del clúster CitrixClusterMembership y luego se vuelve a copiar, una vez que la configuración se ha importado correctamente en el servidor principal.  La importación también conserva la información de miembros del clúster CitrixClusterMembership aunque se hayan quitado nodos del grupo de servidores posteriormente a la creación de la copia de seguridad original.

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

localized image

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

localized image

3.   La configuración del grupo de servidores debe restaurarse a un estado de funcionamiento correcto previo conocido.   StoreFront hace una copia de seguridad del clúster actual CitrixClusterMembership de tres servidores durante el proceso de importación, y luego la restaura, una vez completada correctamente la importación.

4.   Importe la configuración del grupo de servidores 1 de vuelta en el nodo 2012R2-A.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject

5.   Propague la configuración recién importada en todo el grupo de servidores, de modo que los servidores tengan una configuración uniforme después de la importación.

Escenario 2: Hacer una copia de seguridad de una configuración existente desde el grupo de servidores 1 y usarla para crear un nuevo grupo de servidores en una instalación diferente predeterminada de fábrica.  A continuación, se pueden agregar nuevos servidores miembros de grupo 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, la del grupo de servidores 1, que también contiene dos servidores: 2012R2-A y 2012R2-B.  El clúster CitrixClusterMembership contenido en el archivo de copia de seguridad no se usa al crear un nuevo grupo de servidores.   Siempre se hace una copia de seguridad del clúster CitrixClusterMembership actual y luego se restaura después de una importación correcta.   Al crear una implementación nueva usando una configuración importada, el grupo de seguridad de CitrixClusterMembership solo contiene el servidor que recibe la importación hasta que se agregan servidores adicionales al grupo.  El grupo de servidores 2 es una nueva implementación que va a coexistir con el grupo de servidores 1. Especifique el parámetro -HostBaseURL.  El grupo de servidores 2 se creará usando una instalación de StoreFront limpia que tiene los valores predeterminados de fábrica. 

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

2.  Importe la configuración del grupo de servidores 1 en el nodo 2012R2-C, que será el servidor principal utilizado para administrar todo el grupo de servidores 2 recién creado. 

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://grupoDeServidores2.ejemplo.com"

 3.   Incorpore 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 desde el grupo de servidores 1 a todos los nuevos miembros del grupo de servidores 2 es automática, ya que esto forma parte del proceso normal de incorporación de nuevos servidores a un grupo.

Escenario 3: Hacer una copia de seguridad de una configuración existente desde el grupo de servidores 1 y usarla para sobrescribir la configuración existente del grupo de servidores 2.

El grupo de servidores 1 y el grupo de servidores 2 ya existen, y están en dos centros de datos distintos.  Se han hecho muchos cambios en la configuración de StoreFront del grupo de servidores 1 y deben aplicarse al grupo de servidores 2 situado en el otro centro de datos.  Estos cambios pueden transferirse desde el grupo de servidores 1 al grupo de servidores 2.  No use la información de CitrixClusterMembership contenida en el archivo de copia de seguridad en el grupo de servidores 2.  Especifique el parámetro -HostBaseURL durante la importación, ya que la URL base de host del grupo de servidores 2 no debe cambiarse por el mismo FQDN que usa el grupo de servidores 1.  El grupo de servidores 2 es una implementación existente. 

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

2.  Importe la configuración del grupo de servidores 1 en el nodo 2012R2-C que tiene la instalación predeterminada de fábrica, y será el servidor principal utilizado para el grupo de servidores 2.

Import-STFConfiguration -configurationZip "$env:userprofile\desktop\backup.ctxzip" -Credential $CredObject -HostBaseURL "https://grupoDeServidores2.ejemplo.com"