Existe uma ferramenta parecida com 'who' ou 'w' através da linha de comando no Windows?

4

Sem usar algo como o cygwin, existe uma maneira de descobrir todos que estão conectados a um servidor Windows na linha de comando?

    
por warren 01.05.2010 / 22:08

4 respostas

4

who :

qwinsta
query station

w , finger :

quser
query user

É possível escrever uma ferramenta personalizada usando WTSEnumerateSessions() e WTSQuerySessionInformation() - muito fácil de usar via Python com PyWin32 :

import win32ts
protocols = {
    win32ts.WTS_PROTOCOL_TYPE_CONSOLE: "console",
    win32ts.WTS_PROTOCOL_TYPE_ICA: "citrix",
    win32ts.WTS_PROTOCOL_TYPE_RDP: "rdp",
}

## alternatively, hServer = win32ts.WTSOpenServer("hostname")
hServer = win32ts.WTS_CURRENT_SERVER_HANDLE

currentSessId = win32ts.WTSGetActiveConsoleSessionId()
for session in win32ts.WTSEnumerateSessions(hServer):
    sessionId = session["SessionId"]
    session["UserName"] = win32ts.WTSQuerySessionInformation(hServer, sessionId, win32ts.WTSUserName)
    session["WinStationName"] = session["WinStationName"] or "(disconnected)"
    session["Protocol"] = win32ts.WTSQuerySessionInformation(hServer, sessionId, win32ts.WTSClientProtocolType)
    session["ProtocolName"] = protocols.get(session["Protocol"], "unknown")
    print "%(UserName)-20s %(WinStationName)s (%(ProtocolName)s/%(SessionId)d)" % session
    
por 02.05.2010 / 22:19
4

Tente

WMIC /Node:remotecomputer ComputerSystem Get UserName

Por exemplo

WMIC /Node:127.0.0.1 ComputerSystem Get UserName

Mais informações:

por 01.05.2010 / 22:32
1

Dê uma olhada na ferramenta da Microsofts Sysinternals PSLoggedOn

    
por 01.05.2010 / 22:25
1

digite query user ou query user /server:remoteserver para obter uma lista de usuários conectados no momento. Isso também informará como eles estão conectados. Isso funciona em servidores e estações de trabalho independentes, bem como em servidores de terminal

    
por 01.05.2010 / 23:27