I am in need of a script or powershell command that will be able to determine the session id of a specific logged in user on remote machine, to be later used as parameter to the psexec -i execution of remote gui process on that session of that user on the remote machine.
So far i managed to use
psexec \\remoteMachine -u user -p pswrd query session
to get list of sessions on the remote machine:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console 0 Conn wdcon
rdp-tcp#919 user 1 Active rdpwd
rdp-tcp#916 user 3 Active rdpwd
so i guess i could somehow isolate the needed id and use it - but haven't managed to do that yet
Any ideas? Maybe other - simpler ways?
Thanks for the help.
With the PSTerinalServices powershell module you can get the user sessions and IDs.
The module can be found here: http://code.msdn.microsoft.com/PSTerminalServices
It's possible to do that without PowerShell. There is
qwinsta
command line tool that ships with Windows that you can use.Example:
Usage:
As long as you're using PSExec, I would just stick with it. You can get the ID field pretty easily given a username e.g.:
Note that you want to use
-d
with PSExec otherwise it will wait until the launched program exits.