File di log USMT
I log di User State Migration Tool (USMT) possono essere usati per monitorare la migrazione e risolvere gli errori e le migrazioni non riuscite. Questo articolo descrive le opzioni della riga di comando disponibili per abilitare i log USMT. Vengono inoltre descritti i nuovi elementi XML che possono essere usati per configurare:
- Quali tipi di errori sono irreversibili e devono interrompere la migrazione.
- Quali tipi non sono irreversibili e devono essere ignorati in modo che la migrazione possa continuare.
Opzioni della riga di comando log
La tabella seguente descrive ogni opzione della riga di comando correlata ai log e fornisce il nome del log e una descrizione del tipo di informazioni contenute in ogni log.
Opzione della riga di comando | Nome file | Descrizione |
---|---|---|
/l"[Percorso]NomeFile |
ScanState.exe.log o LoadState.log |
Specifica il percorso e il nome del file del log ScanState o del log LoadState . |
/progress:[Path]FileName | Specifica il percorso e il nome del file del log di stato. | Fornisce informazioni sullo stato della migrazione, per percentuale di completamento. |
/v:[VerbosityLevel] | Non applicabile | Vedere Opzioni di monitoraggio nella sintassi ScanState. |
/listfiles:[Path]FileName | Specifica il percorso e il nome file del log Listfiles. | Fornisce un elenco dei file di cui è stata eseguita la migrazione. |
Impostare la variabile di ambiente MIG_ENABLE_DIAG su un percorso di un file XML. | USMTDiag.xml |
Il log di diagnostica contiene informazioni dettagliate sull'ambiente di sistema, informazioni sull'ambiente utente e informazioni sulle unità di migrazione (migunits) raccolte e sul relativo contenuto. |
Nota
I file di log non possono essere archiviati in StorePath. Se i file di log vengono archiviati in StorePath, i file di log vengono sovrascritti quando viene eseguito USMT.
Log di ScanState e LoadState
I log ScanState e LoadState sono file di testo creati quando vengono eseguiti gli strumenti ScanState e LoadState . Questi log possono essere usati per monitorare la migrazione. Il contenuto del log dipende dalle opzioni della riga di comando usate e dal livello di dettaglio specificato. Per altre informazioni sui livelli di dettaglio, vedere Opzioni di monitoraggio nella sintassi ScanState.
Log di avanzamento
È possibile creare un log di stato usando l'opzione /progress
. Gli strumenti esterni, ad esempio Microsoft System Center Operations Manager, possono analizzare il log di stato per aggiornare i sistemi di monitoraggio. I primi tre campi in ogni riga sono fissi come segue:
Dattero: Data, nel formato del giornoshortNameOfTheMonthyear. Ad esempio: 08 giu 2023.
Ora locale: Ora, nel formato hrs:minutes:seconds (usando un orologio di 24 ore). Ad esempio: 13:49:13.
Tempo di migrazione: Durata dell'esecuzione di USMT nel formato hrs:minutes:seconds. Ad esempio: 00:00:20.
I campi rimanenti sono coppie chiave/valore, come indicato nella tabella seguente.
Chiave | Valore |
---|---|
programma |
ScanState.exe o LoadState.exe . |
productVersion | Numero di versione del prodotto completo di USMT. |
computerName | Nome del computer di origine o di destinazione in cui è stato eseguito USMT. |
commandLine | Comando completo usato per eseguire USMT. |
FASE | Segnala che è in fase di avvio una nuova fase della migrazione. Questa chiave può essere uno dei valori seguenti:
|
detectedUser |
|
includedInMigration | Definisce se il profilo utente/componente è incluso per la migrazione. I valori validi sono Sì o No. |
forUser | Specifica uno dei valori seguenti:
|
detectedComponent | Specifica un componente rilevato da USMT.
|
totalSizeInMBToTransfer | Dimensioni totali dei file e delle impostazioni di cui eseguire la migrazione in megabyte (MB). |
totalPercentageCompleted | Percentuale totale della migrazione completata da ScanState o LoadState. |
collectingUser | Specifica l'utente per cui ScanState raccoglie file e impostazioni. |
totalMinutesRemaining | Stima del tempo, in minuti, per il completamento della migrazione. |
errore | Tipo di errore non irreversibile che si è verificato. Questa chiave può essere uno dei valori seguenti:
|
objectName | Nome del file o dell'impostazione che ha causato l'errore non irreversibile. |
azione | Azione eseguita da USMT per l'errore non irreversibile. I valori sono:
|
errorCode | Valore errorCode o restituito. |
numberOfIgnoredErrors | Numero totale di errori non irreversibili ignorati da USMT. |
Messaggio* | Messaggio corrispondente a errorCode. |
Registro dei file di elenco
Il log Dei file di elenco (Listfiles.txt
) fornisce un elenco dei file di cui è stata eseguita la migrazione. Questo elenco può essere usato per risolvere i problemi XML o può essere conservato come record dei file raccolti nell'archivio di migrazione. Il log dei file di elenco è disponibile solo per ScanState.exe
.
Log di diagnostica
È possibile ottenere il log di diagnostica impostando la variabile di ambiente MIG_ENABLE_DIAG su un percorso di un file XML.
Il log di diagnostica contiene:
Informazioni dettagliate sull'ambiente di sistema.
Informazioni dettagliate sull'ambiente utente.
Informazioni sulle unità di migrazione (migunits) raccolte e sul relativo contenuto.
Uso del log di diagnostica
Il log di diagnostica è essenzialmente un report di tutte le unità di migrazione (migunits) incluse nella migrazione. Una migunit è una raccolta di dati. Nei file XML il componente identifica la migunit a cui è associata la migunit. L'archivio di migrazione è costituito da tutti i migunits nella migrazione. Il log di diagnostica può essere usato per verificare quali migunits sono stati inclusi nella migrazione e possono essere usati per la risoluzione dei problemi durante la creazione di file XML di migrazione.
Gli esempi seguenti descrivono scenari comuni in cui è possibile usare il log di diagnostica.
Perché non viene eseguita la migrazione di questo file quando è stata creata una regola di "inclusione"?
Si supponga di avere la struttura di directory seguente e di voler includere la directory dei dati nella migrazione insieme al file New Text Document.txt nella nuova cartella. La directory di 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
La directory di 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
Per eseguire la migrazione di questi file, viene creato il codice XML di migrazione seguente:
<?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>
Tuttavia, durante il test della migrazione, il file New Text Document.txt viene notato che non è stato incluso nella migrazione. Per risolvere questo errore, la migrazione può essere ripetuta con la variabile di ambiente MIG_ENABLE_DIAG impostata in modo che venga generato il log di diagnostica. La ricerca del componente DATA1 nel log di diagnostica mostra la sezione XML seguente:
<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'analisi di questa sezione XML mostra la migunit creata durante l'elaborazione della regola di migrazione. La <sezione Esegui> descrive in dettaglio i file effettivi pianificati per la raccolta e il risultato dell'operazione di raccolta. Il file New Text Document.txt non viene visualizzato in questa sezione, che conferma che la regola di migrazione non è stata creata correttamente.
Un'analisi dell'articolo di riferimento sulla libreria di elementi XML rivela che il <tag del modello> deve essere modificato come segue:
<pattern type="File">c:\data\* [*]</pattern>
Quando la migrazione viene eseguita di nuovo con il tag modificato, il log di diagnostica visualizza le informazioni seguenti:
<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>
Questo log di diagnostica conferma che il valore del modello> modificato< consente la migrazione del file.
Perché viene eseguita la migrazione di questo file quando è stata creata una regola di esclusione escludendola?
In questo scenario esiste la struttura di directory seguente e tutti i file nella directory Dati devono essere migrati, ad eccezione dei file di testo. La C:\Data
cartella 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
Viene creato il codice XML di migrazione seguente:
<?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>
Tuttavia, al momento del test della migrazione, tutti i file di testo vengono notati che sono ancora inclusi nella migrazione. Per risolvere questo problema, la migrazione può essere eseguita con la variabile di ambiente MIG_ENABLE_DIAG impostata in modo da generare il log di diagnostica. La ricerca del componente DATA1 nel log di diagnostica mostra la sezione XML seguente:
<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>
Quando il log di diagnostica viene esaminato, la migrazione dei file viene ancora confermata e si tratta di un problema con la regola XML di migrazione creata. Un aggiornamento viene creato nello script XML di migrazione come indicato di seguito:
<?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>
Lo script XML di migrazione modificato esclude la migrazione dei file, come confermato nel log di diagnostica:
<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>