有什么方法可以检测 Windows 服务器是 运行 有头还是无头?

Is there any way to detect whether Windows server is running in headed or headless?

有什么方法可以使用命令行检测 Windows 10 个服务器是 运行 有头模式还是无头模式? 当用户断开与 window 服务器的连接时,会发生什么变化?

Query session 应提供用户是从 RDP 断开连接还是从控制台注销,但对于其他远程访问解决方案,没有通用指示。

以下是计算机上具有活动控制台会话(非无头)的查询会话示例:

C:\Users\foo>query session
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 services                                    0  Disc
>console           foo                       1  Active
 31c5ce94259d4...                        65536  Listen
 rdp-tcp                                 65538  Listen

下面是使用 psexec 从一台机器上获取 query session 的输出的反例,该机器的 RDP 用户已断开连接,并且控制台会话中没有人:

C:\Users\administrator>psexec \target -s query session

PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com


 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
>services                                    0  Disc
 console                                     1  Conn
                   jsmith                    3  Disc
                   Administrator            12  Disc
 rdp-tcp                                 65536  Listen
query exited on target with error code 1.

“无头”的定义也有些令人担忧,因为 VGA 不需要反向信号,所以如果服务器没有连接显示器,但已登录并输出视频 - 它是“无头”吗?它知道自己是无头的吗?