从Linux / Mac监视Windowsterminal会话

我正在编写一些脚本,使远程连接到一个Windows 2003服务器更方便用户,在这样做,我想看看谁已经login。 在Windows中,我可以使用qwinsta.exe来做到这一点,即使是远程服务器。 所以它以某种方式暴露出来,但是我找不到适用于Unix的命令行工具。

缺乏这样一个工具,我可以在机器上安装一个ssh服务器,并远程调用它,parsing输出或者写一个我自己的servlets,如果我不想全面的ssh访问的话,可以通过http来暴露这个服务。

我必须这样做,还是已经有远程查询terminal服务的工具了?

如果你想要一个简单的命令行访问Windows服务器,
freeSSHd的。

它将允许您使用ssh客户端login到Windows Server并远程运行命令。 然后您可以运行qwinsta.exe并使用其输出。

如果您可以find一个合适的方法来从非Windows主机查询Windows WMI(并且有一些适用于Linux的 ),那么您可以通过查询Win32_LogonSessions来获取当前会话。 此方法的缺点是WMI服务需要在您的目标上处于活动状态。

另一个(也许更简单)的替代方法就像你所说的那样,使用SSH连接在本地运行qwinsta命令,并抓取/parsing输出。

他们在堆栈溢出的问题都是聪明的,当谈到programmin时,他们可能会有更多的见解。

我很困惑,你想看看谁login到Unix机器或谁login到Windows机器。 对于Unix,只要使用谁。