Capture a User State and Deploy it to an existing machine with SDA and SMA

Here again your favorite Random Dude. Today topic goes about User State with two totally different appliances, so let's jump into it.

Part 1 – Capturing the Profile with the SDA

1- Locate the Device where the desired profile is stored, in my case is a Virtual Machine running Win10 x64 1903.

2- Boot that Device into a KBE (KACE Boot Environment).

3- Go to Custom Deployments, and select the one named “Scan User states and Shutdown x64”. (This is a built-in task).


4- The KBE should show all the states inside the device, in my case I’m going to capture “Joker”, using a USMT Scan Template we have in our Library > USMT Scan Templates. (You could create a new one from there as well).


5- At the end, the Device will shut down on its own and we should head over to Library > User States and make sure our “Joker” user is there. (The upload process may take a while, depending on the parameters in your Scan Template and the amount of data this user has).

6- Our user profile is available in our Library, note the User ID in the URL, we will need it later in our next steps. (in my case 39).



Part 2 – Deploying the Profile with the SMA

1- Download and install the ADK for Windows 10, version 1903, make sure USMT is enabled as a feature.



2- Go to your KACE SDA Samba Share Folder, and access the clientdrop folder, create a new folder named “USMT”.


If you have problems accessing the Samba Share Folder, please make sure NTLMv1 is enabled in Settings > General Settings and see this links:

Unable to access Samba share from Windows 10 client. (267274)

Anyone running the Fall Creators Update having issues connecting to KBox Shares

3- Go to your folder in the C: drive,

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\User State Migration Tool\amd64\

Copy the contents of that amd64 folder into the USMT folder we created in the KACE SDA clientdrop.


4- Go to the KACE SMA > Scripts section, and create a new Online KScript, and add the target device.


If the logged-in users do not have admin rights, is best to Run it using a Local Admin or Domain Admin credentials.

OPTIONAL: You may use a notification to control when the Script Starts:


5- Create a BAT file named Deploy-USMT.bat with these contents and add it as a dependency.

(REMs are just comments I added, you do not need to add them):

net use U: \\KACE-IP\clientdrop\USMT /user:admin XXX

U:\loadstate.exe \\KACE-IP\peinst\user_states\39\ /lac /lae /progress:C:\proglog.txt /v:13 /l:C:\scanlog.txt

timeout /T 120 /NOBREAK

net use /del U:

REM replace the XXX in the first line with your KACE SDA Samba Password

REM Where 39 is the profile ID in the KACE SDA for “Joker”, my test user. (See first part steps)

REM Where KACE-IP is the IP of your KACE SDA



6- Create a new Task to call for that BAT file, and set it to Run a Batch file (replace the XXX with your samba share password), enable the Wait For Completion box.: