Explorer.exe should be running in the context as the user you are looking for. Please try this and see if works for you. I would appreciate you replying with your results.

? GetProcessOwner("explorer.exe")
Function GetProcessOwner($Exename, optional $remotepc) dim $sc,$processes,$process if $remotepc="" $remotepc="." endif $sc = CreateObject("ScriptControl") $sc.language = "VBScript" $Processes = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" + $remotepc + "\root\cimv2").ExecQuery("Select * from Win32_Process where Name='" + $exename + "'") For Each $Process in $Processes $sc.addobject('vbProcess',$Process) $sc.addcode('Return = VbProcess.GetOwner(strNameOfUser)') $sc.run $GetProcessOwner=$sc.codeobject.strNameofUser next Endfunction