XenApp and XenDesktop

Migrar XenApp 6.x

NOTA: No se puede utilizar el producto de migración Citrix Smart Migrate con esta versión de XenApp y XenDesktop. Sin embargo, la herramienta de migración está disponible.

Puede usar la herramienta de migración descrita en este artículo para migrar de XenApp 6.x a XenApp 7.6. Luego, puede actualizar desde XenApp 7.6 a una versión LTSR admitida o la versión actual de Citrix Virtual Apps and Desktops.

XenApp 6.x Migration Tool

La herramienta de migración de XenApp 6.x (Migration Tool) es una colección de scripts de PowerShell que contienen cmdlets para migrar los datos de las comunidades y las directivas de XenApp 6.x (6.0 o 6.5). En el servidor del Controller de XenApp 6.x, ejecute los cmdlets de exportación que recopilan dichos datos en archivos XML. A continuación, desde el Controller de XenApp 7.6, ejecute los cmdlets de importación, que crean objetos mediante los datos recopilados durante la exportación.

Esta secuencia resume el proceso de migración. Los detalles se proporcionan más adelante.

  1. En un Controller de XenApp 6.0 o 6.5:
    1. Importe los módulos de exportación de PowerShell.
    2. Ejecute los cmdlets de exportación para exportar datos de la comunidad y de directivas en archivos XML.
    3. Copie los archivos XML (y la carpeta de iconos si eligió no incrustarlos en los archivos XML durante la exportación) en el Controller de XenApp 7.6.
  2. En el Controller de XenApp 7.6:
    1. Importe los módulos de importación de PowerShell.
    2. Ejecute los cmdlets de importación para importar los datos de la comunidad (aplicaciones) y de directivas, mediante los archivos XML como entrada.
  3. Complete los pasos posteriores a la migración.

Antes de iniciar una migración real, puede exportar la configuración de XenApp 6.x y, a continuación, realizar una vista previa de la importación en el sitio de XenApp 7.6. La vista previa puede identificar posibles puntos de fallo para que usted pueda resolver los problemas antes de ejecutar la importación en sí. Por ejemplo, una vista previa puede detectar que ya existe una aplicación con el mismo nombre en el nuevo sitio de XenApp 7.6. También puede usar los archivos de registros generados a partir de la vista previa como guía para la migración.

A menos que se indique lo contrario, el término 6.x hace referencia a XenApp 6.0 o 6.5.

Novedades en esta versión

Esta versión publicada en diciembre de 2014 (versión 20141125) contiene las actualizaciones siguientes:

  • Si tiene problemas al usar la herramienta de migración en una comunidad de XenApp 6.x, notifíquelos en https://discussions.citrix.com/forum/1411-xenapp-7x/.
  • Empaquetado nuevo: Ahora el archivo XAMigration.zip contiene dos paquetes separados e independientes: ReadIMA.zip y ImportFMA.zip. Para exportaciones desde un servidor de XenApp 6.x, solo necesita ReadIMA.zip. Para importaciones en un servidor de XenApp 7.6, solo necesita ImportFMA.zip.
  • El cmdlet Export-XAFarm ofrece un nuevo parámetro (EmbedIconData) que elimina la necesidad de copiar los datos de iconos en archivos separados.
  • El cmdlet Import-XAFarm permite usar tres parámetros nuevos:
    • MatchServer: Importa aplicaciones desde servidores cuyos nombres coinciden con una determinada expresión
    • NotMatchServer: Importa aplicaciones desde servidores cuyos nombres no coinciden con una determinada expresión
    • IncludeDisabledApps: Importa aplicaciones inhabilitadas
  • Las aplicaciones de preinicio no se importan.
  • El cmdlet Export-Policy funciona en XenDesktop 7.x.

Paquete de herramienta de migración

La herramienta de migración está disponible en el sitio de descargas de Citrix XenApp 7.6. El archivo XAMigration.zip contiene dos paquetes separados:

  • ReadIMA.zip: Contiene los archivos utilizados para exportar datos desde las comunidades de XenApp 6.x, además de módulos compartidos.
Módulo o archivo Descripción
ExportPolicy.psm1 Módulo de script de PowerShell para exportar las directivas de XenApp 6.x a un archivo XML.
ExportXAFarm.psm1 Módulo de scripts de PowerShell para exportar la configuración de la comunidad de XenApp 6.x a un archivo XML.
ExportPolicy.psd1 Archivo de manifiesto de PowerShell para el módulo de script ExportPolicy.psm1.
ExportXAFarm.psd1 Archivo de manifiesto de PowerShell para el módulo de script ExportXAFarm.psm1.
LogUtilities.psm1 Módulo de script compartido de PowerShell que contiene las funciones de registro.
XmlUtilities.psd1 Archivo de manifiesto de PowerShell para el módulo de script XmlUtilities.psm1.
XmlUtilities.psm1 Módulo de script compartido de PowerShell que contiene las funciones de XML.
  • ImportFMA.zip: Contiene los archivos utilizados para importar datos en las comunidades de XenApp 7.6, además de módulos compartidos.
Módulo o archivo Descripción
ImportPolicy.psm1 Módulo de scripts de PowerShell para importar las directivas en XenApp 7.6.
ImportXAFarm.psm1 Módulo de scripts de PowerShell para importar las aplicaciones en XenApp 7.6.
ImportPolicy.psd1 Archivo de manifiesto de PowerShell para el módulo de script ImportPolicy.psm1.
ImportXAFarm.psd1 Archivo de manifiesto de PowerShell para el módulo de script ImportXAFarm.psm1.
PolicyData.xsd Esquema XML para datos de directivas.
XAFarmData.xsd Esquema XML para datos de la comunidad XenApp.
LogUtilities.psm1 Módulo de script compartido de PowerShell que contiene las funciones de registro.
XmlUtilities.psd1 Archivo de manifiesto de PowerShell para el módulo de script XmlUtilities.psm1.
XmlUtilities.psm1 Módulo de script compartido de PowerShell que contiene las funciones de XML.

Limitaciones

  • No se importan todas las configuraciones de directivas. Consulte Configuraciones de directivas que no se importan. Las configuraciones que no son compatibles se ignoran y esto se indica en el archivo de registros.
  • Aunque se recopilan detalles de todas las aplicaciones en el archivo XML de salida durante la operación de exportación, solo se importan en el sitio de XenApp 7.6 las aplicaciones instaladas en el servidor. Los escritorios publicados, el contenido y la mayoría de las aplicaciones distribuidas por streaming no están disponibles (consulte los parámetros del cmdlet Import-XAFarm en Importar datos: paso a paso para ver las excepciones).
  • Los servidores de aplicaciones no se importan.
  • Muchas de las propiedades de aplicación no se importan debido a diferencias entre la arquitectura IMA (Independent Management Architecture) de XenApp 6.x y las tecnologías FlexCast Management Architecture (FMA) de XenApp 7.6. Consulte Asignación de propiedades de aplicaciones.
  • Se crea un grupo de entrega durante la importación. Consulte Uso avanzado para obtener más información sobre cómo usar los parámetros para filtrar lo que se importa.
  • Solo se importan las configuraciones de directivas de Citrix creadas con la consola de administración de AppCenter. Las configuraciones de directivas de Citrix creadas con objetos de directiva de grupo (GPO) de Windows no se importan.
  • Los scripts de migración están diseñados para las migraciones desde XenApp 6.x a XenApp 7.6 únicamente.
  • Studio no admite el uso de carpetas anidadas a más de cinco niveles de profundidad, por lo que no se importarán. Si la estructura de carpetas de aplicaciones incluye carpetas a más de cinco niveles de profundidad, considere la posibilidad de reducir la cantidad de niveles de anidación de carpetas antes de realizar la importación.

Consideraciones sobre seguridad

Los archivos XML creados por los scripts de exportación pueden contener información confidencial acerca de su entorno y organización, como nombres de usuario y de servidor, además de otros datos de configuración de directivas, comunidades y aplicaciones. Almacene y gestione estos archivos en entornos seguros.

Repase cuidadosamente los archivos XML antes de usarlos como material para la importación de directivas y aplicaciones, y compruebe que no contienen modificaciones no autorizadas.

Las asignaciones de objeto de directiva (antes conocidas como filtros de directivas) son las que gestionan la forma en que se aplican las directivas. Después de importar las directivas, revise meticulosamente las asignaciones de objeto de cada directiva para comprobar que no haya vulnerabilidades de seguridad a raíz de la importación. Tras la importación, es posible que se apliquen diferentes conjuntos de usuarios, direcciones IP o nombres de cliente a la directiva. Después de la importación, es posible que los parámetros “Permitir” y “Denegar” tengan implicaciones diferentes.

Capturar registros y controlar errores

Los scripts ofrecen gran cantidad de registros que hacen un rastreo de todas las ejecuciones de cmdlets, mensajes informativos, resultados de la ejecución de cmdlets, advertencias y errores.

  • Queda registrada la mayor parte del uso de cmdlets de PowerShell de Citrix. Se registran todos los cmdlets de PowerShell en los scripts de importación que crean nuevos objetos del sitio.
  • Se registra el progreso de la ejecución de scripts, incluidos los objetos procesados.
  • Se registran las principales acciones que afectan al flujo de trabajo, incluidos flujos dirigidos desde la línea de comandos.
  • Se registran todos los mensajes que se imprimen en la consola, incluidas las advertencias y los errores.
  • Cada línea recibe una marca de hora, con precisión de milésima de segundo.

Citrix recomienda especificar un archivo de registros cuando se ejecute cada uno de los cmdlets de importación y exportación.

Si no se especifica un nombre de archivo de registros, el archivo de registros se almacena en la carpeta principal del usuario (especificada por la variable $HOME de PowerShell) si dicha carpeta existe. De lo contrario, se coloca en la carpeta de ejecución del script actual. El nombre predeterminado de los registros es XFarmYYYYMMDDHHmmSS-xxxxxx, cuyos últimos seis dígitos son un número aleatorio.

De forma predeterminada, se muestra toda la información de progreso. Para evitar que se muestre, especifique el parámetro NoDetails en los scripts de exportación e importación.

Por lo general, la ejecución de un script se detiene cuando se encuentra un error, y se puede ejecutar el cmdlet de nuevo después de eliminar las condiciones de error.

Se registran las condiciones que no se consideran errores. Muchas se notifican como advertencias, y la ejecución del script continúa. Por ejemplo, los tipos de aplicación no compatibles se notifican como advertencias y no se importan. Las aplicaciones que ya existen en el sitio de XenApp 7.6 no se importan. Las configuraciones de directiva retiradas de XenApp 7.6 no se importan.

Los scripts de migración usan muchos cmdlets de PowerShell y puede ser que no se registren todos los errores posibles. Para obtener más información sobre la cobertura de registros, use las funciones de registros de PowerShell. Por ejemplo, las transcripciones de PowerShell registran todo lo que se imprime en pantalla. Para obtener más información, consulte la ayuda de los cmdlets Start-Transcript y Stop-Transcript.

Requisitos, preparación y procedimientos recomendados

Para migrar, debe usar el SDK de Citrix XenApp 6.5. Descargue ese SDK desde https://www.citrix.com/downloads/xenapp/sdks/powershell-sdk.html.

Consulte este artículo antes de iniciar una migración.

Debe comprender los conceptos básicos de PowerShell. Aunque no es necesario tener una amplia experiencia en creación de scripts, debe entender los cmdlets que ejecuta. Use el cmdlet Get-Help para consultar la ayuda de cada cmdlet de migración antes de ejecutarlo. Por ejemplo: Get-Help -full Import-XAFarm.

Especifique un archivo de registros en la línea de comandos y consulte siempre el archivo de registros después de ejecutar el cmdlet. Si un script falla, compruebe y corrija el error identificado en el archivo de registros y, a continuación, ejecute el cmdlet de nuevo.

Información útil:

  • Para facilitar la entrega de aplicaciones mientras hay dos implementaciones ejecutándose (la comunidad de XenApp 6.x y el nuevo sitio de XenApp 7.6), puede realizar un agregado de ambas implementaciones en StoreFront o la Interfaz Web. Consulte la documentación de producto de la versión de StoreFront o Interfaz Web que esté usando (Administración > Crear un almacén).
  • Los datos de iconos de las aplicaciones se pueden gestionar de dos formas:
  • Si especifica el parámetro EmbedIconData en el cmdlet Export-XAFarm, los datos de iconos de aplicaciones se incrustan en el archivo XML.
  • Si no especifica el parámetro EmbedIconData en el cmdlet Export-XAFarm, los datos de iconos de aplicaciones exportados se almacenan en una carpeta cuyo nombre se forma al agregar la cadena -icons al nombre básico del archivo XML de salida. Por ejemplo, si el parámetro XmlOutputFile es FarmData.xml, se crea la carpeta FarmData-icons para almacenar los iconos de aplicaciones.

    Los archivos de datos de iconos de esta carpeta son archivos .txt que se nombran a partir del nombre del explorador de la aplicación publicada. Aunque los archivos son archivos .txt, los datos almacenados son datos de iconos binarios codificados que el script de importación puede leer para volver a crear el icono de la aplicación. Durante la operación de importación, si la carpeta de iconos no se encuentra en la misma ubicación que el archivo XML de importación, se usan iconos genéricos para cada aplicación importada.

  • Los nombres de los módulos de script, archivos de manifiesto, módulo compartido y cmdlets son similares. Ponga cuidado al utilizar el procedimiento de completar con tabulador, para evitar errores. Por ejemplo, Export-XAFarm es un cmdlet. ExportXAFarm.psd1 y ExportXAFarm.psm1 son archivos que no se pueden ejecutar.
  • En las secciones sobre los pasos a seguir, la mayoría de los valores de parámetro de <string> van entre comillas. Estas son optativas si la cadena solo es de una palabra.

Para exportar desde el servidor XenApp 6.x:

  • La exportación debe ejecutarse en un servidor XenApp 6.x configurado con el modo de servidor Controller y host de sesión (comúnmente llamado Controller).
  • Para ejecutar los cmdlets de exportación, hay que ser un administrador XenApp con permisos para leer objetos. También debe tener suficientes permisos de Windows para ejecutar scripts de PowerShell. Los procedimientos detallados contienen instrucciones.
  • Asegúrese de que el estado de integridad de la comunidad XenApp 6.x es correcto antes de comenzar una exportación. Haga una copia de seguridad de la base de datos de la comunidad. Verifique la integridad de la comunidad mediante la herramienta Citrix IMA Helper (CTX133983): en la ficha IMA Datastore, ejecute Master Check (y, a continuación, use la opción DSCheck para resolver las entradas no válidas). Repare cualquier problema que haya en la comunidad, antes de realizar la migración, para evitar fallos de exportación.

    Por ejemplo, si un servidor no se quitó correctamente de la comunidad, es posible que sus datos sigan existiendo en la base de datos; esto puede hacer que fallen los cmdlets del script de exportación (por ejemplo, Get-XAServer -ZoneName). Si los cmdlets fallan, el script falla.

  • Puede ejecutar los cmdlets de exportación en una comunidad activa que tenga conexiones de usuario activas. Los scripts de exportación solo leen la configuración de comunidad estática y los datos de directiva.

Para importar en el servidor XenApp 7.6:

  • Puede importar datos a las implementaciones de XenApp 7.6 (y versiones posteriores admitidas). Debe instalar un Controller de XenApp 7.6 y Studio, y crear un sitio, antes de importar los datos exportados desde la comunidad XenApp 6.x. Aunque los VDA no son necesarios para importar configuraciones, permiten que los tipos de archivo de las aplicaciones estén disponibles.
  • Para ejecutar los cmdlets de importación de XenApp, debe ser un administrador de XenApp con permisos para leer y crear objetos. Un administrador total tiene estos permisos. También debe tener suficientes permisos de Windows para ejecutar scripts de PowerShell. Los procedimientos detallados contienen instrucciones.
  • No tenga ninguna otra conexión de usuario activa durante una importación. Los scripts de importación crean muchos objetos y es posible que se produzcan interrupciones si hay otros usuarios cambiando la configuración al mismo tiempo.

Recuerde que puede exportar datos y, a continuación, usar el parámetro -Preview con los cmdlets de importación para obtener una vista previa de lo que sucedería durante una importación real, sin importar nada todavía. Los registros indican exactamente lo que sucedería durante una importación real. Si se producen errores, puede resolverlos antes de iniciar una importación real.

Exportar datos: paso a paso

Complete los siguientes pasos para exportar datos desde un Controller de XenApp 6.x a archivos XML.

  1. Descargue el paquete de la herramienta de migración XAMigration.zip desde el sitio de descargas de Citrix. Para mayor comodidad, colóquelo en un recurso compartido de archivos en la red, al que tengan acceso tanto la comunidad XenApp 6.x como el sitio XenApp 7.6. Descomprima XAMigration.zip en el recurso compartido de archivos de red. Hay dos archivos zip: ReadIMA.zip e ImportFMA.zip.

  2. Inicie la sesión en el Controller de XenApp 6.x como un administrador de XenApp con, al menos, permiso de solo lectura y permisos de Windows para ejecutar scripts de PowerShell.

  3. Copie ReadIMA.zip desde el recurso compartido de archivos de la red al Controller de XenApp 6.x. Descomprima y extraiga ReadIMA.zip del Controller en una carpeta (por ejemplo: C:\XAMigration).

  4. Abra una consola de PowerShell y establezca como directorio actual el directorio donde se encuentran los scripts (por ejemplo: cd C:\XAMigration).

  5. Ejecute Get-ExecutionPolicy para consultar la directiva de ejecución de scripts.

  6. Establezca la directiva de ejecución de scripts en, al menos, RemoteSigned para permitir que se ejecuten los scripts (por ejemplo: Set-ExecutionPolicy RemoteSigned).

  7. Importe los archivos de definición de módulos ExportPolicy.psd1 y ExportXAFarm.psd1:

    Import-Module .\ExportPolicy.psd1

    Import-Module .\ExportXAFarm.psd1

    Información útil:

    • Si va a exportar solo datos de directivas, importe solo el archivo de definición de módulos ExportPolicy.psd1. Del mismo modo, si va a importar solo los datos de la comunidad, importe solo ExportXAFarm.psd1.
    • Al importar los archivos de definición de módulos también se agregan los complementos de PowerShell requeridos.
    • No importe los archivos de script .psm1.
  8. Para exportar datos de directivas, ejecute el cmdlet Export-Policy.

    Parámetro Descripción
    -XmlOutputFile “.xml" Nombre del archivo de salida XML. Este archivo contiene los datos exportados. Debe tener la extensión .xml. El archivo no debe existir previamente, pero si se especifica una ruta, la ruta sí debe existir. Valor predeterminado: None. Este parámetro es obligatorio.
    -LogFile “" El nombre del archivo de registros. La extensión es optativa. Si aún no existe, el archivo se creará. Si el archivo existe y también se especifica el parámetro NoClobber, se genera un error. De lo contrario, se sobrescribirá el contenido del archivo. Valor predeterminado: Consulte Capturar registros y controlar errores.
    -NoLog No se generan registros. Este parámetro anula el parámetro LogFile si ambos están especificados. Valor predeterminado: False. Se generan registros.
    -NoClobber No sobrescribir el archivo de registros existente especificado en el parámetro LogFile. Si el archivo de registros no existe, este parámetro no tiene ningún efecto. Valor predeterminado: False. Se sobrescribe un archivo de registros existente.
    -NoDetails No enviar a la consola informes detallados acerca de la ejecución de los scripts. Valor predeterminado: False. Se envían informes detallados a la consola.
    -SuppressLogo No imprimir el mensaje XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm# en la consola. Este mensaje, que identifica la versión del script, puede resultar útil durante la solución de problemas. Por lo tanto, Citrix recomienda omitir este parámetro. Valor predeterminado: False. El mensaje se imprime en la consola.

    Ejemplo: El cmdlet siguiente exporta la información sobre directivas al archivo XML denominado MyPolicies. La operación genera registros que se guardan en el archivo MyPolicies.log.

    Export-Policy -XmlOutputFile ".\MyPolicies.XML" -LogFile ".\MyPolicies.Log"
    <!--NeedCopy-->
    
  9. Para exportar los datos de la comunidad, ejecute el cmdlet Export-XAFarm; deberá especificar un archivo de registros y un archivo XML.

Parámetro Descripción
-XmlOutputFile “.xml" Nombre del archivo de salida XML. Este archivo contiene los datos exportados. Debe tener la extensión .xml. El archivo no debe existir previamente, pero si se especifica una ruta, la ruta sí debe existir. Valor predeterminado: None. Este parámetro es obligatorio.
-LogFile “" El nombre del archivo de registros. La extensión es optativa. Si aún no existe, el archivo se creará. Si el archivo existe y también se especifica el parámetro NoClobber, se genera un error. De lo contrario, se sobrescribirá el contenido del archivo. Valor predeterminado: Consulte Capturar registros y controlar errores.
-NoLog No se generan registros. Este parámetro supedita al parámetro LogFile si ambos están especificados. Valor predeterminado: False. Se generan registros.
-NoClobber No sobrescribir el archivo de registros existente especificado en el parámetro LogFile. Si el archivo de registros no existe, este parámetro no tiene ningún efecto. Valor predeterminado: False. Se sobrescribe un archivo de registros existente.
-NoDetails No enviar a la consola informes detallados acerca de la ejecución de los scripts. Valor predeterminado: False. Se envían informes detallados a la consola.
-SuppressLogo No imprimir el mensaje XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm# en la consola. Este mensaje, que identifica la versión del script, puede resultar útil durante la solución de problemas. Por lo tanto, Citrix recomienda omitir este parámetro. Valor predeterminado: False. El mensaje se imprime en la consola.
-IgnoreAdmins No exportar la información de administradores. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: False. Se exporta la información de administradores.
-IgnoreApps No exportar información de aplicaciones. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: False. Se exporta la información de aplicaciones.
-IgnoreServers No exportar información de servidores. Valor predeterminado: False. Se exporta la información de servidores.
-IgnoreZones No exportar información de zonas. Valor predeterminado: False. Se exporta la información de zonas.
-IgnoreOthers No exportar otros tipos de información como el registro de configuración, los patrones de carga, las directivas de equilibrio de carga, los controladores de impresora y los grupos de trabajo. Valor predeterminado: False. Se exporta otra información. Nota: Este botón le permite continuar con una exportación cuando se produce un error que no afectaría a los datos reales que se utilizan para el proceso de exportación o importación.
-AppLimit Cantidad de aplicaciones a exportar. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: Se exportan todas las aplicaciones
-EmbedIconData Incrustar los datos de iconos de aplicaciones en el mismo archivo XML donde están los otros objetos. Valor predeterminado: los iconos se guardan por separado. Para obtener información detallada, consulte Requisitos, preparación y procedimientos recomendados.
-SkipApps Cantidad de aplicaciones a omitir. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se omite ninguna aplicación.
Example: The following cmdlet exports farm information to the XML file named MyFarm.xml. The operation is logged to the file MyFarm.log. A folder named "MyFarm-icons" is created to store the application icon data files. This folder is at the same location as MyFarm.XML.

`Export-XAFarm -XmlOutputFile ".\MyFarm.XML" -LogFile ".\MyFarm.Log"`

Una vez ejecutados los scripts de exportación, los archivos XML especificados en las líneas de comandos contienen los datos de la comunidad XenApp y las directivas. Los archivos de iconos de aplicaciones contienen archivos de datos de icono, y el archivo de registros indica qué ocurrió durante la exportación.

Importar datos: paso a paso

Recuerde que puede ejecutar una importación de prueba (al ejecutar el cmdlet Import-Policy o Import-XAFarm con el parámetro Preview). A continuación, puede revisar los archivos de registros antes de realizar una importación real.

Complete los siguientes pasos para importar datos a un sitio de XenApp 7.6, mediante los archivos XML generados en la exportación.

  1. Inicie una sesión en el Controller de XenApp 7.6 como administrador con permisos de lectura/escritura y con permisos Windows para ejecutar scripts de PowerShell.

  2. Si aún no ha descomprimido el paquete de la herramienta de migración XAMigration en el recurso compartido de archivos de la red, descomprímalo ahora. Copie ImportFMA.zip desde el recurso compartido de archivos de la red al Controller de XenApp 7.6. Descomprima y extraiga ImportFMA.zip del Controller en una carpeta (por ejemplo: C:\XAMigration).

  3. Copie los archivos XML (los archivos de salida generados durante la exportación) desde el Controller de XenApp 6.x a la misma ubicación del Controller de XenApp 7.6 donde extrajo los archivos de ImportFMA.zip.

    Si eligió no incrustar los datos de iconos de aplicaciones en el archivo XML de salida al ejecutar Export-XAFarm, copie la carpeta y los archivos de los datos de iconos en la misma ubicación del Controller de XenApp 7.6 donde ya se encuentra el archivo XML de salida que contiene los datos de aplicaciones y los archivos extraídos de ImportFMA.zip.

  4. Abra una consola de PowerShell y establezca como directorio actual el directorio donde se encuentran los scripts (por ejemplo: cd C:\XAMigration).

  5. Ejecute Get-ExecutionPolicy para consultar la directiva de ejecución de scripts.

  6. Establezca la directiva de ejecución de scripts en, al menos, RemoteSigned para permitir que se ejecuten los scripts (por ejemplo: Set-ExecutionPolicy RemoteSigned).

  7. Importe los archivos de definición de módulos de PowerShell ImportPolicy.psd1 e ImportXAFarm.psd1:

    Import-Module .\ImportPolicy.psd1

    Import-Module .\ImportXAFarm.psd1

    Información útil:

    • Si piensa importar solamente datos de directivas, importe solo el archivo de definición de módulos ImportPolicy.psd1. Del mismo modo, si piensa importar solo los datos de comunidad, importe solo ImportXAFarm.psd1.
    • Al importar los archivos de definición de módulos también se agregan los complementos de PowerShell requeridos.
    • No importe los archivos de script .psm1.
  8. Para importar datos de directivas, ejecute el cmdlet Import-Policy; deberá especificar el archivo XML que contiene los datos exportados de las directivas.

    Parámetro Descripción
    -XmlInputFile “.xml" Nombre del archivo de entrada XML. Este archivo contiene datos recopilados al ejecutar el cmdlet Export-Policy. Debe tener la extensión .xml. Valor predeterminado: None. Este parámetro es obligatorio.
    -XsdFile “" Nombre del archivo XSD. Los scripts de importación usan este archivo para validar la sintaxis del archivo XML de entrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: PolicyData.XSD
    -LogFile “" El nombre del archivo de registros. Si copió los archivos de registros de exportación en este servidor, use un nombre de archivo distinto para los registros del cmdlet de importación. Valor predeterminado: Consulte Capturar registros y controlar errores.
    -NoLog No se generan registros. Este parámetro anula el parámetro LogFile si ambos están especificados. Valor predeterminado: False. Se generan registros.
    -NoClobber No sobrescribir el archivo de registros existente especificado en el parámetro LogFile. Si el archivo de registros no existe, este parámetro no tiene ningún efecto. Valor predeterminado: False. Se sobrescribe un archivo de registros existente.
    -NoDetails No enviar a la consola informes detallados acerca de la ejecución de los scripts. Valor predeterminado: False. Se envían informes detallados a la consola.
    -SuppressLogo No imprimir el mensaje XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm# en la consola. Este mensaje, que identifica la versión del script, puede resultar útil durante la solución de problemas. Por lo tanto, Citrix recomienda omitir este parámetro. Valor predeterminado: False. El mensaje se imprime en la consola.
    -Preview Realizar una vista previa de la importación: leer los datos del archivo XML de entrada, pero sin importar los objetos en el sitio. El archivo de registros y la consola indican qué ocurre durante la vista previa de la importación. La vista previa muestra a los administradores lo que sucedería durante una importación real. Valor predeterminado: False. Se produce una importación real.

    Ejemplo: Este cmdlet importa datos sobre directivas desde el archivo XML denominado MyPolcies.xml. La operación genera registros que se guardan en el archivo MyPolicies.log.

    Import-Policy -XmlInputFile ".\MyPolicies.XML"
    -LogFile ".\MyPolicies.Log"
    <!--NeedCopy-->
    
  9. Para importar aplicaciones, ejecute el cmdlet Import-XAFarm; deberá especificar un archivo de registros y el archivo XML que contiene los datos exportados de la comunidad de servidores.

    Parámetro Descripción
    -XmlInputFile “.xml" Nombre del archivo de entrada XML. Este archivo contiene datos recopilados al ejecutar el cmdlet Export-XAFarm. Debe tener la extensión .xml. Valor predeterminado: None. Este parámetro es obligatorio.
    -XsdFile “" Nombre del archivo XSD. Los scripts de importación usan este archivo para validar la sintaxis del archivo XML de entrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: XAFarmData.XSD
    -LogFile “" El nombre del archivo de registros. Si copió los archivos de registros de exportación en este servidor, use un nombre de archivo distinto para los registros del cmdlet de importación. Valor predeterminado: Consulte Capturar registros y controlar errores.
    -NoLog No se generan registros. Este parámetro anula el parámetro LogFile si ambos están especificados. Valor predeterminado: False. Se generan registros.
    -NoClobber No sobrescribir el archivo de registros existente especificado en el parámetro LogFile. Si el archivo de registros no existe, este parámetro no tiene ningún efecto. Valor predeterminado: False. Se sobrescribe un archivo de registros existente.
    -NoDetails No enviar a la consola informes detallados acerca de la ejecución de los scripts. Valor predeterminado: False. Se envían informes detallados a la consola.
    -SuppressLogo No imprimir el mensaje XenApp 6.x to XenApp/XenDesktop 7.6 Migration Tool Version #yyyyMMdd-hhmm# en la consola. Este mensaje, que identifica la versión del script, puede resultar útil durante la solución de problemas. Por lo tanto, Citrix recomienda omitir este parámetro. Valor predeterminado: False. El mensaje se imprime en la consola.
    -Preview Realizar una vista previa de la importación: leer los datos del archivo XML de entrada, pero sin importar los objetos en el sitio. El archivo de registros y la consola indican qué ocurre durante la vista previa de la importación. La vista previa muestra a los administradores lo que sucedería durante una importación real. Valor predeterminado: False. Se produce una importación real.
    -DeliveryGroupName “" Nombre del grupo de entrega para todas las aplicaciones importadas. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: “ -Delivery Group”
    -MatchFolder “" Importar solo las aplicaciones que se encuentran en carpetas cuyos nombres coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -NotMatchFolder “" Importar solo las aplicaciones que se encuentran en carpetas cuyos nombres no coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -MatchServer “" Importar solo las aplicaciones que se encuentran en servidores cuyos nombres coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso.
    -NotMatchServer “" Importar solo las aplicaciones que se encuentran en servidores cuyos nombres no coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -MatchWorkerGroup “" Importar solo las aplicaciones publicadas para grupos de trabajo cuyos nombres coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -NotMatchWorkerGroup “" Importar solo las aplicaciones publicadas para grupos de trabajo cuyos nombres no coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -MatchAccount “" Importar solo las aplicaciones publicadas para cuentas de usuarios cuyos nombres coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -NotMatchAccount “" Importar solo las aplicaciones publicadas para cuentas de usuarios cuyos nombres no coinciden con la cadena suministrada. Consulte Uso avanzado para obtener información acerca del uso. Valor predeterminado: No se realiza ninguna búsqueda de coincidencias.
    -IncludeStreamedApps Importar aplicaciones de tipo StreamedToClientOrServerInstalled (no se importan otras aplicaciones distribuidas por streaming). Valor predeterminado: Las aplicaciones distribuidas por streaming no se importan.
    -IncludeDisabledApps Importar aplicaciones que se han marcado como inhabilitadas. Valor predeterminado: Las aplicaciones inhabilitadas no se importan.

    Ejemplo: El cmdlet siguiente importa aplicaciones desde el archivo XML denominado MyFarm.xml. La operación genera registros que se guardan en el archivo MyFarm.log.

    Import-XAFarm -XmlInputFile ".\MyFarm.XML"
    -LogFile ".\MyFarm.Log"
    
    <!--NeedCopy-->
    
  10. Una vez completada correctamente la migración, hay que realizar las tareas posteriores a la migración.

Tareas posteriores a la migración

Una vez importadas las directivas y la configuración de la comunidad de XenApp 6.x en un sitio de XenApp 7.6, siga las siguientes instrucciones para asegurarse de que los datos se han importado correctamente.

Directivas y configuraciones de directivas

La importación de directivas es fundamentalmente una operación de copia, con la excepción de las directivas y configuraciones que se han retirado y, por tanto, no se importan. La comprobación posterior a la migración consiste en comparar ambas partes.

  1. El archivo de registros enumera todas las directivas y las configuraciones de directiva que se han importado y que se han omitido. Primero, revise el archivo de registros e identifique qué configuraciones y directivas no se importaron.

  2. Compare las directivas de XenApp 6.x con las directivas importadas en XenApp 7.6. No cambie los valores de las configuraciones (excepto en el caso de las configuraciones retiradas, como se indica en el paso siguiente).

    • Si tiene pocas directivas, puede realizar una comparación visual entre las directivas que aparecen en AppCenter en XenApp 6.x y las directivas que aparecen en Studio en XenApp 7.6.
    • Si tiene muchas directivas, es posible que no pueda realizar una comparación visual. En estos casos, use el cmdlet de exportación de directivas (Export-Policy) para exportar las directivas de XenApp 7.6 a un archivo XML diferente y, a continuación, use una herramienta de comparación de texto (como windiff) para comparar los datos de ese archivo con los datos que aparecen en el archivo XML usado durante la exportación de directivas desde XenApp 6.x.
  3. Use la información de la sección Configuraciones de directivas que no se importan para determinar qué puede haber cambiado durante la importación. Si una directiva de XenApp 6.x solo contiene configuraciones retiradas, la directiva no se importará. Por ejemplo, si una directiva de XenApp 6.x solo contiene configuraciones de pruebas de HMR, dicha directiva se omitirá porque no hay ninguna configuración equivalente admitida en XenApp 7.6.

    Algunas configuraciones de directiva de XenApp 6.x ya no se admiten, pero la funcionalidad equivalente está implementada en XenApp 7.6. Por ejemplo, en XenApp 7.6, puede configurar una programación de reinicios para las máquinas con sistema operativo de servidor mediante la modificación de un grupo de entrega. Antes, esta funcionalidad se implementaba a través de configuraciones de directivas.

  4. Revise y confirme cómo se aplican los filtros al sitio de XenApp 7.6 en comparación con su uso en XenApp 6.x. Es posible que las diferencias significativas entre la comunidad de XenApp 6.x y el sitio de XenApp 7.6 cambien el efecto de los filtros.

Filtros

Examine con cuidado los filtros para cada directiva. Es posible que se necesiten cambios para asegurarse de que funcionen en XenApp 7.6 como funcionaban originalmente en XenApp 6.x.

Filtrar Consideraciones
Control de acceso Por lo general, el control de acceso contiene los mismos valores que los filtros originales de XenApp 6.x y funciona sin requerir cambios.
Citrix CloudBridge Un booleano simple. Suele funcionar sin necesidad de cambios (ahora, este producto se denomina NetScaler SD-WAN).
Dirección IP del cliente Muestra intervalos de direcciones IP del cliente. Cada intervalo está permitido o denegado. El script de importación conserva los valores, pero puede ser necesario hacer cambios si diferentes clientes se conectan a las máquinas VDA de XenApp 7.6.
Nombre del cliente Al igual que sucede con el filtro de dirección IP de cliente, el script de importación conserva los valores, pero es posible que se necesiten cambios si diferentes clientes se conectan a las máquinas VDA de XenApp 7.6.
Unidad organizativa Es posible que los valores se conserven según si las OU se pueden resolver en el momento de la importación. Revise cuidadosamente este filtro, especialmente si las máquinas de XenApp 6.x y de XenApp 7.6 residen en dominios diferentes. Si no se configuran los valores de filtro correctamente, es posible que la directiva se aplique a un conjunto incorrecto de unidades organizativas. Las unidades organizativas están representadas solo por nombres, por lo que existe la posibilidad de que el nombre de una unidad organizativa se resuelva incorrectamente con una unidad organizativa distinta que contenga miembros diferentes de unidades organizativas del dominio de XenApp 6.x. Incluso aunque se conserven algunos valores del filtro de unidad organizativa, revise atentamente esos valores.
Usuario o grupo Es posible que los valores se conserven según si las cuentas se pueden resolver en el momento de la importación. Al igual que ocurre con las unidades organizativas, las cuentas se resuelven mediante solo sus nombres. Por lo tanto, si el sitio de XenApp 7.6 tiene un dominio con el mismo nombre y los mismos nombres de usuario, pero en realidad se trata de dos dominios y conjuntos de usuarios distintos, es posible que las cuentas resueltas sean diferentes de los usuarios de dominio de XenApp 6.x. Si no se revisan y modifican los valores de los filtros según sea necesario, las directivas pueden aplicarse incorrectamente.
Grupo de trabajo Los grupos de trabajo no se admiten en XenApp 7.6. Considere la posibilidad de usar filtros de Grupo de entrega, Tipo de grupo de entrega y Etiqueta, que sí se admiten en XenApp 7.6 (no en XenApp 6.x). Grupo de entrega: Permite aplicar directivas basadas en grupos de entrega. Cada entrada de filtro especifica un grupo de entrega y puede permitirse o denegarse. Tipo de grupo de entrega: Permite aplicar directivas basadas en tipos de grupos de entrega. Cada filtro especifica un tipo de grupo de entrega, que puede permitirse o denegarse. Etiqueta: Especifica la aplicación de directivas basándose en etiquetas creadas para las máquinas VDA. Cada etiqueta se puede permitir o denegar.

En resumen, los filtros relacionados con cambios de usuarios de dominio necesitan más atención si la comunidad XenApp 6.x y el sitio XenApp 7.6 están en dominios diferentes. Debido a que el script de importación solo utiliza cadenas de nombres de dominio y de nombres de usuario para resolver los usuarios en el nuevo dominio, es posible que algunas de las cuentas se resuelvan correctamente. Aunque solo exista una pequeña posibilidad de que los distintos dominios y usuarios tengan los mismos nombres, revise cuidadosamente estos filtros para asegurarse de que contienen los valores correctos.

Aplicaciones

Los scripts de importación de aplicaciones no solo importan aplicaciones. También crean objetos como grupos de entrega. Si la importación de aplicaciones se realiza en varias iteraciones, la jerarquía de las carpetas de aplicaciones original puede cambiar considerablemente.

  1. Primero, lea los archivos de registros de la migración, que contienen detalles sobre qué aplicaciones se importaron y cuáles se omitieron, y los cmdlets que se usaron para crear las aplicaciones.
  2. Para cada aplicación:
    • Compruebe visualmente que se conservaron sus propiedades básicas durante la importación. Use la información en la sección Asignación de propiedades de aplicaciones para determinar qué propiedades se importaron sin cambios, cuáles no se importaron y cuáles se inicializaron con los datos de aplicación de XenApp 6.x.
    • Compruebe la lista de usuarios. El script de importación importa automáticamente la lista explícita de usuarios en la lista “Limitar visibilidad” de la aplicación en XenApp 7.6. Compruebe que la lista queda igual.
  3. Los servidores de aplicaciones no se importan. Esto significa que no se puede acceder todavía a ninguna de las aplicaciones importadas. Es necesario asignar catálogos de máquinas a los grupos de entrega que contienen estas aplicaciones. Los catálogos contienen las máquinas que tienen las imágenes ejecutables de las aplicaciones publicadas. Para cada aplicación:
    • Asegúrese de que el nombre del archivo ejecutable y el directorio de trabajo hacen referencia a un ejecutable que existe en las máquinas asignadas al grupo de entrega (a través de los catálogos de máquinas).
    • Compruebe un parámetro de línea de comandos (que puede ser cualquier cosa como, por ejemplo, un nombre de archivo, una variable de entorno o el nombre del ejecutable). Verifique que el parámetro es válido para todas las máquinas de los catálogos de máquinas asignadas al grupo de entrega.

Archivos de registros

Los archivos de registros son el recurso de referencia más importante durante las operaciones de importación y exportación. Esta es la razón por la cual los archivos de registros existentes no se sobrescriben de forma predeterminada y los nombres de los archivos de registros predeterminados son únicos.

Como se indica en Capturar registros y controlar errores, si usa una captura de registros adicional con los cmdlets de PowerShell Start-Transcript y Stop-Transcript (que registran todo lo que se escribe y se imprime en la consola), sus resultados, junto con el archivo de registros, ofrecen una referencia completa de toda la actividad de importación y exportación.

Gracias a las marcas de hora incluidas en los archivos de registros se pueden diagnosticar ciertos problemas. Por ejemplo, si una exportación o importación tardó tiempo en ejecutarse, se puede averiguar si la causa fue una conexión de base de datos defectuosa o algún problema al resolver las cuentas de usuario.

Los comandos grabados en los archivos de registros también indican cómo se leen o se crean algunos objetos. Por ejemplo, para crear un grupo de entrega, varios comandos no solo crean el objeto del grupo de entrega, sino también otros objetos, como, por ejemplo, reglas de directivas de acceso, que permiten asignar objetos de aplicación al grupo de entrega.

El archivo de registros se puede usar también para diagnosticar un fallo de importación o exportación. Por lo general, las últimas líneas del archivo de registros indican qué causó el error. El mensaje del error también se guarda en el archivo de registros. Junto con el archivo XML, el archivo de registros se puede usar para determinar qué objeto estuvo implicado en el fallo.

Después de revisar y hacer pruebas en la migración:

  1. Actualice sus servidores de trabajo XenApp 6.5 con los VDA (Virtual Delivery Agent) actuales ejecutando el instalador de la versión 7.6 en el servidor, lo que quitará el software de XenApp 6.5 e instalará automáticamente el VDA actualizado. Para obtener instrucciones al respecto, consulte Actualización de un servidor de trabajo de XenApp 6.5 a un nuevo VDA para SO de servidor Windows.

    En el caso de servidores de trabajo con XenApp 6.0, es necesario desinstalar manualmente el software de XenApp 6.0 del servidor. A continuación, puede usar el instalador de la versión 7.6 para instalar el VDA actual. No se puede usar el instalador de la versión 7.6 para quitar automáticamente el software de XenApp 6.0.

  2. En Studio, en el nuevo sitio de XenApp, cree catálogos de máquinas (o modifique los catálogos existentes) para los servidores de trabajo actualizados.

  3. Agregue las máquinas actualizadas desde el catálogo de máquinas a los grupos de entrega que contengan las aplicaciones instaladas en los VDA para SO de servidor Windows.

Uso avanzado

De forma predeterminada, el cmdlet Export-Policy exporta todos los datos de directiva a un archivo XML. Del mismo modo, Export-XAFarm exporta todos los datos de comunidad a un archivo XML. Se pueden usar parámetros de línea de comandos para controlar con más detalle qué se exporta y se importa.

Exportar aplicaciones parcialmente

Si tiene muchas aplicaciones y quiere controlar cuántas de ellas se exportan al archivo XML, use los parámetros siguientes:

  • AppLimit: Especifica la cantidad de aplicaciones que exportar.
  • SkipApps: Especifica la cantidad de aplicaciones que omitir antes de exportar las aplicaciones subsiguientes.

Puede usar ambos parámetros para exportar una gran cantidad de aplicaciones en fragmentos más manejables. Por ejemplo, supongamos que la primera vez que ejecuta Export-XAFarm desea exportar solo las primeras 200 aplicaciones; para ello, especifica ese valor en el parámetro AppLimit.

Export-XAFarm -XmlOutputFile "Apps1-200.xml"
-AppLimit "200"
<!--NeedCopy-->

La próxima vez que ejecute Export-XAFarm, querrá exportar las siguientes 100 aplicaciones. Por lo tanto, utilice el parámetro SkipApps para ignorar las aplicaciones que ya exportó (las primeras 200) y el parámetro AppLimit para exportar las siguientes 100 aplicaciones.

Export-XAFarm -XmlOutputFile "Apps201-300.xml"
-AppLimit "100" -SkipApps "200"
<!--NeedCopy-->

No exportar determinados objetos

Algunos objetos pueden omitirse y no es necesario exportarlos, como es el caso, en particular, de los objetos que no se importan. Consulte Configuración de directivas que no se importan y Asignación de propiedades de aplicaciones. Utilice los siguientes parámetros para evitar que se exporten objetos innecesarios:

  • IgnoreAdmins: No exportar objetos de administrador
  • IgnoreServers: No exportar objetos de servidor
  • IgnoreZones: No exportar objetos de zona
  • IgnoreOthers: No exportar objetos de registro de configuración, patrones de carga, directivas de equilibrio de carga, controladores de impresora y grupos de trabajo.
  • IgnoreApps: No exportar aplicaciones Este parámetro permite exportar otros datos a un archivo XML de salida y, a continuación, ejecutar de nuevo la exportación para exportar las aplicaciones a otro archivo XML de salida.

También se puede usar estos parámetros para solucionar los problemas que podrían provocar el fallo de la exportación. Por ejemplo, si tiene un servidor defectuoso en una zona, es posible que la exportación de zona falle. Si incluye el parámetro IgnoreZones, la exportación continúa con otros objetos.

Nombres de grupo de entrega

Si no quiere incluir todas las aplicaciones en un mismo grupo de entrega (por ejemplo, porque acceden a ellas diferentes conjuntos de usuarios y están publicadas en diferentes conjuntos de servidores), puede ejecutar Import-XAFarm varias veces, especificando distintas aplicaciones y un grupo de entrega diferente cada vez. Aunque se pueden usar cmdlets de PowerShell para mover las aplicaciones desde un grupo de entrega a otro después de la migración, la importación selectiva en grupos de entrega determinados puede reducir o eliminar el esfuerzo de mover las aplicaciones más tarde.

  • Use el parámetro DeliveryGroupName con el cmdlet Import-XAFarm. El script crea el grupo de entrega especificado si éste no existe.
  • Utilice los siguientes parámetros con expresiones regulares para filtrar las aplicaciones que se importan en el grupo de entrega, en función de carpetas, grupos de trabajo, cuentas de usuario y nombres de servidores. Se recomienda poner la expresión regular entre comillas simples o dobles. Para obtener información sobre expresiones regulares, consulte https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expressions.

    • MatchWorkerGroup y NotMatchWorkerGroup: Por ejemplo, para aplicaciones publicadas en grupos de trabajo, el siguiente cmdlet importa las aplicaciones del grupo de trabajo llamado Productivity Apps en un grupo de entrega de XenApp 7.6 con el mismo nombre:

       Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchWorkerGroup ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps
       <!--NeedCopy-->
      
    • MatchFolder y NotMatchFolde: Por ejemplo, para aplicaciones organizadas en carpetas, el siguiente cmdlet importa las aplicaciones de la carpeta Productivity Apps en un grupo de entrega de XenApp 7.6 con el mismo nombre.

       Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchFolder ‘Productivity Apps’ –DeliveryGroupName ‘Productivity Apps’
       <!--NeedCopy-->
      

      Por ejemplo, el siguiente cmdlet importa en el grupo de entrega predeterminado todas aquellas aplicaciones de cualquier carpeta cuyo nombre contenga MS Office Apps.

       Import-XAFarm -XmlInputFile .\THeFarmApps.XML -MatchFolder ".\*/MS Office Apps/.\*"
       <!--NeedCopy-->
      
    • MatchAccount y NotMatchAccount: Por ejemplo, para aplicaciones publicadas para usuarios y grupos de usuarios de Active Directory, el siguiente cmdlet importa las aplicaciones publicadas para el grupo de usuarios Finance Group en un grupo de entrega de XenApp 7.6 llamado Finance..

       Import-XAFarm –XmlInputFile XAFarm.xml –LogFile XAFarmImport.log –MatchAccount ‘DOMAIN\Finance Group’ –DeliveryGroupName ‘Finance’
       <!--NeedCopy-->
      
    • MatchServer y NotMatchServer: Por ejemplo, para las aplicaciones organizadas en servidores, el siguiente cmdlet importa las aplicaciones asociadas con el servidor no llamado Current en un grupo de entrega llamado Legacy..

       Import-XAFarm -XmlInputFile XAFarm.xml -LogFile XAFarmImport.log -NotMatchServer 'Current' -DeliveryGroupName 'Legacy'
       <!--NeedCopy-->
      

Personalización

Los programadores de PowerShell pueden crear sus propias herramientas. Por ejemplo, puede usar el script de exportación como una herramienta de inventario para realizar un rastreo de los cambios en una comunidad XenApp 6.x. También puede modificar los archivos XSD (o crear sus propios archivos XSD) para almacenar datos adicionales o datos en diferentes formatos en los archivos XML. Puede especificar un archivo XSD no predeterminado con cada uno de los cmdlets de importación.

Aunque se pueden modificar los archivos de scripts para ajustarse a requisitos de migración específicos o avanzados, la funcionalidad ofrecida se limita a los scripts no modificados. El servicio de asistencia técnica de Citrix le recomienda utilizar los scripts sin modificaciones, para determinar cuál es el comportamiento esperado y ofrecer asistencia técnica, si es necesario.

Solución de problemas

  • Si usa PowerShell 2.0 y agregó el complemento Citrix Group Policy PowerShell Provider o el complemento Citrix Common Commands mediante el cmdlet Add-PSSnapIn, es posible que aparezca el mensaje de error Object reference not set to an instance of an object cuando ejecute los cmdlets de importación o exportación. Este error no afecta a la ejecución del script y puede ignorarse.
  • Evite agregar o quitar el complemento Citrix Group Policy PowerShell Provider en la misma sesión de consola donde se usan los módulos de scripts de exportación e importación, porque esos módulos agregan automáticamente el complemento. Si agrega o quita el complemento por separado, puede que vea uno de los siguientes errores:

    • A drive with the name 'LocalGpo' already exists. Este error aparece cuando el complemento se agrega dos veces. El complemento intenta montar la unidad LocalGpo cuando se carga y, a continuación, notifica el error.
    • A parameter cannot be found that matches parameter name 'Controller'. Este error aparece cuando el complemento no ha sido agregado pero el script intenta montar la unidad. El script no tiene constancia de que el complemento se quitó. Cierre la consola e inicie una nueva sesión. En la nueva sesión, importe los módulos del script. No agregue ni quite el complemento por separado.
  • Al importar los módulos, si hace clic con el botón secundario en un archivo .psd1 y selecciona Abrir o Abrir con PowerShell, la ventana de la consola de PowerShell se abrirá y se cerrará rápidamente hasta que detenga el proceso. Para evitar este error, introduzca el nombre completo del módulo de scripts de PowerShell directamente en la ventana de la consola de PowerShell (por ejemplo, Import-Module .\ExportPolicy.psd1).
  • Si recibe un error de permisos al ejecutar una exportación o importación, asegúrese de que usted es un administrador de XenApp con permisos para leer objetos (para poder exportar), o para leer y crear objetos (para poder importar). También debe tener suficientes permisos de Windows para ejecutar scripts de PowerShell.
  • Si la exportación falla, compruebe si la comunidad de XenApp 6.x se encuentra en un estado correcto, ejecutando las utilidades DSMAINT y DSCHECK en el servidor de Controller de XenApp 6.x.
  • Si ejecuta una vista previa de la importación y luego ejecuta los cmdlets de importación de nuevo para una migración real, pero descubre que no se ha importado nada, compruebe si quitó el parámetro Preview de los cmdlets de importación.

Configuraciones de directivas que no se importan

Las siguientes configuraciones de directiva de usuario y de equipo no se importan porque ya no se admiten. Las directivas sin filtrar nunca se importan. Las funciones y los componentes que admiten estas configuraciones han sido reemplazadas por otras tecnologías y componentes nuevos, o estas configuraciones ya no se aplican debido a cambios de arquitectura y plataforma.

Configuraciones de directiva de equipo que no se importan

  • Control de acceso de las conexiones
  • Nivel de administración de CPU de servidor
  • Resolución de direcciones DNS
  • Farm name
  • Almacenamiento completo de iconos en caché
  • Supervisión de estado, Pruebas de supervisión de estado
  • Nombre de host del servidor de licencias, Puerto del servidor de licencias
  • Límite de sesiones de usuario, Límites de sesiones de administrador
  • Nombre del patrón de carga
  • Registro de sucesos de límites de inicios de sesión
  • Porcentaje máximo de servidores con control de inicio de sesión
  • Optimización de memoria, Lista de aplicaciones excluidas de la optimización de memoria, Intervalo de optimización de memoria, Programación de la optimización de memoria: día del mes, Programación de la optimización de memoria: día de la semana, Programación de la optimización de memoria: hora
  • Confianza en clientes de aplicaciones sin conexión, Registro de sucesos de aplicaciones sin conexión, Periodo de licencias de aplicaciones sin conexión, Usuarios de aplicaciones sin conexión
  • Pedir contraseña
  • Advertencia personalizada de reinicio, Texto personalizado de advertencia de reinicio, Hora de inhabilitación de inicios de sesión por reinicio, Frecuencia de reinicio programado, Intervalo de selección de hora de reinicio programado, Fecha de comienzo del reinicio programado, Hora del reinicio programado, Intervalo de advertencias de reinicio, Comienzo de advertencias de reinicio, Advertencia de reinicios para los usuarios, Reinicios programados
  • Remedo
  • Confiar en solicitudes XML (configurada en StoreFront)
  • Filtrado de direcciones de adaptador de IP virtual, Lista de programas para compatibilidad con IP virtual, Compatibilidad mejorada de IP virtual, Lista de programas para filtrado de direcciones de adaptador de IP virtual
  • Nombre de la carga de trabajo
  • Edición del producto XenApp, Modelo del producto XenApp
  • Puerto de XML Service

* Reemplazada por Asistencia remota de Windows

Configuraciones de directiva de usuario que no se importan

  • Conectar automáticamente puertos COM del cliente, Conectar automáticamente puertos LPT del cliente
  • Redirección de puertos COM del cliente, Redirección de puertos LPT del cliente
  • Nombres de impresora del cliente
  • Límite de sesiones simultáneas
  • Entradas de conexiones de remedo *
  • Intervalo de temporizador de desconexión de sesión persistente, Intervalo de temporizador de fin de sesión persistente
  • Registrar intentos de remedo *
  • Notificar al usuario sobre conexiones de remedo pendientes *
  • Intervalo de temporizador de desconexión de sesión de preinicio, Intervalo de temporizador de fin de sesión de preinicio
  • Importancia de la sesión
  • Single Sign-On, almacén central de Single Sign-On
  • Usuarios que pueden remedar a otros usuarios, Usuarios que no pueden remedar a otros usuarios *

* Reemplazada por Asistencia remota de Windows

Tipos de aplicaciones no importados

Los siguientes tipos de aplicación no se importan.

  • Escritorios de servidor
  • Contenido
  • Aplicaciones distribuidas por streaming (App-V es el nuevo método utilizado para la distribución de aplicaciones por streaming)

Asignación de propiedades de aplicaciones

El script para importar datos de comunidad solo importa aplicaciones. Las siguientes propiedades de aplicación se importan sin cambios.

Propiedad de IMA Propiedad de FMA
AddToClientDesktop ShortcutAddedToDesktop
AddToClientStartMenu ShortcutAddedToStartMenu
ClientFolder ClientFolder
CommandLineExecutable CommandLineExecutable
CpuPriorityLevel CpuPriorityLevel
Descripción Descripción
DisplayName PublishedName
Habilitado Habilitado
StartMenuFolder StartMenuFolder
WaitOnPrinterCreation WaitForPrinterCreation
WorkingDirectory WorkingDirectory
FolderPath AdminFolderName

IMA y FMA tienen restricciones diferentes en cuanto a la longitud de nombre de carpeta. En IMA, el límite de nombres de carpeta es de 256 caracteres. El límite de FMA es de 64 caracteres. Al realizar la importación, las aplicaciones cuya ruta de acceso contenga un nombre de carpeta de más de 64 caracteres se omitirán. El límite se aplica solo al nombre de la carpeta en la ruta de la carpeta. La ruta completa de la carpeta puede ser más larga que los límites indicados. Para evitar que se omitan aplicaciones durante la importación, Citrix recomienda comprobar la longitud del nombre de las carpetas de las aplicaciones, y acortarlos si es necesario antes de realizar la exportación.

Las siguientes propiedades de aplicación están inicializadas o no inicializadas de forma predeterminada, o están definidas con los valores proporcionados en los datos de XenApp 6.x:

Propiedad de FMA Valor
Nombre Inicializada con el nombre completo de la ruta, que contiene las propiedades de IMA FolderPath y DisplayName, pero sin la cadena inicial “Applications\”
ApplicationType HostedOnDesktop
CommandLineArguments Inicializada mediante argumentos de línea de comandos de XenApp 6.x
IconFromClient No inicializada; el valor predeterminado es false
IconUid Inicializada con un objeto de icono creado mediante los datos de iconos de XenApp 6.x
SecureCmdLineArgumentsEnabled No inicializada; el valor predeterminado es true
UserFilterEnabled No inicializada; el valor predeterminado es false
UUID Solo lectura, asignado por el Controller
Visible No inicializada; el valor predeterminado es true

Las siguientes propiedades de aplicación se migran parcialmente:

Propiedad de IMA Comentarios
FileTypes Solo se migran los tipos de archivos que ya existen en el nuevo sitio de XenApp. Aquellos tipos de archivo que no existan en el sitio nuevo se omiten. Los tipos de archivo se importan solo después de que se actualicen los tipos de archivo del sitio nuevo.
IconData Se crean nuevos objetos de icono si los datos de icono se han proporcionado para las aplicaciones exportadas.
Cuentas Las cuentas de usuario de una aplicación se dividen entre la lista de usuarios para el grupo de entrega y la aplicación. Los usuarios explícitos se usan para inicializar la lista de usuarios para la aplicación. Además, la cuenta “Usuarios de dominio” del dominio de las cuentas de usuario se agrega a la lista de usuarios para el grupo de entrega.

Las siguientes propiedades de XenApp 6.x no se importan:

Propiedad de IMA Comentarios
ApplicationType Omitido.
HideWhenDisabled Omitido.
AccessSessionConditions Reemplazada por las directivas de acceso de grupos de entrega.
AccessSessionConditionsEnabled Reemplazada por las directivas de acceso de grupos de entrega.
ConnectionsThroughAccessGatewayAllowed Reemplazada por las directivas de acceso de grupos de entrega.
OtherConnectionsAllowed Reemplazada por las directivas de acceso de grupos de entrega.
AlternateProfiles FMA no admite aplicaciones distribuidas por streaming.
OfflineAccessAllowed FMA no admite aplicaciones distribuidas por streaming.
ProfileLocation FMA no admite aplicaciones distribuidas por streaming.
ProfileProgramArguments FMA no admite aplicaciones distribuidas por streaming.
ProfileProgramName FMA no admite aplicaciones distribuidas por streaming.
RunAsLeastPrivilegedUser FMA no admite aplicaciones distribuidas por streaming.
AnonymousConnectionsAllowed FMA usa una tecnología diferente para admitir conexiones no autenticadas (anónimas).
ApplicationId, SequenceNumber Datos exclusivos de IMA.
AudioType FMA no admite opciones avanzadas de conexión de cliente.
EncryptionLevel SecureICA se habilita o inhabilita en los grupos de entrega.
EncryptionRequired SecureICA se habilita o inhabilita en los grupos de entrega.
SslConnectionEnabled FMA usa una implementación de TLS diferente.
ContentAddress FMA no admite contenido publicado.
ColorDepth FMA no admite opciones avanzadas de apariencia de ventanas.
MaximizedOnStartup FMA no admite opciones avanzadas de apariencia de ventanas.
TitleBarHidden FMA no admite opciones avanzadas de apariencia de ventanas.
WindowsType FMA no admite opciones avanzadas de apariencia de ventanas.
InstanceLimit FMA no admite límites de aplicación.
MultipleInstancesPerUserAllowed FMA no admite límites de aplicación.
LoadBalancingApplicationCheckEnabled FMA usa una tecnología diferente para admitir el equilibrio de carga.
PreLaunch FMA usa una tecnología diferente para admitir el preinicio de sesiones.
CachingOption FMA usa una tecnología diferente para admitir el preinicio de sesiones.
ServerNames FMA usa una tecnología diferente.
WorkerGroupNames FMA no admite los grupos de trabajo.
Migrar XenApp 6.x