Protokolldateien

Mit den Protokollen von User State Migration Tool (USMT) 5.0 können Sie Ihre Migration überwachen sowie Fehler und fehlgeschlagene Migrationen behandeln. In diesem Thema werden die verfügbaren Befehlszeilenoptionen zum Aktivieren von USMT-Protokollen und neue XML-Elemente beschrieben, mit denen Sie festlegen, welche Fehlertypen schwerwiegend sind und zu einem Abbruch der Migration führen sollen und welche Fehlertypen nicht schwerwiegend sind und übersprungen werden sollen, damit die Migration fortgesetzt werden kann.

Befehlszeilenoptionen für Protokolle

ScanState- und LoadState-Protokolle

Statusprotokoll

Dateilistenprotokoll

Diagnoseprotokoll

Befehlszeilenoptionen für Protokolle

In der folgenden Tabelle werden die Befehlszeilenoptionen für Protokolle beschrieben. Sie enthält den Protokollnamen und eine Beschreibung der in den Protokollen enthaltenen Informationen.

Befehlszeilenoption Dateiname Beschreibung

/l: [Path\]FileName

„Scanstate.log“ oder „LoadState.log“

Gibt den Pfad und Dateinamen des Protokolls „Scanstate.log“ oder „LoadState.log“ an.

/progress: [Path\]FileName

Gibt den Pfad und Dateinamen des Statusprotokolls an.

Enthält Informationen zum Status der Migration (als Prozentsatz der Fertigstellung).

/v: [VerbosityLevel]

Nicht zutreffend

Weitere Informationen finden Sie im Abschnitt „Überwachungsoptionen“ des Themas ScanState-Syntax.

/listfiles [Path\]FileName

Gibt den Pfad und Dateinamen des Dateilistenprotokolls an.

Enthält eine Liste der Dateien, die migriert wurden.

Legen Sie die MIG_ENABLE_DIAG-Umgebungsvariable auf den Pfad einer XML-Datei fest.

„USMTDiag.xml“

Das Diagnoseprotokoll enthält detaillierte Informationen zur Systemumgebung, zur Benutzerumgebung sowie zu den gesammelten Migrationseinheiten (Migunits) und deren Inhalt.

Hinweis

Sie können keine Protokolldateien in StorePath speichern. Andernfalls wird das Protokoll bei der Ausführung von USMT überschrieben.

ScanState- und LoadState-Protokolle

Die ScanState- und LoadState-Protokolle sind Textdateien, die beim Ausführen der Tools ScanState und LoadState erstellt werden. Sie können diese Protokolle zum Überwachen Ihrer Migration verwenden. Der Inhalt der Protokolle hängt von den verwendeten Befehlszeilenoptionen und dem festgelegten Ausführlichkeitsgrad ab. Weitere Informationen zu Ausführlichkeitsgraden finden Sie im Abschnitt „Überwachungsoptionen“ des Themas ScanState-Syntax.

Statusprotokoll

Mit der Option /progress können Sie ein Statusprotokoll erstellen. Externe Tools wie Microsoft System Center Operations Manager 2007 können das Statusprotokoll analysieren, um Ihre Überwachungssysteme zu aktualisieren. Die ersten drei Felder in jeder Zeile lauten wie folgt:

  • Date: Das Datum im Format TageKurznameDesMonatsJahr. Beispiel: 08 Jun 2006.

  • Local time: Die Uhrzeit im Format Stunden:Minuten:Sekunden (im 24-Stunden-Format). Beispiel: 13:49:13.

  • Migration time: Die Dauer der Ausführung von USMT im Format Stunden:Minuten:Sekunden. Beispiel: 00:00:10.

Die übrigen Felder enthalten die in der folgenden Tabelle beschriebenen Schlüssel/Wert-Paare.

Schlüssel Wert

program

„ScanState.exe“ oder „LoadState.exe“.

productVersion

Die vollständige Produktversionsnummer von USMT.

computerName

Der Name des Quell- oder Ziel-PC, auf dem USMT ausgeführt wurde.

commandLine

Der vollständige Befehl, der zum Ausführen von USMT verwendet wurde.

PHASE

Gibt an, dass eine neue Phase der Migration gestartet wird. Folgende Werte sind möglich:

  • Initializing

  • Scanning

  • Collecting

  • Saving

  • Estimating

  • Applying

detectedUser

  • Bei ScanState sind dies die Benutzer, die USMT auf dem Quell-PC erkannt hat und die migriert werden können.

  • Bei LoadState sind dies die Benutzer, die USMT im Speicher erkannt hat und die migriert werden können.

includedInMigration

Legt fest, ob das Benutzerprofil/die Benutzerkomponente in die Migration eingeschlossen wird. Gültige Werte sind „Yes“ oder „No“.

forUser

Gibt einen der folgenden Werte an:

  • Den migrierten Benutzerstatus

  • This Computer, d. h. Dateien und Einstellungen, die nicht mit einem Benutzer zusammenhängen

detectedComponent

Gibt eine von USMT erkannte Komponente an.

  • Bei ScanState ist dies eine Komponente oder App, die auf dem Quell-PC installiert ist.

  • Bei LoadState ist dies eine Komponente oder App, die im Speicher erkannt wurde.

totalSizeInMBToTransfer

Die Gesamtgröße der zu migrierenden Dateien und Einstellungen in Megabyte (MB).

totalPercentageCompleted

Der Gesamtprozentsatz der Migration, der von ScanState oder LoadState abgeschlossen wurde.

collectingUser

Gibt an, für welchen Benutzer ScanState Dateien und Einstellungen sammelt.

totalMinutesRemaining

Die ungefähr verbleibende Zeit der Migration (in Minuten).

error

Der Typ des nicht schwerwiegenden Fehlers, der aufgetreten ist. Folgende Werte sind möglich:

  • UnableToCopy: Es konnte nicht in den Speicher kopiert werden, weil der Datenträger mit dem Speicher voll ist.

  • UnableToOpen: Die Datei konnte nicht für die Migration geöffnet werden, weil sie im nicht freigegebenen Modus von einer anderen App oder einem Dienst geöffnet ist.

  • UnableToCopyCatalog: Es konnte nicht kopiert werden, weil der Speicher beschädigt ist.

  • UnableToAccessDevice: Es konnte nicht auf das Gerät zugegriffen werden.

  • UnableToApply: Die Einstellung konnte nicht auf den Ziel-PC angewendet werden.

objectName

Der Name der Datei oder Einstellung, die den nicht schwerwiegenden Fehler verursacht hat.

action

Die Aktion, die USMT für den nicht schwerwiegenden Fehler ausgeführt hat. Folgende Werte sind möglich:

  • Ignore: Der nicht schwerwiegende Fehler wurde ignoriert, und die Migration wurde fortgesetzt, weil die Option /c in der Befehlszeile angegeben wurde.

  • Abort: Die Migration wurde beendet, weil die Option /c nicht angegeben wurde.

errorCode

Der Fehlercode oder Rückgabewert.

numberOfIgnoredErrors

Die Gesamtanzahl nicht schwerwiegender Fehler, die USMT ignoriert hat.

message

Die Meldung, die dem Fehlercode entspricht.

Dateilistenprotokoll

Das Dateilistenprotokoll („Listfiles.txt“) enthält eine Liste der Dateien, die migriert wurden. Diese Liste kann zum Behandeln von XML-Problemen verwendet oder als Aufzeichnung der im Migrationsspeicher gesammelten Dateien aufbewahrt werden. Das Dateilistenprotokoll ist nur für „ScanState.exe“ verfügbar.

Diagnoseprotokoll

Falls Sie ein Diagnoseprotokoll erstellen möchten, legen Sie die MIG_ENABLE_DIAG-Umgebungsvariable auf den Pfad einer XML-Datei fest.

Das Diagnoseprotokoll enthält folgende Informationen:

  • Ausführliche Informationen zur Systemumgebung

  • Ausführliche Informationen zur Benutzerumgebung

  • Informationen zu den gesammelten Migrationseinheiten (Migunits) und deren Inhalt

Verwenden des Diagnoseprotokolls

Das Diagnoseprotokoll ist im Grunde ein Bericht aller in der Migration enthaltenen Migrationseinheiten (Migunits). Eine Migunit ist eine Sammlung von Daten, die durch die zugehörige Komponente in den XML-Dateien identifiziert wird. Der Migrationsspeicher besteht aus allen Migunits in der Migration. Mit dem Diagnoseprotokoll können Sie überprüfen, welche Migunits in die Migration einbezogen wurden, und beim Erstellen von XML-Migrationsdateien Probleme behandeln.

Die folgenden Beispiele beschreiben häufige Szenarien, in denen Sie das Diagnoseprotokoll verwenden können.

Weshalb wird diese Datei nicht migriert, obwohl ich eine Include-Regel für sie erstellt habe?

Angenommen, Sie haben die folgende Verzeichnisstruktur und möchten, dass das Verzeichnis „data“ und die Datei „New Text Document.txt“ in „New Folder“ migriert werden. Das Verzeichnis C:\data enthält Folgendes:

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

Das Verzeichnis C:\data\New Folder enthält Folgendes:

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

Um diese Dateien zu migrieren, erstellen Sie das folgende XML-Migrationsskript:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://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>

Beim Testen der Migration stellen Sie dann aber fest, dass die Datei „New Text Document.txt“ nicht in der Migration enthalten ist. Zum Behandeln dieses Fehlers können Sie die Migration mit der MIG_ENABLE_DIAG-Umgebungsvariable wiederholen, damit das Diagnoseprotokoll erstellt wird. Sie suchen im Diagnoseprotokoll nach der Komponente „DATA1“ und finden den folgenden XML-Abschnitt:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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>

Die Analyse dieses XML-Abschnitts zeigt, welche Migunit beim Verarbeiten der Migrationsregel erstellt wurde. Der <Perform>-Abschnitt enthält die zum Sammeln eingeplanten Dateien und das Ergebnis der Sammlung. Die Datei „New Text Document.txt“ ist nicht in diesem Abschnitt aufgeführt. Dies bestätigt, dass die Migrationsregel nicht richtig erstellt wurde.

Sie schlagen im Referenzthema für XML-Elemente nach und stellen fest, dass das <pattern>-Kennzeichen wie folgt geändert werden muss:

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

Die erneute Ausführung der Migration mit dem geänderten Kennzeichen führt zu folgenden Ergebnissen im Diagnoseprotokoll:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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>

Das Diagnoseprotokoll zeigt, dass die Datei mit dem geänderten <pattern>-Wert migriert werden kann.

Weshalb wird diese Datei migriert, obwohl ich eine Exclude-Regel für sie erstellt habe?

In diesem Szenario haben Sie die folgende Verzeichnisstruktur und möchten mit Ausnahme von Textdateien alle Dateien im Verzeichnis „data“ migrieren. Der Ordner C:\Data enthält Folgendes:

Directory of C:\Data

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

Der Ordner C:\Data\New Folder enthält Folgendes:

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

Sie erstellen das folgende XML-Migrationsskript:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://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>

Beim Testen der Migration stellen Sie dann aber fest, dass noch alle Textdateien in der Migration enthalten sind. Zum Behandeln dieses Problems können Sie die Migration mit der MIG_ENABLE_DIAG-Umgebungsvariable wiederholen, damit das Diagnoseprotokoll erstellt wird. Sie suchen im Diagnoseprotokoll nach der Komponente „DATA1“ und finden den folgenden XML-Abschnitt:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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>

Im Diagnoseprotokoll sehen Sie, dass die Dateien noch immer migriert werden und die erstellte XML-Migrationsregel daher falsch sein muss. Sie erstellen wie folgt eine neue Version des XML-Migrationsskripts:

<?xml version="1.0" encoding="UTF-8"?>
<migration urlid="https://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>

Wie Sie im Diagnoseprotokoll sehen können, schließt das überarbeitete XML-Migrationsskript die Dateien aus:

<MigUnitList>
<MigUnit Name="&lt;System&gt;\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="&lt;System&gt;\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>

Siehe auch

Weitere Ressourcen

XML-Elementbibliothek
ScanState-Syntax
LoadState-Syntax