Super Grate fully supports unification of its various components, for example:
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)
After running the steps above, Super Grate should run without a hitch.
Backing up a user profile using Super Grate is "Super Easy".
Restoring a User Profile is just as easy as Backing up a User Profile.
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.
To delete a profile on a source compuer you must:
To delete a profile from the store you must:
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.
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".
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
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.
While using Super Grate, you might encounter errors. You may post any errors you get to here.
Below are some notes about logging:
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:
An example of the above may look like this below:
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></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>
<!--Security Protocol Version (Restart Required): SystemDefault, Ssl3, Tls, Tls11, Tls12, Tls13.-->
<SecurityProtocol>Tls12</SecurityProtocol>
</SuperGrate>
winmgmt /resetrepository
Remote Registry
service is disabled on the remote / target computer: [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.