> Tech > Automatiser les opérations Scanstate et Loadstate

Automatiser les opérations Scanstate et Loadstate

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Vous devez tenir compte de quelques règles concernant la fonctionnalité USMT et son bon usage. USMT n'est destiné qu'à  la migration de profils basés sur des utilisateurs de domaines et pas de profils basés sur des groupes de travail. Il faut exécuter Scanstate, ou le fichier batch qui l'appelle, pendant

Automatiser les opérations Scanstate et Loadstate

que vous êtes connecté comme l’utilisateur
dont vous voulez faire migrer le fichier.
Il faut exécuter Loadstate, ou le
fichier batch qui l’appelle, comme un utilisateur
possédant des droits administratifs
sur le système cible. L’utilisateur que vous
voulez faire migrer ne doit pas avoir déjà 
un profil sur l’ordinateur cible. A cause de
cette dernière règle, vous ne devez pas
tenter d’exécuter Loadstate comme l’utilisateur
faisant l’objet de la migration. Pour
assurer la réussite de l’opération, j’exécute
toujours Scanstate comme l’utilisateur final
et Loadstate comme l’administrateur local.

Pour simplifier les migrations multiples tout en assurant
l’homogénéité des données et des paramètres utilisateur
transférés, vous pouvez utiliser les variables et les chemins
prédéfinis qui se trouvent dans les fichiers batch.
GetUser.bat, que montre le listing 1, recueille des données et
des paramètres de l’ordinateur source, et PutUser.bat, que
l’on voit dans le listing 2, place les données et les paramètres
sur le système cible. Pour voir une liste des arguments que
Scanstate accepte, voir le tableau 1. (N’utilisez les paramètres
/u, /f et /x que si vous en avez
besoin pour le dépannage. Scanstate
recueille les paramètres utilisateur,
les paramètres système et
les données spécifiés dans les
fichiers .inf par défaut.)
Examinons d’abord GetUser.
bat. On voit dans le listing 1 que le
fichier batch utilise la variable %1
comme nom d’utilisateur. Entrez
une valeur à  la place de cette variable.
Le fichier batch utilise
cette valeur dans le chemin de migration,
qui est un argument obligatoire
pour Scanstate, et pour
créer des dossiers spécifiques aux utilisateurs. Ensuite, le fichier
batch crée et nomme (en utilisant la variable) un sousdossier,
dans lequel il écrira les contenus et les fichiers log
migrés. Notez que le fichier batch crée ce dossier au-dessous
du dossier \Captured que vous avez créé auparavant.
Ensuite, le fichier batch détermine quel OS est en service
et saute à  la section correspondante pour exécuter la version
de Scanstate appropriée. Seul le chemin conduisant à  scanstate.
exe change, donc vous pouvez utiliser un jeu de fichiers
.inf pour les deux types d’OS : Windows NT et Win9x. Le fichier
batch inclut le paramètre /c afin que Scanstate continue
malgré des problèmes mineurs comme des noms de fichiers
longs. Vous devez spécifier le chemin et le nom de fichier de
chaque fichier .inf que vous voulez traiter. Pour cela, incluez
le chemin et le nom de fichier, précédés de /i, comme arguments
de la commande Scanstate.exe. Pour que l’exécution réussisse indépendamment du mode
de lancement du fichier batch, je vous
conseille d’utiliser des noms de chemins
UNC complets. Les paramètres /l
et /v donnent l’emplacement, le nom
et le niveau de détail du fichier log. Le
dernier argument, \\MyServer\usmtCaptured\%1, est le chemin vers lequel
le fichier batch écrira les fichiers et les
données de paramètres capturés.
Voyons maintenant PutUser.bat.
Loadstate demande une chaîne d’arguments
moins complexe parce qu’elle
n’utilise qu’un fichier d’entrée, migration.
inf, que le processus Scanstate
crée. De plus, il n’existe pas de version
ANSI de Loadstate. Comme USMT
n’est destiné qu’aux migrations vers de
nouveaux OS, le fichier batch n’a pas
besoin de la logique de découverte de
l’OS. Notez dans le listing 2 que le fichier
batch utilise essentiellement la
même syntaxe que celle du listing 1
pour Scanstate. On trouve les mêmes
paramètres, à  l’exception de /c. A nouveau,
le fichier batch utilise une variable
fournie par l’utilisateur pour déterminer
les chemins à  partir desquels
USMT restaurera les données et les paramètres,
et vers lesquels l’outil écrira
le fichier log.

Vous constaterez qu’en exécutant
Scanstate en « mode plein gaz » au travers
de GetUser.bat, on collecte plus
de données que nécessaire pour une
migration concrète. Je vous conseille
quand même de commencer avec ce
mode afin de bien voir quelle information
est concernée par la migration et
comment elle migre vers le système
cible. Ensuite, en modifiant ou en
omettant certains fichiers .inf, vous
pourrez commencer à  éliminer les
parties que vous ne voulez pas faire
migrer. Pour collecter des données et
des paramètres personnalisés, vous
pouvez aussi créer vos propres fichiers
.inf et utiliser le paramètre /i pour les
spécifier dans le fichier batch.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010