Windows 上是否存在通过命令行类似于“who”或“w”的工具?

Windows 上是否存在通过命令行类似于“who”或“w”的工具?

如果不使用 cygwin 之类的东西,有没有办法从命令行找出所有登录 Windows 服务器的人?

答案1

who

奎斯塔
查询站

wfinger

穩瑟
查询用户

可以使用以下方式编写自定义工具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

答案2

尝试

WMIC /Node:remotecomputer ComputerSystem Get UserName

例如

WMIC /Node:127.0.0.1 ComputerSystem Get UserName

更多信息:

答案3

看看微软的 Sysinternals 工具登陆

答案4

输入query userquery user /server:remoteserver查看当前登录用户的列表。这还会告诉您他们是如何登录的。这适用于独立服务器和工作站以及终端服务器

相关内容