当我在cmd
中运行qwinsta /server:somesrv
命令时,我可以获得登录到特定Windows服务器的所有当前RDP会话的列表。
SESSIONNAME USERNAME ID STATE TYPE DEVICE
console 0 Conn wdcon
rdp-tcp 65536 Listen rdpwd
rdp-tcp#594 tom1 1 Active rdpwd
rdp-tcp#595 bob1 2 Active rdpwd
是否可以从Powershell在远程服务器上获得这样的列表,以便在其他地方使用这些数据?
2条答案
按热度按时间iyfamqjs1#
有多种选择:
qwinsta
的输出解析为对象。* 简单的解决方案。参见下面的示例 *Cassia.DLL
.Net Package 器访问qwinsta
在后台运行的本机API。这是TS模块使用的类。* 比较困难,但可以根据您的需要进行自定义。*Cassia.DLL
通过P/Invoke访问的原生方法(wtsapi32.dll
、kernel32.dll
、winsta.dll
)。* 困难且过于复杂。*Qwinsta的PowerShell Package
avwztpqn2#
我曾经使用过Terminal Services PowerShell模块(现在在codeplex归档中),但那是两年前的事了,我不能把手放在它上面,但它在gitshub或其他网站上也存在一个嵌入
QWinsta/RmWinsta
的函数。