I am wondering how to start process remotely within the users context like he started it. Let me explain. I know how to start process remotely, so for example I want to start notepad:
Invoke-WmiMethod win32_process -name create -ComputerName $remoteMachine -ArgumentList "notepad" -credential (Get-Credential)
the problem is that it starts notepad "in the backround" (not in the users context), so in this case he won't see opened "notepad" dialog/process (he will see notepad just in the list of processes in task manager). I want him to see notepad window dialog.
Does anybody know how to achieve that?
Use built-in SchTasks.exe for a supported way to create processes on a remote system. This interfaces with the built-in Task Scheduler service and does not require PsExec.exe.
To create a task on a remote machine (in this example running as SYSTEM):
schtasks.exe /create /F /S COMPUTERNAME /RU "NT AUTHORITY\SYSTEM" /RL HIGHEST /SC ONSTART /TN "RemoteProcess" /TR "program.exe \"argument 1\" \"argument 2\""
schtasks.exe /Run /S COMPUTERNAME /I /TN "RemoteProcess"
schtasks.exe /Delete /S COMPUTERNAME /TN "RemoteProcess"
Notes:
/SC ONCE /SD "01/01/1980" /ST "00:00:00"
which would have the same effect./RU "DOMAIN\USER"
. This will work without a password (/RP
option) if the user is logged in
./Query /S COMPUTERNAME /TN "RemoteProcess" /V
to find the current status e.g. to wait for exit and then read the exit code.You can also do all the above with script using the Task Scheduler Scripting Objects:
You cannot start interactive processes using WMI or PowerSHell remoting. This is a security limitation/feature. You need to use PSExec if you want to start remote interactive processes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With