--- title: UsmtUtils Syntax (Windows 10) description: Learn about the syntax for the utilities available in User State Migration Tool (USMT) 10.0 through the command-line interface. ms.reviewer: manager: dougeby ms.author: aaroncz ms.prod: w10 author: aczechowski ms.date: 04/19/2017 ms.topic: article --- # UsmtUtils Syntax This topic describes the syntax for the utilities available in User State Migration Tool (USMT) 10.0 through the command-line interface. These utilities: - Improve your ability to determine cryptographic options for your migration. - Assist in removing hard-link stores that cannot otherwise be deleted due to a sharing lock. - Verify whether the catalog file or any of the other files in the compressed migration store have become corrupted. - Extract files from the compressed migration store when you migrate files and settings to the destination computer. ## In This Topic [Usmtutils.exe](#bkmk-usmtutils-exe) [Verify Options](#bkmk-verifyoptions) [Extract Options](#bkmk-extractoptions) ## Usmtutils.exe The following table lists command-line options for USMTutils.exe. The sections that follow provide further command-line options for the **/verify** and the **/extract** options. The syntax for UsmtUtils.exe is: usmtutils \[/ec | /rd *<storeDir>* | /verify *<filepath>* \[options\] | /extract *<filepath>* *<destinationPath>* \[options\]\] |Command-line Option|Description| |--- |--- | |**/ec**|Returns a list of supported cryptographic algorithms (AlgIDs) on the current system. You can use this on a destination computer to determine which algorithm to use with the **/encrypt** command before you run the ScanState tool on the source computer.| |**/rd** *<storeDir>* |Removes the directory path specified by the *<storeDir>* argument on the computer. You can use this command to delete hard-link migration stores that cannot otherwise be deleted at a command prompt due to a sharing lock. If the migration store spans multiple volumes on a given drive, it will be deleted from all of these volumes.

For example:
`usmtutils /rd D:\MyHardLinkStore`| |**/y**|Overrides the accept deletions prompt when used with the **/rd** option. When you use the **/y** option with the **/rd** option, you will not be prompted to accept the deletions before USMT deletes the directories.| |**/verify**|Returns information on whether the compressed migration store is intact or whether it contains corrupted files or a corrupted catalog.

See [Verify Options](#bkmk-verifyoptions) for syntax and options to use with **/verify**.| |**/extract**|Recovers files from a compressed USMT migration store.

See [Extract Options](#bkmk-extractoptions) for syntax and options to use with **/extract**.| ## Verify Options Use the **/verify** option when you want to determine whether a compressed migration store is intact or whether it contains corrupted files or a corrupted catalog. For more information on how to use the **/verify** option, see [Verify the Condition of a Compressed Migration Store](verify-the-condition-of-a-compressed-migration-store.md). The syntax for **/verify** is: usmtutils /verify\[:*<reportType>*\] *<filePath>* \[/l:*<logfile>*\] \[/v:*VerbosityLevel*\] \[/decrypt \[:*<AlgID>*\] {/key:*<keystring>* | /keyfile:*<filename>*}\] | Command-line Option | Description | |-----|--------| | *<reportType>* | Specifies whether to report on all files, corrupted files only, or the status of the catalog. | | **/l:**
*<logfilePath>* | Specifies the location and name of the log file. | | **/v:** *<VerbosityLevel>* | **(Verbosity)**

Enables verbose output in the UsmtUtils log file. The default value is 0.

You can set the *VerbosityLevel* to one of the following levels:
| | **/decrypt** *<AlgID>* **/**:*<KeyString>*
or
**/decrypt** *<AlgID>* **/**:*<“Key String”>*
or
**/decrypt:** *<AlgID>* **/keyfile**:*<FileName>* | Specifies that the **/encrypt** option was used to create the migration store with the ScanState tool. To decrypt the migration store, specify a **/key** or **/keyfile** option as follows:

For more information about supported encryption algorithms, see [Migration Store Encryption](usmt-migration-store-encryption.md) | Some examples of **/verify** commands: - `usmtutils /verify D:\MyMigrationStore\store.mig` - `usmtutils /verify:catalog D:\MyMigrationStore\store.mig` - `usmtutils /verify:all D:\MyMigrationStore\store.mig /decrypt /l:D:\UsmtUtilsLog.txt` - `usmtutils /verify:failureonly D:\MyMigrationStore\store.mig /decrypt:AES_192 /keyfile:D:\encryptionKey.txt` ## Extract Options Use the **/extract** option to recover files from a compressed USMT migration store if it will not restore normally with loadstate. For more information on how to use the **/extract** option, see [Extract Files from a Compressed USMT Migration Store](usmt-extract-files-from-a-compressed-migration-store.md). The syntax for **/extract** is: /extract *<filePath>* *<destinationPath>* \[/i:*<includePattern>*\] \[/e: *<excludePattern>*\] \[/l: *<logfile>*\] \[/v: *VerbosityLevel>*\] \[/decrypt\[:*<AlgID>*\] {key: *<keystring>* | /keyfile: *<filename>*}\] \[/o\] | Command-line Option | Description | |-------|-----| | *<filePath>* | Path to the USMT migration store.

For example:
`D:\MyMigrationStore\USMT\store.mig` | | *<destinationPath>* | Path to the folder where the tool puts the individual files. | | **/i**:*<includePattern>* | Specifies a pattern for files to include in the extraction. You can specify more than one pattern. Separate patterns with a comma or a semicolon. You can use **/i**: *<includePattern>* and **/e**: *<excludePattern>* options in the same command. When both include and exclude patterns are used on the command line, include patterns take precedence over exclude patterns. | | **/e**:*<excludePattern>* | Specifies a pattern for files to omit from the extraction. You can specify more than one pattern. Separate patterns with a comma or a semicolon. You can use **/i**: *<includePattern>* and **/e**: *<excludePattern>* options in the same command. When both include and exclude patterns are used on the command line, include patterns take precedence over exclude patterns. | | **/l**:*<logfilePath>* | Specifies the location and name of the log file. | | **/v:***<VerbosityLevel>* | **(Verbosity)**

Enables verbose output in the UsmtUtils log file. The default value is 0.

You can set the *VerbosityLevel* to one of the following levels:
| | **/decrypt***<AlgID>***/key**:*<KeyString>*
or
**/decrypt***<AlgID>***/**:*<“Key String”>*
or
**/decrypt:***<AlgID>***/keyfile**:*<FileName>* | Specifies that the **/encrypt** option was used to create the migration store with the ScanState tool. To decrypt the migration store, you must also specify a **/key** or **/keyfile** option as follows:

For more information about supported encryption algorithms, see [Migration Store Encryption](usmt-migration-store-encryption.md). | | **/o** | Overwrites existing output files. | Some examples of **/extract** commands: - `usmtutils /extract D:\MyMigrationStore\USMT\store.mig C:\ExtractedStore` - `usmtutils /extract D:\MyMigrationStore\USMT\store.mig /i:"*.txt, *.pdf" C:\ExtractedStore /decrypt /keyfile:D:\encryptionKey.txt` - `usmtutils /extract D:\MyMigrationStore\USMT\store.mig /e:*.exe C:\ExtractedStore /decrypt:AES_128 /key:password /l:C:\usmtlog.txt` - `usmtutils /extract D:\MyMigrationStore\USMT\store.mig /i:myProject.* /e:*.exe C:\ExtractedStore /o` ## Related topics [User State Migration Tool (USMT) Command-line Syntax](usmt-command-line-syntax.md) [Return Codes](usmt-return-codes.md)