Condividi tramite


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:
  • Inizializzazione
  • Scansione
  • Collezionismo
  • Risparmio
  • Stima
  • Applicazione
detectedUser
  • Per lo strumento ScanState , questa chiave è gli utenti rilevati da USMT nel computer di origine di cui è possibile eseguire la migrazione.
  • Per lo strumento LoadState , questa chiave è gli utenti rilevati da USMT nell'archivio di cui è possibile eseguire la migrazione.
includedInMigration Definisce se il profilo utente/componente è incluso per la migrazione. I valori validi sono o No.
forUser Specifica uno dei valori seguenti:
  • Stato utente di cui viene eseguita la migrazione.
  • Questo computer, ovvero file e impostazioni non associati a un utente.
detectedComponent Specifica un componente rilevato da USMT.
  • Per ScanState, questa chiave è un componente o un'applicazione installata nel computer di origine.
  • Per LoadState, questa chiave è un componente o un'applicazione rilevata nell'archivio.
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:
  • UnableToCopy: impossibile copiare l'archivio perché il disco in cui si trova l'archivio è pieno.
  • UnableToOpen: impossibile aprire il file per la migrazione perché in un'altra applicazione o servizio il file è aperto in modalità non condivisa.
  • UnableToCopyCatalog: impossibile copiare perché l'archivio è danneggiato.
  • UnableToAccessDevice: non è possibile accedere al dispositivo.
  • UnableToApply: impossibile applicare l'impostazione al computer di destinazione.
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:
  • Ignora: l'errore non irreversibile è stato ignorato e la migrazione è continuata perché è stata specificata l'opzione /c nella riga di comando.
  • Interruzione: la migrazione è stata interrotta perché l'opzione /c non è stata specificata.
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>