
Good day, gentlemen. In connection with the recent death of Windows XP, this topic is quite relevant, therefore, let's start.
The main problem - USMT 6.3 does not support Windows XP, and USMT 5.0 does not support Windows 8.1. Have to use both versions.
High-level partitioning of works:1. Preparing SCCM for OSD Procedure
2. Creating the necessary packages
3. Creating the necessary Task Sequence (hereinafter TS)
4. Linking computers to SCCM
5. Data migration from Windows XP to a data migration point.
6. Install Windows 8.1 on a computer with the restoration of pre-migrated data.
In addition, I assume that you have a ready and working infrastructure SCCM 2012 R2.
')
Limitations:
1. SCCM Client must be installed on all machines running Windows XP
2. You can migrate folders and files, the settings will not move.
More under the cut.
Preparing SCCM for the OSD procedure1. Preparing PXE
Open the console, then go to the Administration> Servers and Site Roles> Distribution Point, open the properties, tick the “Enable PXE support for clients”, “Enable unknown computer support” and “Allow this distribution”. In addition, you need to configure DHCP for PXE to work correctly.
option 66 - NetBIOS PXE server name
option 67 - \ smsboot \ x64 \ wdsnbp.com
WDS settings do not need to touch.
2. Installing the State Migration Point role
Open the console, then stamp in the Administration> Sites, right-click on the desired site “Add Site System Roles”. If you have a Standalone Primary Site (and this is true for 99.99% of those who read this), click on the “next” button N-th number of times, do not forget to choose the role of the State Migration Point, specify the folder for data storage and data retention after successful migration .
Creating the necessary packages1. Adding a Windows 8.1 Image
I personally added just install.wim from the installation disk (as part of the test), if you have a corporate image add it.
2. Add USMT package.
USMT 6.3 is created when SCCM is installed, we need USMT 5.0 (build 6.2.9200.16384), download ADK
from here and install only USMT (not better on a machine with already installed USMT 6.3) and “tear out” USMT files from it ( the default folder is C: \ Program Files (x86) \ Windows Kits \ 8.0 \ Assessment and Deployment Kit \ User State Migration Tool)
After that, we copy them to the server and create a package that includes the copied files, the program does not need to be created.
3. Creating MDT Boot Image
Open the console, then stamp in the Software Library> Operating Systems> Boot Images. “Create Boot Image using MDT”, enter the name, description, path to the storage location of the package, then select the bit depth and the size of “Scratch Space”, it is recommended to choose a size of at least 128 MB. It is necessary to create both x86 and x64 images. After creation, you must go to the properties of the created images and tick the “Deploy this boot image from the PXE-enabled distribution point”
Creating the necessary TSs1. Create TS to migrate data from Windows XP.
We open the console, then we stamp in Software Library> Operating Systems> Task Sequence. Create the usual “Custom Task Sequence” with three steps: Request State Store, Capture User State, Release State Store. In the Capture User State step, select the “Customize how user profiles are captured” option and add the MigDocs.xml and MigUser.xml files.
This TS will use the USMT 5.0 package.
2. Creating a TS for installing Windows 8.1
We open the console, then we stamp in Software Library> Operating Systems> Task Sequence. Create MDT Task Sequence. We set the name and comments, enter information about the organization, input to the domain, etc., on the next screen leave a tick "This task sequence will never be used." Select the boot image and the Windows 8.1 package created earlier. Create a new MDT Toolkit Package, fill in the information. Select the item "Zero Touch Installation". Select the SCCM client package. Select the package USMT (6.3!) Create a new MDT Settings Package, fill in the information. Click "next" to the end.
3. TS modification
It is necessary to modify our TS to
work . This TS will use the USMT 6.3 package.
We open the console, then we stamp in Software Library> Operating Systems> Task Sequence. Choose our TS and click "Edit". Find the “Set Status 5” step and add the “Request State Store” step after it and select “Restore State from another computer”

In the tab “Options” add the condition “Task Sequence Variable” “USMTLOCAL” “Not equals” “True”

Add “Release State Store” under “Restore User State” and add the same condition for it.
Next, in the “Restore User State” section, select the “Customize how user profiles are restored” option and add the MigDocs.xml and MigUser.xml files

In the “Set Variable for Drive Letter” item in the “Install” group, change the value to “True”
4. Modifying CustomSettings.ini
When you create the MDT Setting Package, the CustomSettings.ini file was created, you must modify it. Add the following lines to it:
DeploymentType = NEWCOMPUTER
SLShare = \\ servername \ xxx \ log - UNC path to the folder where TS will copy the logs, very convenient for troubleshooting.
ScanStateArgs = / v: 5 / o / c / ue:% computername% \ * - attention, this command will exclude all local users from the migration process.
LoadStateArgs = / v: 5 / c
5. Distribute packages
You must distribute all the packages and both boot images to the content distribution point. (I, personally, always forget to do it)
Linking computers to SCCMThis step is necessary for successful migration, it is necessary to link computers for successful migration between different computers.
We open the console, then we stamp in Assets And Compliance> User State Migration. Select the item “Create Computer Association” and select the source computer (Windows XP) and the target (Windows 8.1). If the target computer does not already exist, you must create it in SCCM.
In case you need to implement the “Refresh” script, and not “Replace” you do not need to connect computers. You simply start the data collection, then reboot the machine in PXE and start the installation of Windows 8.1.
The following paragraphs 5 and 6.Naturally, for proper migration, you need to correctly create collections for which you “incite” TS data.
Collection with all Windows XP computers:
select * from SMS_R_System inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_OPERATING_SYSTEM.Caption like "* Windows XP *"
The collection for Windows 8.1 computers will also need to be created.
Thus, it is possible to migrate both the settings from the old computer to the new one, and within the “limits” of one machine.
Of the benefits - a copy of the user's files on the server is as much as needed, a single script for “Refresh” (this script is better implemented entirely through WinPE, but this requires a separate TS) and “Replace” scripts.
Of the minuses - 2 TS, one is not done in WinPE because the user can somehow influence it, you need a lot of space at the State Migration Point to store user information.
This post is a pseudo-random data set.
4c74356b41
ps I will answer the main question in the comments "Why?". If you have thousands of machines on Windows XP, there can be no talk about manual migration, SCCM programs can be installed during the installation process, large companies always have some kind of corporate standards and the user usually does not need to ask what programs they need.
Of course, everyone solves the problems that have arisen to him since it is more convenient for him, but I did not have a choice, I was given a specific task, according to the results of researching the problem, I wrote this opus.