Impersonation for code works, but not for powershell.exe (yet). Powershell.exe worked if the credentials were passed to BackgroundProcess

Created ProcessCommand class from which any task that needs to execute a process can derive.