
Features
- Simple GUI
- Configurable
- Works on Domain Joined and Non-Joined PCs
- Unified Backup Store
- Works remotely over a network
Download
Quick Start
- Simply download from one of the following sources:
- Run and done!
Unified Store Setup
Super Grate fully supports unification of its various components, for example:
- Unified Backup Store
- Unified Configuration
- Unified USMT Configuration
- Unified Logging
Super Grate supports all of this by simply supporting UNC paths.
Try placing SuperGrate.exe on a shared folder and configuring its settings and paths to also point at a shared folder. You can also set permissions on the folders to lock down what Super Grate users can do. (for instance: write protecting the SuperGrate.xml)
1.2.0.0 to 1.3.0.0 Upgrade Guide
Upgrading SuperGrate.xml.
- Open the new Super Grate after replacing the old executable.
- Navigate to “File”, then “Settings…” or press the “F12” on your keyboard.
- Press “Save to Disk” to add the new settings to your SuperGrate.xml
Upgrading the Backup Store.
- Download the following PowerShell script from here: store_upgrade_1.2.0.0_1.3.0.0.ps1.
- Copy the script to your SuperGrate directory where the STORE folder is located. (Do not copy into the STORE folder).
- Execute the .ps1 script, there should be no errors.
Conclusion
After running the steps above, Super Grate should run without a hitch.
Using Super Grate
Backing up a User Profile
Backing up a user profile using Super Grate is “Super Easy”.
- Enter the computer’s host-name in the “Source Computer” text box. 1.1. (Optional) Enter a destination computer in the “Destination Computer” text box to perform a Full Migration.
- Press “List Source” to generate a list of User Profiles available on the Source Computer.
- Select the User(s) you would like to back up.
- Press “Start”.

Restoring a User Profile
Restoring a User Profile is just as easy as Backing up a User Profile.
- Enter a Computer’s Host-name in the “Destination Computer” text box.
- Press “List Store” to display a list of Profiles available in the Backup Store.
- Select the Users you would like to restore to the “Destination Computer”.
- Press “Start”.

Optional:
If you want to restore a user profile onto another domain or as a different user name, follow the steps below.
- After performing a backup like normal, click “List Store”.
- Right click the user you want to rename.
- Select “Set destination user name…”
- In the dialog, enter the new username or domain and username e.g:
%DOMAIN%\%USERNAME%
or %USERNAME%
➡ BELOWAVERAGE\dylan
or dylan


Full Migration
A Full Migration is a Super Grate sequence where both the “Source Computer” and “Destination Computer” are occupied. When the backup / migration is started, Super Grate will back up the user profiles selected from the “Source Computer” to the store, then connect to the “Destination Computer” and apply the user profiles selected from the “Source Computer”.
There are options in the SuperGrate.xml and settings menu that can change the behavior presented above.
Deleting a profile on a source computer
To delete a profile on a source compuer you must:
- Enter a PC name in the “Source Computer” field.
- Press “List Source”.
- Select the user profile(s) to delete.
- Press the “Delete” button.
- In the message that appears, select “Accept”.
Deleting a profile from the store
To delete a profile from the store you must:
- Press “List Store”.
- Select the profile(s) to delete.
- Press “Delete”.
- In the message that appears, select “Accept”.
Customize Columns
To customize the shown columns, first either click on “List Source” or “List Store”, then select “View” and then “Add/Remove Columns…”. In the dialog that appears, add, remove, move up, or move down any column as required. Once done, select “OK”.
If you want to save your customizations for when Super Grate is launched again, go to “File”, “Settings…”, then press “Save to Disk”. This will save your modifications made to the columns to the SuperGrate.xml config file.
Check for updates
To check for updates in Super Grate, first go to “Help”, then select “Check for updates…”. In the dialog that appears, if there is an update available, the message on your screen will say so. If there is an update, select “Install”.
Command Line Switches
Super Grate supports configuration over CLI (Command Line Interface) switches. This means you can create custom shortcuts and launch Super Grate with specific settings.
Note: CLI Switches override SuperGrate.xml settings.
To use a CLI switch, do the following:
C:\>SuperGrate.exe /NameOfSetting:Value
or:
C:\>SuperGrate.exe /NameOfSetting:"Value"
for example:
C:\>SuperGrate.exe /HideBuiltInAccounts:"false"
For a list of settings, see: SuperGrate.xml
Development
Compiling Super Grate
Compiling Super Grate is easy to do; first, you need to download and install a copy of Microsoft’s Visual Studio (VS). — The community edition will do — Once done, clone this repository using VS’ “Get Started” page. Lastly, open the solution and press the green “Start / Play” button. This will compile and start Super Grate.
- Select “Batch Build” from the “Build” tab in the top menu bar.
- Check “Release” & “Release_64” then press “Rebuild”.
- SuperGrate.exe should be available in the bin folder of the project.
Debugging Super Grate
While using Super Grate, you might encounter errors. You may post any errors you get to here.
Below are some notes about logging:
- To display Verbose logs in the output console, double press anywhere in the “black” log area.
- To save all logs including Verbose logs to a file, press “CTRL + S” at the main screen.
- To automatically save log files to disk whenever Super Grate is used:
- Select “Settings”.
- Double click “DumpLogHereOnExit”.
- Enter “.\Logs” & Press “Apply”
- Press “Save to Disk” then press “Close”
Further Reading
Backup Store
The backup store or just “store” when using Super Grate is a directory on a share drive or local drive that “stores” the user profiles after they have been backed-up. Whether you performed a full migration or just a simple profile backup, the data transferred is stored here.
The file structure of the store is as follows:
- Base Folder (Specified in the SuperGrate.xml or Settings Menu)
- User Profile Folder (Named a generic GUID, Can be any name)
- data: A single file containing the backed-up profile.
- destination: A file containing the name of the destination computer where the profile last was exported too.
- exportedby: A file containing the name of the user who last exported the stored user profile.
- exportedon: A file containing the date of when the profile was last exported in windows file time
- importedby: A file containing the name of the user who imported the user profile.
- importedon: A file containing the date of when the profile was imported in windows file time.
- ntaccount: A file containing the name of the user profile that was imported.
- targetntaccount: A file containing the target user name and domain to use when restoring the profile.
- sid: A file containing the SID of the user profile that was imported.
- source: A file containing the name of the source computer the profile originated from.
- User Profile Folder (Named a generic GUID, Can be any name)
An example of the above may look like this below:
- C:\Program Files\Super Suite\Super Grate\STORE (Folder)
- bf31d643-27a7-4e5d-a4e5-277a4c5cc9d0 (Folder)
- data (File | RAW Data)
- destination (File | “DOMAIN\BA-PC02”)
- exportedby (File | “DOMAIN\Dylan.Bickerstaff”)
- exportedon (File | “132312220838407695”)
- importedby (File | “DOMAIN\Dylan.Bickerstaff”)
- importedon (File | “132312220838407695”)
- ntaccount (File | “DOMAIN1\Administrator1”)
- targetntaccount (File | “DOMAIN2\Administrator2”)
- sid (File | “S-1-5-21-3623811015-3361044348-30300820-1013”)
- source (File | “DOMAIN\BA-PC01”)
- bf31d643-27a7-4e5d-a4e5-277a4c5cc9d0 (Folder)
SuperGrate.xml
The SuperGrate.xml is a file that is automatically generated if it doesn’t exist in the “current working directory”. This file contains the preferences from the “Settings” menu.
Below is an example of the SuperGrate.xml file:
<?xml version="1.0" encoding="utf-8"?> <SuperGrate> <!--The UNC or Direct path to the USMT directory. (E.g: .\USMT\X64)--> <USMTPathX64>.\USMT\X64</USMTPathX64> <USMTPathX86>.\USMT\X86</USMTPathX86> <!--Local path on source computer where Super Grate will run USMT from. (E.g: C:\SuperGrate)--> <SuperGratePayloadPath>C:\SuperGrate</SuperGratePayloadPath> <!--The UNC or Direct path to the USMT Migration Store (E.g: \\ba-share\s$ or .\STORE)--> <MigrationStorePath>.\STORE</MigrationStorePath> <!--ScanState.exe & LoadState.exe CLI Parameters. See: https://docs.microsoft.com/en-us/windows/deployment/usmt/usmt-command-line-syntax --> <ScanStateParameters>/config:Config_SettingsOnly.xml /i:MigUser.xml /c /r:3 /o</ScanStateParameters> <LoadStateParameters>/config:Config_SettingsOnly.xml /i:MigUser.xml /c /r:3 /lac /lae</LoadStateParameters> <!--Delete the user from the migration store after a restore? (store to destination)--> <AutoDeleteFromStore>false</AutoDeleteFromStore> <!--Delete the user from the source computer after a backup? (source to store)--> <AutoDeleteFromSource>false</AutoDeleteFromSource> <!--Prevent NT AUTHORITY & NT SERVICE accounts from being listed?--> <HideBuiltInAccounts>true</HideBuiltInAccounts> <!--Prevent unknown accounts from being listed?--> <HideUnknownSIDs>false</HideUnknownSIDs> <!--Write log to disk on exit. (Leave blank to disable) (E.g: \\ba-share\s$\Logs or .\Logs)--> <DumpLogHereOnExit>.\LOGS</DumpLogHereOnExit> <!--List of columns to display for the Source or Store users.--> <ULSourceColumns>0,3,9</ULSourceColumns> <ULStoreColumns>0,1,5,6,4</ULStoreColumns> <!--User List View Mode: Large (0) / Small Icon (2), List (3), Details (1) and Tile (4).--> <ULViewMode>1</ULViewMode> <!--Default source computer at startup.--> <SourceComputer></SourceComputer> <!--Default destination computer at startup.--> <DestinationComputer></DestinationComputer> <!--Default tab view at startup: Source, Store, None.--> <TabView>None</TabView> <!--Security Protocol Version (Restart Required): SystemDefault, Ssl3, Tls, Tls11, Tls12, Tls13.--> <SecurityProtocol>Tls12</SecurityProtocol> </SuperGrate>
How Super Grate performs a Migration
Known Issues
- Sleep Mode
- Super Grate may fail if the remote PC or executing PC falls asleep.
- WMI
- Super Grate may fail if WMI is corrupt or disabled on the remote PC.
- To fix, run this command on the remote PC as an administrator:
winmgmt /resetrepository
- Remote Registry Dependence
- You may experience the following error if the
Remote Registry
service is disabled on the remote / target computer:
- You may experience the following error if the
[VERBOSE]<17.17.33> Waiting for scanstate to finish...
[ERROR]<17.17.33> Couldn't connect to remote machine.
[VERBOSE]<17.17.34> ERROR
at System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)
at System.Diagnostics.Process.GetProcesses(String machineName)
at System.Diagnostics.Process.GetProcessesByName(String processName, String machineName)
at SuperGrate.Remote.<>c__DisplayClass2_0.<<WaitForProcessExit>b__0>d.MoveNext()
[ERROR]<17.17.34> Couldn't get process information from performance counter.
[VERBOSE]<17.17.34> ERROR
at System.Diagnostics.NtProcessManager.GetProcessInfos(PerformanceCounterLib library)
at System.Diagnostics.NtProcessManager.GetProcessInfos(String machineName, Boolean isRemoteMachine)
[ERROR]<17.17.34> Failed to check if scanstate is still running.