belowaverage-org / SuperGrate

💾 Get moving with Super Grate; a free & open source Windows Profile Migration & Backup Utility. Super Grate is a GUI (Graphical User Interface) that assists Microsoft's USMT (User State Migration Utility) in performing remote migrations over a network connection.
https://belowaverage.org/software/supergrate
GNU General Public License v3.0
194 stars 23 forks source link

Remote Registry Dependency Bug #57

Closed krisdb2009 closed 3 years ago

krisdb2009 commented 3 years ago

Describe the bug Super Grate is not supposed to be dependant on the "Remote Registry" service. Turns out, the WaitForProcessExit needs the Remote Registry to be enabled in order to work.

To Reproduce Steps to reproduce the behavior:

  1. Disable remote registry on target PC.
  2. Start a migration.

Logs

[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.

Additional context

One solution might be to just add this behavior to the documentation instead of re-programming the process "watchdog". To be determined.