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:
|
|
detectedUser |
|
|
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:
|
|
detectedComponent |
Gibt eine von USMT erkannte Komponente an.
|
|
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:
|
|
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:
|
|
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="<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>
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="<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>
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="<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>
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="<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>