在Windows上是否有类似于“who”或“w”的工具?

没有使用像cygwin这样的东西,是否有一种方法可以find所有从命令行loginWindows服务器的人?

who

 qwinsta
查询台

wfinger

 QUSER
查询用户

使用WTSEnumerateSessions()WTSQuerySessionInformation()编写一个自定义工具是非常简单的 – 通过PyWin32可以很容易地使用Python :

 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 

尝试

 WMIC /Node:remotecomputer ComputerSystem Get UserName 

例如

 WMIC /Node:127.0.0.1 ComputerSystem Get UserName 

更多信息:

  • 微软TechNet上关于WMIC的一篇文章
  • 一个博客文章比较WMIC与WPS的Windows Powershell Cmdlet 。

看看微软Sysinternals工具PSLoggedOn

键入query userquery user /server:remoteserver获取当前login用户的列表。 这也将告诉你他们是如何login的。这可以在独立的服务器和工作站以及terminal服务器上工作