如果不使用像cygwin这样的东西,有没有办法找出从命令行登录到
Windows服务器的每个人?
谁:
qwinsta query station
w,手指:
quser query user
可以使用WTSEnumerateSessions()和WTSQuerySessionInformation()编写自定义工具 – 通过Python with 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,win32ts.WTSClientProtocolType)
session["ProtocolName"] = protocols.get(session["Protocol"],"unkNown")
print "%(UserName)-20s %(WinStationName)s (%(ProtocolName)s/%(SessionId)d)" % session