Archivos de registro de USMT

Los registros de la Herramienta de migración de estado de usuario (USMT) se pueden usar para supervisar la migración y solucionar errores y migraciones con errores. En este artículo se describen las opciones de línea de comandos disponibles para habilitar los registros de USMT. También describe los nuevos elementos XML que se pueden usar para configurar:

  • Qué tipos de errores son irrecuperables y deben detener la migración.
  • Qué tipos no son irrecuperables y se deben omitir para que la migración pueda continuar.

Opciones de la línea de comandos de registro

En la tabla siguiente se describe cada opción de línea de comandos relacionada con los registros y se proporciona el nombre del registro y una descripción del tipo de información que contiene cada registro.

Opción de línea de comandos Nombre de archivo Descripción
/l"[Path]FileName ScanState.exe.log O LoadState.log Especifica la ruta de acceso y el nombre de archivo del registro ScanState o del registro LoadState .
/progress:[Path]FileName Especifica la ruta de acceso y el nombre de archivo del registro de progreso. Proporciona información sobre el estado de la migración, por porcentaje completado.
/v:[VerbosityLevel] No aplicable Consulte Opciones de supervisión en Sintaxis de ScanState.
/listfiles:[Path]FileName Especifica la ruta de acceso y el nombre de archivo del registro Listfiles. Proporciona una lista de los archivos que se migraron.
Establezca la variable de entorno MIG_ENABLE_DIAG en una ruta de acceso a un archivo XML. USMTDiag.xml El registro de diagnóstico contiene información detallada del entorno del sistema, información del entorno de usuario e información sobre las unidades de migración (migunits) que se recopilan y su contenido.

Nota

Los archivos de registro no se pueden almacenar en StorePath. Si los archivos de registro se almacenan en StorePath, los archivos de registro se sobrescriben cuando se ejecuta USMT.

Registros ScanState y LoadState

Los registros ScanState y LoadState son archivos de texto que se crean cuando se ejecutan las herramientas ScanState y LoadState. Estos registros se pueden usar para ayudar a supervisar la migración. El contenido del registro depende de las opciones de línea de comandos que se usan y del nivel de detalle especificado. Para obtener más información sobre los niveles de detalle, vea Opciones de supervisión en la sintaxis scanState.

Registro de progreso

Se puede crear un registro de progreso mediante la /progress opción . Las herramientas externas, como Microsoft System Center Operations Manager, pueden analizar el registro de progreso para actualizar los sistemas de supervisión. Los tres primeros campos de cada línea se fijan de la siguiente manera:

  • Fecha: Date, en el formato del díashortNameOfTheMonthyear. Por ejemplo: 08 de junio de 2023.

  • Hora local: Hora, en el formato hrs:minutes:seconds (con un reloj de 24 horas). Por ejemplo: 13:49:13.

  • Tiempo de migración: Duración del tiempo que se ejecutó USMT, con el formato hrs:minutes:seconds. Por ejemplo: 00:00:20.

Los campos restantes son pares clave-valor, como se indica en la tabla siguiente.

Clave Valor
Programa ScanState.exe o LoadState.exe.
Productversion Número completo de versión del producto de USMT.
Nombredeequipo Nombre del equipo de origen o de destino en el que se ejecutó USMT.
Commandline Comando completo usado para ejecutar USMT.
FASE Informa de que se está iniciando una nueva fase de la migración. Esta clave puede ser uno de los siguientes valores:
  • Inicializar
  • Escaneo
  • Recoger
  • Ahorro
  • Estimar
  • Aplicar
detectedUser
  • Para la herramienta ScanState , esta clave son los usuarios que USMT detectó en el equipo de origen que se pueden migrar.
  • Para la herramienta LoadState , esta clave son los usuarios que USMT detectó en el almacén que se pueden migrar.
includedInMigration Define si el perfil o componente de usuario se incluye para la migración. Los valores válidos son o No.
forUser Especifica cualquiera de los siguientes valores:
  • Estado de usuario que se va a migrar.
  • Este equipo, es decir, los archivos y la configuración que no están asociados a un usuario.
detectedComponent Especifica un componente detectado por USMT.
  • Para ScanState, esta clave es un componente o aplicación que está instalado en el equipo de origen.
  • Para LoadState, esta clave es un componente o aplicación que se detectó en el almacén.
totalSizeInMBToTransfer Tamaño total de los archivos y la configuración que se van a migrar en megabytes (MB).
totalPercentageCompleted Porcentaje total de la migración completada por ScanState o LoadState.
collectingUser Especifica para qué usuario ScanState recopila archivos y configuraciones.
totalMinutesRemaining Estimación de tiempo, en minutos, para que se complete la migración.
Error Tipo de error no irrecuperable que se produjo. Esta clave puede ser uno de los siguientes valores:
  • UnableToCopy: no se puede copiar para almacenar porque el disco en el que se encuentra el almacén está lleno.
  • UnableToOpen: no se puede abrir el archivo para la migración porque otra aplicación o servicio tiene el archivo abierto en modo no compartido.
  • UnableToCopyCatalog: no se puede copiar porque el almacén está dañado.
  • UnableToAccessDevice: no se puede acceder al dispositivo.
  • UnableToApply: no se puede aplicar la configuración al equipo de destino.
Objectname Nombre del archivo o configuración que provocó el error no irrecuperable.
Acción Acción realizada por USMT para el error no irrecuperable. Los valores son:
  • Omitir: error no irrecuperable omitido y la migración continuó porque se especificó la opción /c en la línea de comandos.
  • Anular: se ha detenido la migración porque no se especificó la opción /c .
errorCode ErrorCode o valor devuelto.
numberOfIgnoredErrors Número total de errores no irrecuperables que USMT omitió.
Mensaje* Mensaje correspondiente al errorCode.

Registro de archivos de lista

El registro de archivos de lista (Listfiles.txt) proporciona una lista de los archivos que se migraron. Esta lista se puede usar para solucionar problemas XML o se puede conservar como un registro de los archivos recopilados en el almacén de migración. El registro Archivos de lista solo está disponible para ScanState.exe.

Registro de diagnóstico

El registro de diagnóstico se puede obtener estableciendo la variable de entorno MIG_ENABLE_DIAG en una ruta de acceso a un archivo XML.

El registro de diagnóstico contiene:

  • Información detallada del entorno del sistema.

  • Información detallada del entorno de usuario.

  • Información sobre las unidades de migración (migunits) que se recopilan y su contenido.

Uso del registro de diagnóstico

El registro de diagnóstico es básicamente un informe de todas las unidades de migración (migunits) incluidas en la migración. Una migunit es una colección de datos. En los archivos XML, el componente identifica la migunit a la que está asociada la migunit. El almacén de migración se compone de todas las migunits de la migración. El registro de diagnóstico se puede usar para comprobar qué migunits se incluyeron en la migración y se puede usar para solucionar problemas al crear archivos XML de migración.

En los ejemplos siguientes se describen escenarios comunes en los que se puede usar el registro de diagnóstico.

¿Por qué este archivo no se migra cuando he creado una regla de inclusión para él?

Imaginemos que tenemos la siguiente estructura de directorios y que queremos que el directorio de datos se incluya en la migración junto con el archivo Document.txtNuevo texto en la nueva carpeta. El directorio de C:\data contiene:

12/21/2023  01:08 PM    <DIR>          .
12/21/2023  01:08 PM    <DIR>          ..
12/21/2023  01:08 PM    <DIR>          New Folder
12/21/2023  01:19 PM                13 test (1).txt
12/21/2023  01:19 PM                13 test.txt
               2 File(s)             26 bytes

El directorio de C:\data\New Folder contiene:

12/21/2023  01:08 PM    <DIR>          .
12/21/2023  01:08 PM    <DIR>          ..
12/21/2023  01:08 PM                 0 New Text Document.txt
               1 File(s)              0 bytes

Para migrar estos archivos, se crea el siguiente XML de migración:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\ [*]</pattern>
        </objectSet>
      </include>

    </rules>
  </role>
</component>
</migration>

Sin embargo, al probar la migración, se observa que el nuevo archivo de Document.txtde texto no se incluyó en la migración. Para solucionar este error, la migración se puede repetir con la variable de entorno MIG_ENABLE_DIAG establecer de forma que se genere el registro de diagnóstico. Al buscar en el registro de diagnóstico el componente DATA1 se muestra la siguiente sección XML:

<MigUnitList>
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
    <Patterns Type="Include">
      <Pattern Type="File" Path="C:\data [*]"/>
    </Patterns>
  </MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)">
    <Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
  </MigUnit>
</Perform>

El análisis de esta sección XML revela la migunit que se creó cuando se procesó la regla de migración. En la sección Realizar> se< detallan los archivos reales programados para la recopilación y el resultado de la operación de recopilación. El archivo Document.txtNuevo texto no aparece en esta sección, lo que confirma que la regla de migración no se ha creado correctamente.

Un análisis del artículo de referencia de la biblioteca de elementos XML revela que la etiqueta de patrón> debe modificarse de la< siguiente manera:

<pattern type="File">c:\data\* [*]</pattern>

Cuando la migración se realiza de nuevo con la etiqueta modificada, el registro de diagnóstico revela la siguiente información:

<MigUnitList>
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
    <Patterns Type="Include">
      <Pattern Type="File" Path="C:\data\* [*]"/>
    </Patterns>
  </MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)">
    <Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
  </MigUnit>
</Perform>

Este registro de diagnóstico confirma que el valor de patrón> modificado< permite la migración del archivo.

¿Por qué se migra este archivo cuando he creado una regla de exclusión que lo excluye?

En este escenario, existe la siguiente estructura de directorios y todos los archivos del directorio Data deben migrarse, excepto los archivos de texto. La C:\Data carpeta contiene:

Directory of C:\Data

12/21/2023  01:08 PM    <DIR>          .
12/21/2023  01:08 PM    <DIR>          ..
12/21/2023  01:08 PM    <DIR>          New Folder
12/21/2023  01:19 PM                13 test (1).txt
12/21/2023  01:19 PM                13 test.txt
               2 File(s)             26 bytes

contiene C:\Data\New Folder\ :

12/21/2023  01:08 PM    <DIR>          .
12/21/2023  01:08 PM    <DIR>          ..
12/21/2023  01:08 PM                 0 New Text Document.txt
               1 File(s)              0 bytes

Se crea el siguiente XML de migración:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\* [*]</pattern>
        </objectSet>
      </include>
    </rules>
    <rules>
      <exclude>
        <objectSet>
          <pattern type="File">c:\* [*.txt]</pattern>
        </objectSet>
      </exclude>

    </rules>
  </role>
</component>

Sin embargo, al probar la migración, todos los archivos de texto se notan que siguen incluidos en la migración. Para solucionar este problema, la migración se puede realizar con la variable de entorno MIG_ENABLE_DIAG establecida para que se genere el registro de diagnóstico. Al buscar en el registro de diagnóstico el componente DATA1 se muestra la siguiente sección XML:

<MigUnitList>
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
    <Patterns Type="Include">
      <Pattern Type="File" Path="C:\data\* [*]"/>
    </Patterns>
    <Patterns Type="Exclude">
      <Pattern Type="File" Path="C:\* [*.txt]"/>
    </Patterns>
  </MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)">
    <Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test (1).txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test.txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder [New Text Document.txt]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
  </MigUnit>
</Perform>

Cuando se revisa el registro de diagnóstico, se confirma que los archivos siguen migrando y que se trata de un problema con la regla XML de migración creada. Una actualización se crea en el script XML de migración como se indica a continuación:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/TestSuite_BUGFIX">

<component context="System"  type="Application">
  <displayName>DATA1</displayName>
  <role role="Data">
    <rules>
      <include>
        <objectSet>
          <pattern type="File">c:\data\* [*]</pattern>
        </objectSet>
      </include>
    </rules>
    <rules>
      <exclude>
        <objectSet>
          <pattern type="File">c:\data\* [*.txt]</pattern>
        </objectSet>
      </exclude>

    </rules>
  </role>
</component>


</migration>

El script XML de migración revisado excluye los archivos de la migración, como se confirma en el registro de diagnóstico:

<MigUnitList>
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)" Context="System" ConfidenceLevel="100" Group="Applications" Role="UserData" Agent="CMXEAgent" Selected="true" Supported="true">
    <Patterns Type="Include">
      <Pattern Type="File" Path="C:\data\* [*]"/>
    </Patterns>
    <Patterns Type="Exclude">
      <Pattern Type="File" Path="C:\data\* [*.txt]"/>
    </Patterns>
  </MigUnit>
</MigUnitList>
<Perform Name="Gather" User="System">
  <MigUnit Name="\<System\>\DATA1 (CMXEAgent)">
    <Operation Name="Store" Type="File" Path="C:\data" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data [test.docx]" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder" SimObj="false" Success="true"/>
    <Operation Name="Store" Type="File" Path="C:\data\New Folder [test.docx]" SimObj="false" Success="true"/>
  </MigUnit>
</Perform>