From fb262c751cb9d45e5f86a3630f4a8ca30d343dd3 Mon Sep 17 00:00:00 2001 From: Frank Rojas <45807133+frankroj@users.noreply.github.com> Date: Wed, 3 Jan 2024 10:07:09 -0500 Subject: [PATCH] USMT Refresh 21 --- .../deployment/usmt/usmt-loadstate-syntax.md | 50 ++++++++--------- .../deployment/usmt/usmt-scanstate-syntax.md | 56 +++++++++---------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/windows/deployment/usmt/usmt-loadstate-syntax.md b/windows/deployment/usmt/usmt-loadstate-syntax.md index 09770eaafe..ee5c2a9a7e 100644 --- a/windows/deployment/usmt/usmt-loadstate-syntax.md +++ b/windows/deployment/usmt/usmt-loadstate-syntax.md @@ -126,37 +126,37 @@ The `/uel`, `/ue` and `/ui` options can be used together to migrate only the use ## Incompatible command-line options -The following table indicates which command-line options aren't compatible with the `LoadState.exe` command. If the table entry for a particular combination is blank, the options are compatible, and they can be used together. The ❌ symbol means that the options aren't compatible. For example, the `/nocompress` option can't be used with the `/encrypt` option. +The following table indicates which command-line options aren't compatible with the `LoadState.exe` command. If the table entry for a particular combination has a ✔️, the options are compatible, and they can be used together. The ❌ symbol means that the options aren't compatible. For example, the `/nocompress` option can't be used with the `/encrypt` option. | Command-Line Option | /keyfile | /nocompress | /genconfig | /all | |--- |--- |--- |--- |--- | -| **/i** | | | | | -| **/v** | | | | | -| **/nocompress** | | N/A | ❌ | | -| **/key** | ❌ | | ❌ | | -| **/decrypt** | Required* | ❌ | ❌ | | -| **/keyfile** | N/A | | ❌ | | -| **/l** | | | | | -| **/progress** | | | ❌ | | -| **/r** | | | ❌ | | -| **/w** | | | ❌ | | -| **/c** | | | ❌ | | -| **/p** | | | ❌ | N/A | -| **/all** | | | ❌ | | -| **/ui** | | | ❌ | ❌ | -| **/ue** | | | ❌ | ❌ | -| **/uel** | | | ❌ | ❌ | -| **/genconfig** | | | N/A | | -| **/config** | | | ❌ | | -| *StorePath* | | | | | -| **/md** | | | | | -| **/mu** | | | | | -| **/lae** | | | | | -| **/lac** | | | | | +| **/i** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/v** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/nocompress** | ✔️ | N/A | ❌ | ✔️ | +| **/key** | ❌ | ✔️ | ❌ | ✔️ | +| **/decrypt** | Required* | ❌ | ❌ | ✔️ | +| **/keyfile** | N/A | ✔️ | ❌ | ✔️ | +| **/l** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/progress** | ✔️ | ✔️ | ❌ | ✔️ | +| **/r** | ✔️ | ✔️ | ❌ | ✔️ | +| **/w** | ✔️ | ✔️ | ❌ | ✔️ | +| **/c** | ✔️ | ✔️ | ❌ | ✔️ | +| **/p** | ✔️ | ✔️ | ❌ | N/A | +| **/all** | ✔️ | ✔️ | ❌ | ✔️ | +| **/ui** | ✔️ | ✔️ | ❌ | ❌ | +| **/ue** | ✔️ | ✔️ | ❌ | ❌ | +| **/uel** | ✔️ | ✔️ | ❌ | ❌ | +| **/genconfig** | ✔️ | ✔️ | N/A | ✔️ | +| **/config** | ✔️ | ✔️ | ❌ | ✔️ | +| *StorePath* | ✔️ | ✔️ | ✔️ | ✔️ | +| **/md** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/mu** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/lae** | ✔️ | ✔️ | ✔️ | ✔️ | +| **/lac** | ✔️ | ✔️ | ✔️ | ✔️ | > [!NOTE] > -> You must specify either the `/key` or `/keyfile` option with the `/encrypt` option. +> Either the `/key` or `/keyfile` option must be specified with the `/decrypt` option. ## Related articles diff --git a/windows/deployment/usmt/usmt-scanstate-syntax.md b/windows/deployment/usmt/usmt-scanstate-syntax.md index 5534aa81ef..eba9501ee5 100644 --- a/windows/deployment/usmt/usmt-scanstate-syntax.md +++ b/windows/deployment/usmt/usmt-scanstate-syntax.md @@ -65,7 +65,7 @@ To create an encrypted store using the `Config.xml` file and the default migrati | **/hardlink** | Enables the creation of a hard-link migration store at the specified location. The `/nocompress` option must be specified with the `/hardlink` option. | | **/encrypt** [{**/key:** *\* | **/keyfile**:*\*]} | Encrypts the store with the specified key. Encryption is disabled by default. With this option, the encryption key needs to be specified in one of the following ways:
*KeyString* is recommended to be at least eight characters long, but it can't exceed 256 characters. The `/key` and `/keyfile` options can't be used on the same command line. The `/encrypt` and `/nocompress` options can't be used on the same command line.
**Important**
Use caution when using the `/key` or `keyfile` options. For example, anyone who has access to scripts that run the `ScanState.exe` command with these options also have access to the encryption key.

The following example shows the `ScanState.exe` command and the `/key` option:
`ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /encrypt /key:mykey` | | **/encrypt**:*\* | The `/encrypt` option accepts a command-line parameter to define the encryption strength to be used for encryption of the migration store. For more information about supported encryption algorithms, see [Migration Store Encryption](usmt-migration-store-encryption.md). | -| **/nocompress** | Disables compression of data and saves the files to a hidden folder named "File" at *StorePath*\USMT. Compression is enabled by default. Combining the `/nocompress` option with the `/hardlink` option generates a hard-link migration store. The uncompressed store can be used to view what USMT stored, troubleshoot a problem, or run an antivirus utility against the files. This option should only be used in testing environments. Microsoft recommends using a compressed store during production migrations, unless combining the `/nocompress` option with the `/hardlink` option.

The `/nocompress` and `/encrypt` options can't be used together in one statement on the command line. However, if an uncompressed store is migrated, the `LoadState.exe` command migrates each file directly from the store to the correct location on the destination computer without a temporary location.

For example:
`ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /nocompress` | +| **/nocompress** | Disables compression of data and saves the files to a hidden folder named "File" at *StorePath*\USMT. Compression is enabled by default. Combining the `/nocompress` option with the `/hardlink` option generates a hard-link migration store. The uncompressed store can be used to view what USMT stored, troubleshoot a problem, or run an antivirus utility against the files. This option should only be used in testing environments. Microsoft recommends using a compressed store during production migrations, unless combining the `/nocompress` option with the `/hardlink` option.

The `/nocompress` and `/encrypt` options can't be used together in one statement on the command line. However, if an uncompressed store is migrated, the `LoadState.exe` command migrates each file directly from the store to the correct location on the destination computer without a temporary location.

For example:
`ScanState.exe /i:MigDocs.xml /i:MigApp.xml \server\share\migration\mystore /nocompress` | ## Run the ScanState command on an offline Windows system @@ -106,7 +106,7 @@ USMT provides the following options to specify what files to migrate. | Command-Line Option | Description | |-----|-----| -| **/i:**[*Path*]*FileName* | **(include)**

Specifies an **.xml** file that contains rules that define what user, application, or system state to migrate. This option can be specified multiple times to include all of the **.xml** files (`MigApp.xml`, `MigDocs.xml`, and any custom **.xml** files that are created). *Path* can be either a relative or full path. If the *Path* variable isn't specified, then *FileName* must be located in the current directory. For more information about which files to specify, see the "XML Files" section of the [Frequently asked questions](usmt-faq.yml) article. | +| **/i:**[*Path*]*FileName* | **(include)**

Specifies an **.xml** file that contains rules that define what user, application, or system state to migrate. This option can be specified multiple times to include all of the **.xml** files (`MigApp.xml`, `MigDocs.xml`, and any custom **.xml** files that are created). *Path* can be either a relative or full path. If the *Path* variable isn't specified, then *FileName* must be located in the current directory. For more information about which files to specify, see the \"XML Files\" section of the [Frequently asked questions](usmt-faq.yml) article. | | **/genconfig:**[*Path*]*FileName* | (Generate **Config.xml**)

Generates the optional `Config.xml` file, but doesn't create a migration store. To ensure that this file contains everything that needs to be migrated, create this file on a source computer that contains all of the:
  • components
  • applications
  • settings
present on the destination computers. In addition, the other migration **.xml** files should be specified, using the **/i** option, when this option is specified.

After this file is created, it can be used with the `ScanState.exe` command using the **/config** option.

The only options that can be specified with this option are the `/i`, `/v`, and `/l` options. *StorePath* can't be specified, because the `/genconfig` option doesn't create a store. *Path* can be either a relative or full path. If the *Path* variable isn't specified, then *FileName* is created in the current directory.

Examples:
  • The following example creates a `Config.xml` file in the current directory:
    `ScanState.exe /i:MigApp.xml /i:MigDocs.xml /genconfig:Config.xml /v:13`
| | **/config:**[*Path*]*FileName* | Specifies the `Config.xml` file that the `ScanState.exe` command should use to create the store. This option can't be used more than once on the command line. *Path* can be either a relative or full path. If the *Path* variable isn't specified, then *FileName* must be located in the current directory.

The following example creates a store using the `Config.xml` file, `MigDocs.xml`, and `MigApp.xml` files:
`ScanState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:13 /l:ScanState.log`

The following example migrates the files and settings to the destination computer using the `Config.xml`, `MigDocs.xml`, and `MigApp.xml` files:
`LoadState.exe \server\share\migration\mystore /config:Config.xml /i:MigDocs.xml /i:MigApp.xml /v:13 /l:LoadState.log` | | **/auto:** *path to script files* | This option enables specifying the location of the default **.xml** files. If no path is specified, USMT references the directory where the USMT binaries are located. The `/auto` option has the same effect as using the following options: `/i: MigDocs.xml /i:MigApp.xml /v:5`. | @@ -130,7 +130,7 @@ USMT provides several options that can be used to analyze problems that occur du | **/c** | When this option is specified, the `ScanState.exe` command continues to run, even if non-fatal errors occur. Any files or settings that cause an error are logged in the progress log. For example, if there's a large file that doesn't fit in the store, the `ScanState.exe` command logs an error and continue with the migration. In addition, if a file is open or in use by an application, USMT might not be able to migrate the file and logs an error. Without the `/c` option, the `ScanState.exe` command exits on the first error.

The \<**ErrorControl**\> section in the `Config.xml` file can be used to specify which file or registry read/write errors can be safely ignored and which might cause the migration to fail. This advantage in the `Config.xml` file enables the `/c` command-line option to safely skip all input/output (I/O) errors in the environment. In addition, the /`genconfig` option now generates a sample \<**ErrorControl**\> section that is enabled by specifying error messages and desired behaviors in the `Config.xml` file. | | **/r:***\* | **(Retry)**

Specifies the number of times to retry when an error occurs while saving the user state to a server. The default is three times. This option is useful in environments where network connectivity isn't reliable.

When the user state is stored, the `/r` option can't recover data that is lost due to a network-hardware failure, such as a faulty or disconnected network cable, or when a virtual private network (VPN) connection fails. The retry option is intended for large, busy networks where connectivity is satisfactory, but communication latency is a problem. | | **/w:***\* | **(Wait)**

Specifies the time to wait, in seconds, before retrying a network file operation. The default is 1 second. | -| **/p:***\* | When the `ScanState.exe` command runs, it creates an **.xml** file in the path specified. This **.xml** file includes improved space estimations for the migration store. The following example shows how to create this **.xml** file:
`ScanState.exe C:\MigrationLocation [additional parameters]`
`/p:"C:\MigrationStoreSize.xml"`

For more information, see [Estimate Migration Store Size](usmt-estimate-migration-store-size.md).

To preserve the functionality of existing applications or scripts that require the previous behavior of USMT, the `/p` option can be used, without specifying *"pathtoafile"*, in USMT. If only the `/p` option is specified, the storage space estimations are created in the same manner as with USMT 3.x releases. | +| **/p:***\* | When the `ScanState.exe` command runs, it creates an **.xml** file in the path specified. This **.xml** file includes improved space estimations for the migration store. The following example shows how to create this **.xml** file:
`ScanState.exe C:\MigrationLocation [additional parameters]`
`/p:"C:\MigrationStoreSize.xml"`

For more information, see [Estimate Migration Store Size](usmt-estimate-migration-store-size.md).

To preserve the functionality of existing applications or scripts that require the previous behavior of USMT, the `/p` option can be used, without specifying *\"pathtoafile\"*, in USMT. If only the `/p` option is specified, the storage space estimations are created in the same manner as with USMT 3.x releases. | | **/?** or **/help** | Displays Help at the command line. | ## User options @@ -196,37 +196,37 @@ For more information, see [Migrate EFS Files and Certificates](usmt-migrate-efs- ## Incompatible command-line options -The following table indicates which command-line options aren't compatible with the `ScanState.exe` command. If the table entry for a particular combination is blank, the options are compatible and they can be used together. The X symbol means that the options aren't compatible. For example, the `/nocompress` option can't be used with the `/encrypt` option. +The following table indicates which command-line options aren't compatible with the `ScanState.exe` command. If the table entry for a particular combination has a ✔️, the options are compatible and they can be used together. The ❌ symbol means that the options aren't compatible. For example, the `/nocompress` option can't be used with the `/encrypt` option. |Command-Line Option|/keyfile|/nocompress|/genconfig|/all| |--- |--- |--- |--- |--- | -|**/i**||||| -|**/o**||||| -|**/v**||||| -|**/nocompress**||||N/A| -|**/localonly**|||❌|| -|**/key**|❌||❌|| -|**/encrypt**|Required*|❌|❌|| -|**/keyfile**|N/A||❌|| -|**/l**||||| -|**/listfiles**|||❌|| -|**/progress**|||❌|| -|**/r**|||❌|| -|**/w**|||❌|| -|**/c**|||❌|| -|**/p**|||❌|N/A| -|**/all**|||❌|| -|**/ui**|||❌|❌| -|**/ue**|||❌|❌| -|**/uel**|||❌|❌| -|**/efs**:*\*|||❌|| -|**/genconfig**|||N/A|| -|**/config**|||❌|| -|*\*|||❌|| +|**/i**| ✔️ | ✔️ | ✔️ | ✔️ | +|**/o**| ✔️ | ✔️ | ✔️ | ✔️ | +|**/v**| ✔️ | ✔️ | ✔️ | ✔️ | +|**/nocompress**| ✔️ | ✔️ | ✔️ |N/A| +|**/localonly**| ✔️ | ✔️ | ❌ | ✔️ | +|**/key**| ❌ | ✔️ | ❌ | ✔️ | +|**/encrypt**|Required*| ❌ | ❌ | ✔️ | +|**/keyfile**|N/A| ✔️ | ❌ | ✔️ | +|**/l**| ✔️ | ✔️ | ✔️ | ✔️ | +|**/listfiles**| ✔️ | ✔️ | ❌ | ✔️ | +|**/progress**| ✔️ | ✔️ | ❌ | ✔️ | +|**/r**| ✔️ | ✔️ | ❌ | ✔️ | +|**/w**| ✔️ | ✔️ | ❌ | ✔️ | +|**/c**| ✔️ | ✔️ | ❌ | ✔️ | +|**/p**| ✔️ | ✔️ | ❌ |N/A| +|**/all**| ✔️ | ✔️ | ❌ | ✔️ | +|**/ui**| ✔️ | ✔️ | ❌ | ❌ | +|**/ue**| ✔️ | ✔️ | ❌ | ❌ | +|**/uel**| ✔️ | ✔️ | ❌ | ❌ | +|**/efs**:*\*| ✔️ | ✔️ | ❌ | ✔️ | +|**/genconfig**| ✔️ | ✔️ |N/A| ✔️ | +|**/config**| ✔️ | ✔️ | ❌ | ✔️ | +|*\*| ✔️ | ✔️ | ❌ | ✔️ | > [!NOTE] > -> The `/key` or `/keyfile` option must be specified with the `/encrypt` option. +> Either the `/key` or `/keyfile` option must be specified with the `/encrypt` option. ## Related articles