Funcionamiento de USMT
USMT incluye dos herramientas que migran la configuración y los datos: ScanState y LoadState. ScanState recopila información del equipo de origen y LoadState aplica esa información al equipo de destino.
Nota
Para obtener más información sobre cómo USMT procesa las reglas y los archivos XML, vea Conflictos y precedencia.
El proceso ScanState
Cuando la herramienta ScanState se ejecuta en el equipo de origen, pasa por el proceso siguiente:
Analiza y valida los parámetros de la línea de comandos, crea el
ScanState.log
archivo y, a continuación, comienza el registro.Recopila información sobre todos los componentes de migración que deben migrarse. Un componente de migración es un grupo lógico de archivos, claves del Registro y valores. Por ejemplo, el conjunto de archivos, claves del Registro y valores que almacenan la configuración de Adobe Acrobat se agrupa en un único componente de migración.
Hay tres tipos de componentes:
Componentes que migran la configuración del sistema operativo.
Componentes que migran la configuración de la aplicación.
Componentes que migran los archivos de los usuarios.
La herramienta ScanState recopila información sobre la configuración de la aplicación y los componentes de datos de usuario de los archivos .xml especificados en la línea de comandos.
En las versiones compatibles actualmente de Windows, los archivos de manifiesto controlan cómo se migra la configuración del sistema operativo. Estos archivos no se pueden modificar. Para excluir cierta configuración del sistema operativo, se debe crear y modificar un
Config.xml
archivo.ScanState determina qué perfiles de usuario se deben migrar. De forma predeterminada, se migran todos los perfiles de usuario del equipo de origen. Sin embargo, los usuarios se pueden incluir y excluir mediante las opciones de usuario. El perfil del sistema y el perfil público de un equipo de origen que ejecuta las versiones compatibles actualmente de Windows siempre se migran y estos perfiles no se pueden excluir de la migración.
En la fase de examen , ScanState hace lo siguiente para cada perfil de usuario seleccionado para la migración:
Para cada componente, ScanState comprueba el tipo del componente. Si el perfil de usuario actual es el perfil del sistema y el tipo de componente es System o UserAndSystem, el componente se selecciona para este usuario. De lo contrario, se omite el componente. Como alternativa, si el perfil de usuario actual no es el perfil del sistema y el tipo de componente es User o UserAndSystem, el componente se selecciona para este usuario. De lo contrario, se omite este componente.
Nota
A partir de este punto, ScanState no distingue entre los componentes que migran la configuración del sistema operativo, los componentes que migran la configuración de la aplicación y los componentes que migran los archivos de los usuarios. ScanState procesa todos los componentes de la misma manera.
Cada componente seleccionado en el paso anterior se procesa aún más. Todas las variables específicas del perfil (como CSIDL_PERSONAL) se evalúan en el contexto del perfil actual. Por ejemplo, si el perfil que se está procesando pertenece a User1, CSIDL_PERSONAL expandiría a
C:\Users\User1\Documents
, suponiendo que los perfiles de usuario se almacenan en elC:\Users
directorio.Para cada componente seleccionado, ScanState evalúa la <sección de detección> . Si la condición de la <sección detecta> se evalúa como false, el componente no se procesa más. De lo contrario, el procesamiento de este componente continúa.
Para cada componente seleccionado, ScanState evalúa las secciones de <reglas> . Para cada <sección de reglas> , si el perfil de usuario actual es el perfil del sistema y el contexto de la <sección de reglas> es System o UserAndSystem, la regla se procesa aún más. De lo contrario, se omite esta regla. Como alternativa, si el perfil de usuario actual no es el perfil del sistema y el contexto de la <sección de reglas> es User o UserAndSystem, la regla se procesa aún más. De lo contrario, se omite esta regla.
ScanState crea una lista de unidades de migración que deben migrarse procesando las distintas subsecciones en esta <sección de reglas> . Cada unidad se recopila si la unidad se menciona en una <subsección de inclusión> , siempre y cuando no haya una regla más específica para ella en una <subsección de exclusión> en la misma <sección de reglas> . Para obtener más información sobre la precedencia en los archivos .xml , vea Conflictos y precedencia.
Además, no se migra ninguna unidad de migración (como un archivo, una clave del Registro o un conjunto de valores del Registro) que se encuentra en una <sección UnconditionalExclude> .
Nota
ScanState omite algunas subsecciones, como <destinationCleanup> y <locationModify>. Estas secciones solo se evalúan en el equipo de destino.
En la fase de recopilación , ScanState crea una lista central de las unidades de migración mediante la combinación de las listas que se crearon para cada perfil de usuario seleccionado.
En la fase de guardado , ScanState escribe las unidades de migración que se recopilaron en la ubicación del almacén.
Nota
ScanState no modifica el equipo de origen de ninguna manera.
El proceso LoadState
El proceso LoadState es similar al proceso ScanState . La herramienta ScanState recopila unidades de migración como archivos, claves del Registro o valores del Registro del equipo de origen y las guarda en el almacén. De forma similar, la herramienta LoadState recopila unidades de migración del almacén y las aplica al equipo de destino.
ScanState analiza y valida los parámetros de la línea de comandos, crea el
ScanState.log
archivo y, a continuación, comienza el registro.LoadState recopila información sobre los componentes de migración que deben migrarse.
LoadState obtiene información para los componentes de configuración de la aplicación y los componentes de datos de usuario de los archivos de.xml de migración especificados por el
LoadState.exe
comando.En las versiones compatibles actualmente de Windows, los archivos de manifiesto controlan cómo se migra la configuración del sistema operativo. Estos archivos no se pueden modificar. Para excluir cierta configuración del sistema operativo, se debe crear y modificar un
Config.xml
archivo.LoadState determina qué perfiles de usuario se deben migrar. De forma predeterminada, se migran todos los perfiles de usuario presentes en el equipo de origen. Sin embargo, los usuarios se pueden incluir y excluir mediante las opciones de usuario. El perfil del sistema y el perfil público de un equipo de origen que ejecuta las versiones compatibles actualmente de Windows siempre se migran y estos perfiles no se pueden excluir de la migración.
Si se están migrando cuentas de usuario locales y si las cuentas no existen en el equipo de destino, se debe usar la
/lac
opción de línea de comandos. Si no se especifica la/lac
opción, no se migrarán las cuentas de usuario locales que aún no estén presentes en el equipo de destino.Cuando se especifica con el
LoadState.exe
comando , las/md
opciones y/mu
se procesan para cambiar el nombre del perfil de usuario en el equipo de destino.Para cada perfil de usuario seleccionado en el almacén, LoadState crea un perfil de usuario correspondiente en el equipo de destino. No es necesario que el equipo de destino esté conectado al dominio para que se creen perfiles de usuario de dominio. Si USMT no puede determinar un dominio, intenta aplicar la configuración a una cuenta local. Para obtener más información, vea Identificar usuarios.
En la fase de examen , LoadState hace lo siguiente para cada perfil de usuario:
Para cada componente, LoadState comprueba el tipo del componente. Si el perfil de usuario actual es el perfil del sistema y el tipo de componente es System o UserAndSystem, el componente se selecciona para este usuario. De lo contrario, se omite el componente. Como alternativa, si el perfil de usuario actual no es el perfil del sistema y el tipo de componente es User o UserAndSystem, el componente se selecciona para este usuario. De lo contrario, se omite este componente.
Nota
A partir de este punto, LoadState no distingue entre los componentes que migran la configuración del sistema operativo, los componentes que migran la configuración de la aplicación y los componentes que migran los archivos de los usuarios. LoadState evalúa todos los componentes de la misma manera.
Cada componente seleccionado se procesa aún más. Todas las variables específicas del perfil (como CSIDL_PERSONAL) se evalúan en el contexto del perfil actual. Por ejemplo, si el perfil que se está procesando pertenece a User1, CSIDL_PERSONAL expandiría a
C:\Users\User1\Documents
(suponiendo que los perfiles de usuario se almacenan en elC:\Users
directorio).Nota
LoadState omite la <sección de detección> especificada en un componente. En este momento, se considera que todos los componentes especificados se detectan y se seleccionan para la migración.
Para cada componente seleccionado, LoadState evalúa las secciones de <reglas> . Para cada <sección de reglas> , si el perfil de usuario actual es el perfil del sistema y el contexto de la <sección de reglas> es System o UserAndSystem, la regla se procesa aún más. De lo contrario, se omite esta regla. Como alternativa, si el perfil de usuario actual no es el perfil del sistema y el contexto de la <sección de reglas> es User o UserAndSystem, la regla se procesa aún más. De lo contrario, se omite esta regla.
LoadState crea una lista central de unidades de migración procesando las distintas subsecciones en la <sección de reglas> . Cada unidad de migración que se encuentra en una <subsección de inclusión> se migra siempre y cuando no haya una regla más específica para ella en una <subsección de exclusión> en la misma <sección de reglas> . Para obtener más información sobre la precedencia, vea Conflictos y precedencia.
LoadState evalúa las subsecciones específicas del equipo de destino, por ejemplo, las <subsecciones destinationCleanup> y <locationModify> .
Si el equipo de destino ejecuta una versión compatible actualmente de Windows, LoadState procesa las migunits recopiladas por ScanState mediante archivos de manifiesto de nivel inferior mediante el manifiesto de componente correspondiente de la versión de Windows de nivel inferior. Los archivos de manifiesto de nivel inferior no se usan durante LoadState.
Importante
Para que LoadState use los archivos .xml , es importante especificarlos con el
LoadState.exe
comando . De lo contrario, se omiten las reglas específicas de destino, como <locationModify>, en estos archivos .xml , incluso si se proporcionaron los mismos archivos .xml cuando se ejecutó elScanState.exe
comando.
En la fase Aplicar , LoadState escribe las unidades de migración que se recopilaron en las distintas ubicaciones del equipo de destino. Si hay conflictos y no hay una <regla de combinación> para el objeto, el comportamiento predeterminado del registro es que el origen sobrescriba el destino. El comportamiento predeterminado de los archivos es que el origen se cambie de nombre incrementalmente, por ejemplo, OriginalFileName(1). OriginalExtension. Algunas configuraciones, como fuentes, fondos de pantalla y configuración del protector de pantalla, no surten efecto hasta la próxima vez que el usuario inicie sesión. Por este motivo, cierre la sesión cuando finalicen las acciones del
LoadState.exe
comando.