MigAssistant icon indicating copy to clipboard operation
MigAssistant copied to clipboard

The Workstation Migration Assistant is a visual wrapper for Microsoft's User State Migration Tool, designed to simplify the capture / restore process for your end-users, and at the same time being hig...

Just a note about the source to start with. It was built in Visual Studio 2010 beta 1 so it’s likely a requirement in order to open.


The Workstation Migration Assistant is a visual wrapper for Microsoft's User State Migration Tool, designed to simplify the capture / restore process for your end-users, and at the same time being highly configurable so that it can be customised to suit your organisations needs. Some of the features include:

• Migrate via a pre-defined network storage location, external USB drive, or user-specified location. USB drive detection is automatic, and you can decide whether drives below a certain size are ignored (ie, memory sticks) • Optional Hard Disk Health Check will run a CHKDSK prior to capture and fix errors if any are found • Optional Encryption using a pre-defined company encryption key, or per-user customised encryption (for highly sensitive data that can’t be stored on a server without being encrypted) • Use different configurations for "XP Only" (2000 / XP to XP) migrations via Standard (2000 / XP / Vista / Win 7 to XP / Vista / Win 7) • Automatically run pre and post-capture / restore scripts and programs (very useful to further configure machine settings) • Migrate domain only accounts, or domain and local • Automatically exclude certain domain or local accounts from the migration • Automatically send log files to an e-mail address via SMTP after the migration • On-screen status during every stage of the migration, including ETA • Option to limit migrations to a certain size, i.e. if over 20GB of data to backup, then fail and inform user. This is also overridable • Automatic checks for USMT installation and optionally download and install • Command-line automation • Super-pretty UI :)


*** Pre-requisites ***

Please note that the Workstation Migration Assistant requires the Microsoft .NET Framework 2.0 to function. If you don’t have it installed, you’ll receive an error when you try to run WMA

Installation and configuration

• Extract the files to a local folder. It IS possible to run WMA from a network location, however this requires modifying the .NET security restrictions on each workstation you intend to run on. This can be done by running the following command from an Administrator Elevated command-prompt:

"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol" -quiet -m -ag "LocalIntranet_Zone" -url "\UNCPATH\WMA\App*" FullTrust -n "Workstation Migration Assistant Assembly" -d "Grants full trust"

Where \UNCPATH\WMA\App is the full path to the Workstation Migration Assistant

• Copy your USMT RuleSet files (MigUser.XML, MigApp.XML, MigSys.XML). If you do not have any, WMA will automatically copy these into the WMA folder on first run. Tailor them to suit your needs.

• If required, generate a config file from your RuleSet files. This step is not required, but will speed up the initial scan time of a migration. This is done by running:

ScanState.Exe /I:MigUser.XML /I:MigApp.XML /I:MigSys.XML /GenConfig:MyConfig.XML

Use the /TargetXP switch for XP Only migrations. This will speed up the migration process on these machine types.

• Edit the Workstation Migration Assistant configuration file (MigAssistant.Exe.Config). The following options are available:

MigrationNetworkLocation Location for Network-based Migrations

MigrationNetworkLocationDisabled Whether Network-based Migrations are disabled

MigrationExclusionsDomain Comma-delimited list of domain accounts to exclude

MigrationExclusionsLocal Comma-delimited list of local accounts to exclude

MigrationExclusionsOlderThanDays Specifies that the migration should exclude users that have not logged on within the specified time. The default value of 0 means this setting will be ignored

MigrationXPOnly Whether migrations are "XP Only". XPOnly rules then apply, including /TargetXP switch in USMT

MigrationConfig Default configuration file, created with ScanState /GenConfig: switch

MigrationConfigXPOnly XP Only configuration file, created with ScanState /GenConfig: switch

MigrationMultiUserMode If set, defaults the migration type to multi-user mode

MigrationRuleSet Comma-delimited list of default ruleset files, ie. MigUser.XML, MigApp.XML, MigSys.XML

MigrationRuleSetXPOnly Comma-delimited list of XP Only ruleset files, ie. MigUser.XML, MigApp.XML, MigSys.XML

MigrationUSBMinSize Minimum size an attached USB drive needs to be before WMA will try to use for migration

MigrationUSBAutoUseIfAvailable Automatically uses an attached USB drive if found, without prompting. Useful in ZTI scenarios

MigrationMaxSize Maximum size of data allowed during capture process

MigrationOverWriteExistingFolders Whether an existing migration should be automatically overwritten should it be found

MigrationCompressionDisabled Disables compression (and encryption). This is useful for testing your ruleset to ensure everything is migrated

MigrationDomainChange Whether users should be migrated to a new domain during LoadState

MigrationEncryptionDisabled Whether encryption is enabled or disabled

MigrationEncryptionDefaultKey The default encryption key to use in migrations

MigrationRestoreAccountsPassword The password that should be set for accounts when multiple accounts are being migrated

MigrationRestoreAccountsEnabled Whether accounts should be enabled when multiple accounts are being migrated

MigrationScriptsPreCapture Comma-delimted list of scripts/executables to run pre-Capture

MigrationScriptsPostCapture Comma-delimted list of scripts/executables to run post-Capture

MigrationScriptsPreRestore Comma-delimted list of scripts/executables to run pre-Restore

MigrationScriptsPostRestore Comma-delimted list of scripts/executables to run post-Restore

MigrationScriptsNoWindow Whether output should be shown from these scripts

SettingsHealthCheckDefaultEnabled Whether the Health Check should be enabled by default

SettingsWorkstationDetailsDisabled Whether the Workstation Details panel should be disabled and hidden

SettingsAdvancedSettingsDisabled Whether the Advanced Settings button and window show be disabled and hidden

MailSend Whether an SMTP mail should be sent after capture / restore

MailServer SMTP Server

MailRecipients Comma-delimited list of e-mail recipients

MailFrom Email address from which the mail should come from

USMTLoggingValue Verbosity level for Scanstate / Loadstate. More info in USMT Help file (USMT.CHM)

SettingsDebugMode Whether debugging is enabled / disabled. Debugging is outputted to the file %TEMP%\WMA.Log


*** Command Line Parameters ***

It is possible to automate the Workstation Migration Assistant via the command-line. The following parameters are available:

/PROGRESSONLY <CAPTURE | RESTORE> Initiate an automatic capture / restore.

/MIGFOLDER Specifies an alternate location for the migration datastore

/MIGOVERWRITEEXISTING Automatically overwrites the existing migration datastore if it exists

/MIGMAXOVERRIDE Overrides the specified maximum size of the migration data during capture

/MULTIUSERMODE If set, defaults the migration type to multi-user mode

/XPONLY Enables “XP Only” mode if the target machine will be XP

/CHANGEDOMAIN Changes the domain that users should be migrated to during LoadState