Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I want to open an application on another computer on the same network via the command line. The scenario here is that the user is in a room surrounded by about 20 computers and wants to be able to launch the same app on every computer without walking from screen to screen opening it up on each individual machine. I've discovered that I can get the basic functionality for this using PsExec as follows:

psexec \\[computer] -u [username] -p [password] -d -i [SessionID] [program]

For computer, username, password, and program, I'm good. Does anyone know of a way I can figure out which SessionID is assigned to a particular user logged on to a particular machine on the network? Alternately, is there a better way to go about what I'm trying to accomplish?

share|improve this question

5 Answers 5

Using Process Explorer on the computer you can use the Users menu to determine the session ID. The number at the beginning of each entry in the menu is the session ID.

It looks like typically you should be able to use 0 for the default session.

share|improve this answer
1  
Looks quite useful; however, I'm looking for the session ID assigned to a user on another computer. It looks like Process Explorer is only applicable to the machine on which it is running. Is that right? –  Dan Tao Mar 23 '10 at 19:32
    
Yes that is true. I haven't found a way to do this remotely. –  heavyd Mar 23 '10 at 19:54

You can use the qwinsta (or query session) tool to list all Terminal Server sessions.

Some servers allow to use it remotely directly:

qwinsta /server remotehost

In most cases, though, you'll have to run it through psexec:

psexec \\remotehost qwinsta
share|improve this answer

psexec does not require a session id.

share|improve this answer
    
It doesn't require a session ID in the sense that it simply defaults to 0, but that default is useless if there are multiple users logged in and you want to pick a specific one. –  grawity Jul 1 '13 at 16:53

You can try the PowerShell version:

Get-Process powershell | Select-Object SessionId | Format-List

or the MSDOS batch version:

tasklist /FI "IMAGENAME eq tasklist.exe" /FI "USERNAME eq %USERNAME%" /FO LIST | find "Session#:"
share|improve this answer

Run psexec \\\computername cmd, then type qwinsta.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.