Hyper-V Windows 10 虚机使用增强会话模式故障一例
还记得 gOxiA 早前撰写的一篇文章《Hyper-V - 增强会话模式》,向大家介绍了有关 Hyper-V 的一个新功能特性,即:增强会话模式,该模式会基于 RDP 方式连接到虚机进行管理和控制,以获得更好的操作体验,例如方便向虚机复制文件等等,文章也在末尾提到了一些使用方面的注意事项。
自 Windows 10 RTM 后 gOxiA 使用已经有一段时间,但最近偶然用到了一个小问题,感觉很有意思与大家分享!一台 Windows 10 Enterprise x64 的 ThinkPad T420,安装了 Hyper-V,并安装了一个 Windows 10 Enterprise LTSB 虚机,因为在 Hyper-V 设置中启用了“使用增强会话模式”,即:如果虚机系统支持增强会话模式时,VMConnect 默认以增强会话模式进行连接。
所以当连接启动好的 Windows 10 虚机时会提示增强模式会话的显示分辨率确认提示,直接连接即可进入虚机。
这个过程很显然并没有多大问题,但是在进入虚机后刚进入系统桌面便会自动退出,并未出现如下图的提示。即使反复重新连接都无济于事,必须停止增强会话模式。起初以为是只添加了网卡,并未分配桥接网路所导致,而且分配网络也确实恢复正常,但就在撰写此篇文章时发现元凶并非网络,而且早先文章也介绍过增强会话模式无需网络支持。
那么问题出在哪里呢?!切换回标准模式查看当前系统状态发现此时提示“由于远程桌面服务当前正忙,因此无法完成你尝试执行的任务。请在几分钟之后重试。其他用户应该仍然能够登录。”
看来与用户登录有关,之后在标准和增强会话模式间反复切换时发现了重点,系统提示我“与此计算机的连接数量是有限的,现在已经使用所有链接。请尝试稍后连接或与系统管理员联系。”出现这个提示意味着当前系统存在多个并发登录,并且这些用户 Session 处于活动状态,之后又反复测试发现在增强会话模式下即使已经登录到桌面,但是当切换回标准模式后会回到登录界面并要求重新登录。
而当从标准模式切换到增强会话模式时会自动使用当前账号提交自动登录。那么在 gOxiA 环境中,这个虚机没有设置用户密码,所以系统启动后会自动进入桌面,当使用 VMConnect 连接时又会自动提交一个新的用户登录 Session,此时的登录 Session 便会与标准模式下的已经登录的用户 Session 造成冲突,因为没有一个监测和处理机制所以就会出现上述的故障问题。
最后 gOxiA 启用了 Administrator 账号,并为两个账号设置了密码又进行了几番测试,结果从下图可以看到,如果账号设置了密码,那么即使是在同一个账号下进行模式的切换,都会触动一个正常标准的登录过程,标注实际操作为当前登录 Session。
身为一名 Windows ITPro 都应该知道 RDP 不接受账号密码为空的登录请求,很显然 VMConnect 使用增强会话模式连接一个系统账号密码为空的虚机时,提交了一个看似并不合规的登录请求,以绕过 RDP 协议规范的检查,最终才会导致这个故障的发生。但是有趣的是如果当前账号没有 RDP 权限,例如属于 Users 组时当使用增强会话模式连接时便会被阻止。
综上所述,要正常使用 Hyper-V 的增强会话模式,避免不必要的麻烦,务必满足用户RDP权限,并且为账号设置一个密码。此外 gOxiA 也会反馈给 Windows Insider,这个问题应该属于一个 Bug。