Condividi tramite


File di log

I log di Utilità di migrazione stato utente (USMT) 10.0 consentono di monitorare la migrazione e risolvere i problemi relativi agli errori e alle migrazioni non riuscite. Questo argomento descrive le opzioni della riga di comando disponibili per abilitare i log di USMT e i nuovi elementi XML che consentono di configurare quali tipi di errori sono irreversibili e devono determinare l'interruzione della migrazione e quali tipi non sono irreversibili e devono essere ignorati per consentire la prosecuzione della migrazione.

Opzioni della riga di comando per i log

Log di ScanState e LoadState

Log di stato

Log dell'elenco dei file

Log di diagnostica

Opzioni della riga di comando per i log

Nella tabella seguente vengono descritte le singole opzioni della riga di comando correlate ai log, viene indicato il nome del log e viene fornita una descrizione del tipo di informazioni che ognuno di essi contiene.

Opzione della riga di comando Nome file Descrizione

/l[Path\]FileName

ScanState.log o LoadState.log

Specifica il percorso e il nome del file ScanState.log o LoadState.log.

/progress[Path\]FileName

Specifica il percorso e il nome file del log di stato.

Fornisce informazioni sullo stato della migrazione, sotto forma di percentuale di completamento.

/v[VerbosityLevel]

Non applicabile

Vedi la sezione "Opzioni di monitoraggio" in Sintassi di ScanState.

/listfiles[Path\]FileName

Specifica il percorso e il nome file del log di elenco dei file.

Fornisce un elenco dei file di cui è stata eseguita la migrazione.

Imposta la variabile di ambiente MIG_ENABLE_DIAG sul percorso di un file XML.

USMTDiag.xml

Il log di diagnostica contiene informazioni dettagliate sull'ambiente di sistema e sull'ambiente utente, nonché informazioni sulle unità di migrazione raccolte e sul relativo contenuto.

 

Nota  

Non puoi archiviare alcuno dei file di log in StorePath. Tale azione comporterebbe la sovrascrittura del log durante l'esecuzione di USMT.

 

Log di ScanState e LoadState

I log di ScanState e LoadState sono file di testo che vengono creati durante l'esecuzione degli strumenti ScanState e LoadState e che possono essere utilizzati per monitorare la migrazione. Il contenuto del log dipende dalle opzioni della riga di comando utilizzate e dal livello di dettaglio specificato. Per altre informazioni sui livelli di dettaglio, vedi Opzioni di monitoraggio in Sintassi di ScanState.

Log di stato

Puoi creare un log di stato usando l'opzione /progress. Gli strumenti esterni, ad esempio Microsoft System Center Operations Manager 2007, possono eseguire l'analisi del log di stato per aggiornare i sistemi di monitoraggio. I primi tre campi di ogni riga sono fissi e includono:

  • Data: data, nel formato day shortNameOfTheMonth year. Ad esempio: 08 giu 2006.

  • Ora locale: ora, nel formato hrs:minutes:seconds (formato a 24 ore). Ad esempio: 13:49:13.

  • Durata migrazione: durata dell'esecuzione di USMT, nel formato hrs:minutes:seconds. Ad esempio: 00:00:10.

I campi restanti sono le coppie di chiavi/valori indicate nella tabella seguente.

Chiave Valore

program

ScanState.exe o LoadState.exe.

productVersion

Numero di versione completo di USMT.

computerName

Nome del computer di origine o di destinazione in cui è stato eseguito USMT.

commandLine

Comando completo usato per eseguire USMT.

PHASE

Indica che viene avviata una nuova fase della migrazione. Le opzioni a disposizione sono:

  • Inizializzazione

  • Analisi

  • Raccolta

  • Salvataggio

  • Stima

  • Applicazione

detectedUser

  • Per lo strumento ScanState si tratta degli utenti rilevati da USMT nel computer di origine di cui è possibile eseguire la migrazione.

  • Per lo strumento LoadState si tratta degli utenti rilevati da USMT nell'archivio di cui è possibile eseguire la migrazione.

includedInMigration

Definisce se il componente/profilo utente è incluso per la migrazione. I valori validi sono Yes o No.

forUser

Specifica uno degli elementi seguenti:

  • Stato utente di cui viene eseguita la migrazione.

  • This Computer, ovvero i file e le impostazioni non associati a un utente.

detectedComponent

Specifica un componente rilevato da USMT.

  • Per ScanState si tratta di un'applicazione o di un componente installato nel computer di origine.

  • Per LoadState si tratta di un componente o di un'applicazione rilevata nell'archivio.

totalSizeInMBToTransfer

Dimensione totale in MB dei file e delle impostazioni di cui eseguire la migrazione.

totalPercentageCompleted

Percentuale totale della migrazione completata da ScanState o LoadState.

collectingUser

Specifica l'utente per cui ScanState raccoglie i file e le impostazioni.

totalMinutesRemaining

Stima del tempo, in minuti, necessario per completare la migrazione.

error

Tipo di errore non irreversibile che si è verificato. Il tipo di errore può essere uno dei seguenti:

  • UnableToCopy: impossibile copiare nell'archivio perché il disco in cui si trova l'archivio è pieno.

  • UnableToOpen: impossibile aprire il file per la migrazione perché è aperto in modalità non condivisa da un'altra applicazione o da un altro servizio.

  • UnableToCopyCatalog: impossibile copiare poiché l'archivio è danneggiato.

  • UnableToAccessDevice: impossibile accedere al dispositivo.

  • UnableToApply: impossibile applicare l'impostazione nel computer di destinazione.

objectName

Nome del file o dell'impostazione che ha causato l'errore non irreversibile.

action

Azione intrapresa da USMT per l'errore non irreversibile. Sono disponibili i valori seguenti:

  • Ignore: l'errore non irreversibile è stato ignorato e la migrazione è proseguita perché è stata specificata l'opzione /c nella riga di comando.

  • Abort: la migrazione è stata interrotta perché non è stata specificata l'opzione /c.

errorCode

Codice di errore o valore restituito.

numberOfIgnoredErrors

Numero totale di errori non irreversibili ignorati da USMT.

message

Messaggio corrispondente al codice di errore.

 

Log dell'elenco dei file

Il file Listfiles.txt include un elenco dei file di cui è stata eseguita la migrazione. Tale elenco può essere utilizzato per la risoluzione dei problemi relativi ai file XML oppure conservato come record dei file raccolti nell'archivio delle migrazioni. Il log dell'elenco dei file è disponibile solo per ScanState.exe.

Log di diagnostica

Per ottenere il log di diagnostica, imposta la variabile di ambiente MIG_ENABLE_DIAG sul 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 raccolte e sul relativo contenuto

Utilizzare il log di diagnostica

Il log di diagnostica è sostanzialmente un rapporto delle unità di migrazione incluse nella migrazione. Un'unità di migrazione è una raccolta di dati identificati dal componente a cui sono associati nei file XML. L'archivio di migrazione è costituito da tutte le unità di migrazione nella migrazione. Il log di diagnostica consente di verificare quali unità di migrazione sono state incluse nella migrazione e può essere utilizzato per la risoluzione dei problemi durante la creazione dei file XML di migrazione.

Negli esempi seguenti sono descritti scenari comuni in cui puoi usare il log di diagnostica.

Perché non viene eseguita la migrazione del file nonostante abbia creato una regola di inclusione apposita?

Supponi di disporre della struttura di directory seguente e di voler includere la directory "data" nella migrazione insieme al file "New Text Document.txt" in "New Folder". La directory C:\data contiene:

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

La directory C:\data\New Folder contiene:

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

Per eseguire la migrazione di questi file, crei il seguente codice XML di migrazione:

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

Durante il test della migrazione, tuttavia, noti che il file "New Text Document.txt" non è incluso nella migrazione. Per risolvere questo problema, puoi ripetere la migrazione impostando la variabile di ambiente MIG_ENABLE_DIAG in modo che venga generato il log di diagnostica. Dopo una ricerca del componente “DATA1” nel log di diagnostica, viene individuata la sezione XML seguente:

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

L'analisi di questa sezione XML consente di scoprire l'unità di migrazione che è stata creata durante l'elaborazione della regola di migrazione. Nella sezione <Perform> sono indicati in dettaglio i file effettivi di cui è stata pianificata la raccolta e il risultato dell'operazione di raccolta. Il file "New Text Document.txt" non è presente in questa sezione, a conferma del fatto che la regola di migrazione non è stata creata correttamente.

L'analisi dell'argomento di riferimento relativo agli elementi XML consente di scoprire che è necessario modificare il tag <pattern> nel modo seguente:

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

Durante l'esecuzione della migrazione con il tag modificato, il log di diagnostica consente di scoprire quanto segue:

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

Il log di diagnostica conferma che il valore <pattern> modificato consente di eseguire la migrazione del file.

Perché viene eseguita la migrazione del file nonostante abbia creato una regola di esclusione apposita?

In questo scenario disponi della struttura seguente e vuoi eseguire la migrazione di tutti i file nella directory "data", ad eccezione dei file di testo. La cartella C:\Data contiene:

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

La cartella C:\Data\New Folder contiene:

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

Crei quindi il codice XML di migrazione seguente:

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

Durante il test della migrazione, tuttavia, noti che tutti i file di testo sono inclusi nella migrazione. Per risolvere questo problema, puoi eseguire la migrazione impostando la variabile di ambiente MIG_ENABLE_DIAG in modo che venga generato il log di diagnostica. Dopo una ricerca del componente “DATA1” nel log di diagnostica, viene individuata la sezione XML seguente:

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

L'analisi del log di diagnostica conferma che viene comunque eseguita la migrazione dei file e che il problema riguarda la regola XML di migrazione creata. Crei quindi un aggiornamento dello script XML di migrazione nel modo seguente:

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

Lo script XML di migrazione modificato esclude i file dalla migrazione, come confermato dal log di diagnostica:

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

Argomenti correlati

Libreria di elementi XML

Sintassi di ScanState

Sintassi di LoadState