有没有办法从命令行/Powershell 显示 RDP 会话的加密级别?

有没有办法从命令行/Powershell 显示 RDP 会话的加密级别?

对于 Windows 2008,我需要创建一个脚本,显示连接的 RDP 会话是否设置为“高”加密或其他加密(例如“兼容”)。

有谁知道不通过 GUI 就能实现这个功能的方法吗?

我调查了 wmic 和 powershell,但什么也没找到。我找到了一个用于终端服务的 .net Powershell 模块,但它所做的只是显示状态(即列出会话)。我实际上需要查看加密级别。

答案1

看起来这个 power shell 命令应该可以帮你完成

get-childitem -path RDS:\RDSConfiguration\Connections\RDP-Tcp\SecuritySettings\EncryptionLevel | format-list

http://technet.microsoft.com/en-us/library/ee791871(WS.10).aspx

答案2

实现此功能的 C++ API 是 WTSQuerySessionInformation,其中 WTS_INFO_CLASS 的值为 26。所包含的 Powershell 模块均未实现此功能,但 TechNet 脚本库中有一个这里。底层模块确实实现了几种直到 Server 2008 R2 才可用的类型,因此您可能需要对其进行稍微修改才能使其按预期工作。您可以在支持的结构上找到更多信息这里。我知道这已经过去了将近一年,但也许其他人正在寻找这个......

相关内容