Funzionamento di USMT
USMT include due strumenti che eseguono la migrazione di impostazioni e dati: ScanState e LoadState. ScanState raccoglie informazioni dal computer di origine e LoadState applica tali informazioni al computer di destinazione.
Nota
Per altre informazioni sul modo in cui USMT elabora le regole e i file XML, vedere Conflitti e precedenza.
Processo ScanState
Quando lo strumento ScanState viene eseguito nel computer di origine, esegue il processo seguente:
Analizza e convalida i parametri della riga di comando, crea il
ScanState.log
file e quindi inizia la registrazione.Raccoglie informazioni su tutti i componenti di migrazione di cui è necessario eseguire la migrazione. Un componente di migrazione è un gruppo logico di file, chiavi del Registro di sistema e valori. Ad esempio, il set di file, chiavi del Registro di sistema e valori che archivia le impostazioni di Adobe Acrobat viene raggruppato in un singolo componente di migrazione.
Esistono tre tipi di componenti:
Componenti che e migrano le impostazioni del sistema operativo.
Componenti che esegredono le impostazioni dell'applicazione.
Componenti che migrano i file degli utenti.
Lo strumento ScanState raccoglie informazioni sulle impostazioni dell'applicazione e sui componenti dei dati utente dai file .xml specificati nella riga di comando.
Nelle versioni attualmente supportate di Windows, i file manifesto controllano la modalità di migrazione delle impostazioni del sistema operativo. Questi file non possono essere modificati. Per escludere determinate impostazioni del sistema operativo, è necessario creare e modificare un
Config.xml
file.ScanState determina quali profili utente devono essere migrati. Per impostazione predefinita, viene eseguita la migrazione di tutti i profili utente nel computer di origine. Tuttavia, gli utenti possono essere inclusi ed esclusi usando le opzioni Utente. Viene sempre eseguita la migrazione del profilo di sistema e del profilo pubblico in un computer di origine che esegue versioni attualmente supportate di Windows e questi profili non possono essere esclusi dalla migrazione.
Nella fase di analisiScanState esegue le operazioni seguenti per ogni profilo utente selezionato per la migrazione:
Per ogni componente, ScanState controlla il tipo del componente. Se il profilo utente corrente è il profilo di sistema e il tipo di componente è System o UserAndSystem, il componente viene selezionato per l'utente. In caso contrario, il componente viene ignorato. In alternativa, se il profilo utente corrente non è il profilo di sistema e il tipo di componente è User o UserAndSystem, il componente viene selezionato per l'utente. In caso contrario, questo componente viene ignorato.
Nota
Da questo punto in poi, ScanState non distingue tra i componenti che eseguono la migrazione delle impostazioni del sistema operativo, i componenti che eseguono la migrazione delle impostazioni dell'applicazione e i componenti che eseguono la migrazione dei file degli utenti. ScanState elabora tutti i componenti nello stesso modo.
Ogni componente selezionato nel passaggio precedente viene elaborato ulteriormente. Tutte le variabili specifiche del profilo, ad esempio CSIDL_PERSONAL, vengono valutate nel contesto del profilo corrente. Ad esempio, se il profilo elaborato appartiene a User1, CSIDL_PERSONAL si espanderà in
C:\Users\User1\Documents
, presupponendo che i profili utente siano archiviati nellaC:\Users
directory.Per ogni componente selezionato, ScanState valuta la <sezione rileva> . Se la condizione nella <sezione rileva restituisce> false, il componente non viene elaborato ulteriormente. In caso contrario, l'elaborazione di questo componente continua.
Per ogni componente selezionato, ScanState valuta le sezioni delle <regole> . Per ogni <sezione delle regole> , se il profilo utente corrente è il profilo di sistema e il contesto della <sezione delle regole> è System o UserAndSystem, la regola viene elaborata ulteriormente. In caso contrario, questa regola viene ignorata. In alternativa, se il profilo utente corrente non è il profilo di sistema e il contesto della <sezione delle regole> è User o UserAndSystem, la regola viene elaborata ulteriormente. In caso contrario, questa regola viene ignorata.
ScanState crea un elenco di unità di migrazione di cui è necessario eseguire la migrazione elaborando le varie sottosezioni in questa <sezione delle regole> . Ogni unità viene raccolta se l'unità è menzionata in una <sottosezione di inclusione> , purché non sia presente una regola più specifica in una <sottosezione di esclusione> nella stessa <sezione delle regole> . Per altre informazioni sulla precedenza nei file .xml , vedere Conflitti e precedenza.
Inoltre, non viene eseguita la migrazione di qualsiasi unità di migrazione, ad esempio un file, una chiave del Registro di sistema o un set di valori del Registro di sistema, che si trova in una <sezione UnconditionalExclude> .
Nota
ScanState ignora alcune sottosezioni, ad <esempio destinationCleanup> e <locationModify>. Queste sezioni vengono valutate solo nel computer di destinazione.
Nella fase di raccoltaScanState crea un elenco centrale delle unità di migrazione combinando gli elenchi creati per ogni profilo utente selezionato.
Nella fase di salvataggioScanState scrive le unità di migrazione raccolte nella posizione dell'archivio.
Nota
ScanState non modifica in alcun modo il computer di origine.
Processo LoadState
Il processo LoadState è simile al processo ScanState . Lo strumento ScanState raccoglie le unità di migrazione, ad esempio file, chiave del Registro di sistema o valori del Registro di sistema, dal computer di origine e le salva nell'archivio. Analogamente, lo strumento LoadState raccoglie le unità di migrazione dall'archivio e le applica al computer di destinazione.
ScanState analizza e convalida i parametri della riga di comando, crea il
ScanState.log
file e quindi inizia la registrazione.LoadState raccoglie informazioni sui componenti di migrazione di cui è necessario eseguire la migrazione.
LoadState ottiene informazioni per i componenti delle impostazioni dell'applicazione e i componenti dati utente dalla migrazione .xml file specificati dal
LoadState.exe
comando .Nelle versioni attualmente supportate di Windows, i file manifesto controllano la modalità di migrazione delle impostazioni del sistema operativo. Questi file non possono essere modificati. Per escludere determinate impostazioni del sistema operativo, è necessario creare e modificare un
Config.xml
file.LoadState determina quali profili utente devono essere migrati. Per impostazione predefinita, viene eseguita la migrazione di tutti i profili utente presenti nel computer di origine. Tuttavia, gli utenti possono essere inclusi ed esclusi usando le opzioni Utente. Viene sempre eseguita la migrazione del profilo di sistema e del profilo pubblico in un computer di origine che esegue versioni attualmente supportate di Windows e questi profili non possono essere esclusi dalla migrazione.
Se viene eseguita la migrazione degli account utente locali e se gli account non esistono già nel computer di destinazione, è necessario usare l'opzione della
/lac
riga di comando. Se l'opzione/lac
non è specificata, gli account utente locali non già presenti nel computer di destinazione non vengono migrati.Se specificato con il
LoadState.exe
comando , le/md
opzioni e/mu
vengono elaborate per rinominare il profilo utente nel computer di destinazione.Per ogni profilo utente selezionato nell'archivio, LoadState crea un profilo utente corrispondente nel computer di destinazione. Il computer di destinazione non deve essere connesso al dominio per la creazione dei profili utente di dominio. Se USMT non riesce a determinare un dominio, tenta di applicare le impostazioni a un account locale. Per altre informazioni, vedere Identificare gli utenti.
Nella fase di analisiLoadState esegue le operazioni seguenti per ogni profilo utente:
Per ogni componente, LoadState controlla il tipo del componente. Se il profilo utente corrente è il profilo di sistema e il tipo di componente è System o UserAndSystem, il componente viene selezionato per l'utente. In caso contrario, il componente viene ignorato. In alternativa, se il profilo utente corrente non è il profilo di sistema e il tipo di componente è User o UserAndSystem, il componente viene selezionato per l'utente. In caso contrario, questo componente viene ignorato.
Nota
Da questo punto in poi , LoadState non distingue tra i componenti che eseguano la migrazione delle impostazioni del sistema operativo, i componenti che eseguano la migrazione delle impostazioni dell'applicazione e i componenti che eseguano la migrazione dei file degli utenti. LoadState valuta tutti i componenti nello stesso modo.
Ogni componente selezionato viene elaborato ulteriormente. Tutte le variabili specifiche del profilo, ad esempio CSIDL_PERSONAL, vengono valutate nel contesto del profilo corrente. Ad esempio, se il profilo elaborato appartiene a User1, CSIDL_PERSONAL si espanderà in
C:\Users\User1\Documents
(presupponendo che i profili utente siano archiviati nellaC:\Users
directory).Nota
LoadState ignora la <sezione rileva specificata> in un componente. A questo punto, tutti i componenti specificati vengono considerati rilevati e selezionati per la migrazione.
Per ogni componente selezionato, LoadState valuta le sezioni delle <regole> . Per ogni <sezione delle regole> , se il profilo utente corrente è il profilo di sistema e il contesto della <sezione delle regole> è System o UserAndSystem, la regola viene elaborata ulteriormente. In caso contrario, questa regola viene ignorata. In alternativa, se il profilo utente corrente non è il profilo di sistema e il contesto della <sezione delle regole> è User o UserAndSystem, la regola viene elaborata ulteriormente. In caso contrario, questa regola viene ignorata.
LoadState crea un elenco centrale di unità di migrazione elaborando le varie sottosezioni nella <sezione regole> . Ogni unità di migrazione che si trova in una <sottosezione di inclusione> viene migrata purché non sia presente una regola più specifica in una <sottosezione di esclusione> nella stessa <sezione delle regole> . Per altre informazioni sulla precedenza, vedere Conflitti e precedenza.
LoadState valuta le sottosezioni specifiche del computer di destinazione, ad esempio le <sottosezioni destinationCleanup> e <locationModify> .
Se il computer di destinazione esegue una versione attualmente supportata di Windows, i migunits raccolti da ScanState usando file manifesto di livello inferiore vengono elaborati da LoadState usando il manifesto del componente corrispondente della versione di Windows di livello inferiore. I file manifesto di livello inferiore non vengono usati durante LoadState.
Importante
Affinché LoadState usi i file.xml , è importante specificarli con il
LoadState.exe
comando . In caso contrario, tutte le regole specifiche della destinazione, ad <esempio locationModify>, in questi file.xml vengono ignorate, anche se durante l'esecuzione delScanState.exe
comando sono stati forniti gli stessi file .xml.
Nella fase ApplicaLoadState scrive le unità di migrazione raccolte nelle varie posizioni del computer di destinazione. Se sono presenti conflitti e non esiste una <regola di unione> per l'oggetto, il comportamento predefinito per il Registro di sistema è che l'origine sovrascriva la destinazione. Il comportamento predefinito per i file è che l'origine venga rinominata in modo incrementale, ad esempio OriginalFileName(1). OriginalExtension. Alcune impostazioni, ad esempio i tipi di carattere, lo sfondo e le impostazioni dello screen saver, non diventano effettive fino al successivo accesso dell'utente. Per questo motivo, disconnettersi al termine delle azioni del
LoadState.exe
comando.