Fichiers journaux USMT

Les journaux de l’outil de migration d’état utilisateur (USMT) peuvent être utilisés pour surveiller la migration et résoudre les erreurs et les migrations ayant échoué. Cet article décrit les options de ligne de commande disponibles pour activer les journaux USMT. Il décrit également les nouveaux éléments XML qui peuvent être utilisés pour configurer :

  • Quels types d’erreurs sont irrécupérables et doivent arrêter la migration.
  • Quels types sont non fatals et doivent être ignorés afin que la migration puisse se poursuivre.

Options de ligne de commande du journal

Le tableau suivant décrit chaque option de ligne de commande associée aux journaux et fournit le nom du journal et une description du type d’informations que contient chaque journal.

Option de ligne de commande Nom de fichier Description
/l"[Path]FileName ScanState.exe.log ou LoadState.log Spécifie le chemin d’accès et le nom de fichier du journal ScanState ou du journal LoadState .
/progress :[Path]FileName Spécifie le chemin d’accès et le nom de fichier du journal de progression. Fournit des informations sur l’état de la migration, par pourcentage terminé.
/v :[VerbosityLevel] Non applicable Consultez Options de surveillance dans la syntaxe ScanState.
/listfiles :[Path]FileName Spécifie le chemin d’accès et le nom de fichier du journal Listfiles. Fournit une liste des fichiers qui ont été migrés.
Définissez la variable d’environnement MIG_ENABLE_DIAG sur un chemin d’accès à un fichier XML. USMTDiag.xml Le journal de diagnostic contient des informations détaillées sur l’environnement système, des informations sur l’environnement utilisateur et des informations sur les unités de migration (migunits) collectées et leur contenu.

Remarque

Les fichiers journaux ne peuvent pas être stockés dans StorePath. Si les fichiers journaux sont stockés dans StorePath, les fichiers journaux sont remplacés lors de l’exécution d’USMT.

Journaux ScanState et LoadState

Les journaux ScanState et LoadState sont des fichiers texte créés lors de l’exécution des outils ScanState et LoadState. Ces journaux peuvent être utilisés pour surveiller la migration. Le contenu du journal dépend des options de ligne de commande utilisées et du niveau de détail spécifié. Pour plus d’informations sur les niveaux de détail, consultez Options de surveillance dans la syntaxe ScanState.

Journal de progression

Un journal de progression peut être créé à l’aide de l’option /progress . Les outils externes, tels que Microsoft System Center Operations Manager, peuvent analyser le journal de progression pour mettre à jour les systèmes de surveillance. Les trois premiers champs de chaque ligne sont corrigés comme suit :

  • Date: Date, au format dayshortNameOfTheMonthyear. Par exemple : 08 juin 2023.

  • Heure locale : Heure, au format heures :minutes :secondes (à l’aide d’une horloge de 24 heures). Par exemple : 13:49:13.

  • Heure de la migration : Durée d’exécution de l’outil USMT, au format heures :minutes :secondes. Par exemple : 00:00:20.

Les champs restants sont des paires clé/valeur comme indiqué dans le tableau suivant.

Clé Valeur
programme ScanState.exe ou LoadState.exe.
productVersion Numéro de version de produit complet de l’outil USMT.
computerName Nom de l’ordinateur source ou de destination sur lequel l’outil USMT a été exécuté.
commandLine Commande complète utilisée pour exécuter USMT.
PHASE Signale qu’une nouvelle phase de la migration commence. Cette clé peut être l’une des valeurs suivantes :
  • Initialisation
  • Balayage
  • Collection
  • Épargne
  • Estimation
  • Application
detectedUser
  • Pour l’outil ScanState , cette clé correspond aux utilisateurs que l’outil USMT a détectés sur l’ordinateur source qui peuvent être migrés.
  • Pour l’outil LoadState , cette clé correspond aux utilisateurs USMT détectés dans le magasin qui peuvent être migrés.
includedInMigration Définit si le profil utilisateur/composant est inclus pour la migration. Les valeurs valides sont Oui ou Non.
forUser Spécifie l’une des valeurs suivantes :
  • État utilisateur en cours de migration.
  • Cet ordinateur, c’est-à-dire les fichiers et les paramètres qui ne sont pas associés à un utilisateur.
detectedComponent Spécifie un composant détecté par l’outil USMT.
  • Pour ScanState, cette clé est un composant ou une application installé sur l’ordinateur source.
  • Pour LoadState, cette clé est un composant ou une application qui a été détecté dans le magasin.
totalSizeInMBToTransfer Taille totale des fichiers et des paramètres à migrer en mégaoctets (Mo).
totalPercentageCompleted Pourcentage total de la migration effectuée par ScanState ou LoadState.
collectingUser Spécifie pour quel utilisateur ScanState collecte les fichiers et les paramètres.
totalMinutesRemaining Estimation du temps, en minutes, pour la fin de la migration.
erreur Type d’erreur non irrécupérable qui s’est produite. Cette clé peut être l’une des valeurs suivantes :
  • UnableToCopy : impossible de copier dans le magasin, car le disque sur lequel se trouve le magasin est plein.
  • UnableToOpen : impossible d’ouvrir le fichier pour la migration, car un autre service ou application a ouvert le fichier en mode non partagé.
  • UnableToCopyCatalog : impossible de copier, car le magasin est endommagé.
  • UnableToAccessDevice : impossible d’accéder à l’appareil.
  • UnableToApply : impossible d’appliquer le paramètre à l’ordinateur de destination.
objectName Nom du fichier ou du paramètre qui a provoqué l’erreur non irrécupérable.
action Action entreprise par l’outil USMT pour l’erreur non irrécupérable. Les valeurs sont les suivantes :
  • Ignorer : erreur non irrécupérable ignorée et la migration s’est poursuivie, car l’option /c a été spécifiée sur la ligne de commande.
  • Abandonner : arrêt de la migration, car l’option /c n’a pas été spécifiée.
errorCode Valeur errorCode ou de retour.
numberOfIgnoredErrors Nombre total d’erreurs non irrécupérables ignorées par l’outil USMT.
Message* Message correspondant au errorCode.

Répertorier le journal des fichiers

Le journal Répertorier les fichiers (Listfiles.txt) fournit la liste des fichiers qui ont été migrés. Cette liste peut être utilisée pour résoudre les problèmes XML ou peut être conservée en tant qu’enregistrement des fichiers qui ont été collectés dans le magasin de migration. Le journal Des fichiers de liste est disponible uniquement pour ScanState.exe.

Journal de diagnostic

Le journal de diagnostic peut être obtenu en définissant la variable d’environnement MIG_ENABLE_DIAG sur un chemin d’accès à un fichier XML.

Le journal de diagnostic contient :

  • Informations détaillées sur l’environnement système.

  • Informations détaillées sur l’environnement utilisateur.

  • Informations sur les unités de migration (migunits) collectées et leur contenu.

Utilisation du journal de diagnostic

Le journal de diagnostic est essentiellement un rapport de toutes les unités de migration (migunits) incluses dans la migration. Un migunit est une collection de données. Dans les fichiers XML, le composant identifie le migunit auquel le migunit est associé. Le magasin de migration est constitué de tous les migunits de la migration. Le journal de diagnostic peut être utilisé pour vérifier quels migunits ont été inclus dans la migration et peut être utilisé pour la résolution des problèmes lors de la création de fichiers XML de migration.

Les exemples suivants décrivent des scénarios courants dans lesquels le journal de diagnostic peut être utilisé.

Pourquoi ce fichier ne migre-t-il pas lorsque j’ai créé une règle « include » pour celui-ci ?

Imaginons que nous avons la structure de répertoires suivante et que nous voulons que le répertoire de données soit inclus dans la migration avec le fichier new text Document.txt dans le nouveau dossier. Le répertoire de C:\data contient :

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

Le répertoire de C:\data\New Folder contient :

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

Pour migrer ces fichiers, le code XML de migration suivant est créé :

<?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>

Toutefois, lors du test de la migration, le fichier New Text Document.txt est remarqué qu’il n’a pas été inclus dans la migration. Pour résoudre cet échec, la migration peut être répétée avec la variable d’environnement MIG_ENABLE_DIAG définie de sorte que le journal de diagnostic soit généré. La recherche dans le journal de diagnostic du composant DATA1 révèle la section XML suivante :

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

L’analyse de cette section XML révèle le migunit qui a été créé lors du traitement de la règle de migration. La <section Effectuer> détaille les fichiers réels qui ont été planifiés pour la collecte et le résultat de l’opération de collecte. Le fichier New Text Document.txt n’apparaît pas dans cette section, ce qui confirme que la règle de migration n’a pas été correctement créée.

Une analyse de l’article de référence de la bibliothèque d’éléments XML révèle que la <balise de modèle> doit être modifiée comme suit :

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

Lorsque la migration est à nouveau effectuée avec la balise modifiée, le journal de diagnostic révèle les informations suivantes :

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

Ce journal de diagnostic confirme que la valeur de modèle> modifiée< permet la migration du fichier.

Pourquoi ce fichier migre-t-il lorsque j’ai créé une règle d’exclusion l’excluant ?

Dans ce scénario, la structure de répertoires suivante existe et tous les fichiers du répertoire Data doivent migrer, à l’exception des fichiers texte. Le C:\Data dossier contient :

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

contient 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

Le code XML de migration suivant est créé :

<?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>

Toutefois, lors du test de la migration, tous les fichiers texte sont remarqués qu’ils sont toujours inclus dans la migration. Pour résoudre ce problème, la migration peut être effectuée avec la variable d’environnement MIG_ENABLE_DIAG définie afin que le journal de diagnostic soit généré. La recherche dans le journal de diagnostic du composant DATA1 révèle la section XML suivante :

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

Lorsque le journal de diagnostic est examiné, les fichiers sont toujours en cours de migration est confirmé et il s’agit d’un problème avec la règle XML de migration créée. Une mise à jour est créée pour le script XML de migration comme suit :

<?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>

Le script XML de migration révisé exclut les fichiers de la migration, comme confirmé dans le journal de diagnostic :

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