![如何调用 Hyper-V 增强会话屏幕分辨率提示?](https://linux22.com/image/1519104/%E5%A6%82%E4%BD%95%E8%B0%83%E7%94%A8%20Hyper-V%20%E5%A2%9E%E5%BC%BA%E4%BC%9A%E8%AF%9D%E5%B1%8F%E5%B9%95%E5%88%86%E8%BE%A8%E7%8E%87%E6%8F%90%E7%A4%BA%EF%BC%9F.png)
在 Windows 10 中使用客户端 Hyper-V 时,首次打开虚拟机增强会话时,它会提示您选择分辨率,然后记住您的选择,并且似乎再也不会提示。分辨率设置存储在哪里,或者我如何强制再次提示此屏幕分辨率以更改所选分辨率?
答案1
您可以使用 cmd.exe 并输入:
VMConnect.exe <ServerName> <VMName> /edit
PS:您还可以像在普通 Windows 远程桌面会话中一样共享本地硬盘(显示选项->选项卡本地资源->本地设备和资源->更多):-)
您可能需要启动虚拟机才能使其工作。如果在本地主机上,您可能需要从管理员提示符运行它。
答案2
答案3
增强会话配置/设置文件:
- 每个虚拟机增强会话设置的配置文件可以在以下位置找到:
%APPDATA%\Microsoft\Windows\Hyper-V\Client\1.0
- 文件命名方案是
vmconnect.rdp.<VMGUID>.config
- 每个 .config 文件包含 15 或 16 个设置(8.0 版及更低版本的 VM 为 15 个,8.1 版及更高版本的 VM 为 16 个)。与该问题相关的两个设置是:
"SaveButtonChecked"
如果将其更改为False
,将强制在下次连接到该虚拟机时打开连接设置对话框"DesktopSize"
存储分辨率
- 删除此目录中的虚拟机的 .config 文件也会强制打开连接设置对话框
使用 Hyper-V 管理器打开连接设置对话框:
使用 vmconnect.exe 打开连接设置对话框
vmconnect.exe "VMServerName" "VMName" -G "VMGUID" -C 0 /edit
- 如果有多个虚拟机使用相同的 VMName(例如 2 个名为 的虚拟机
"Server1"
):vmconnect.exe "VMServerName" "Server1" /edit
将始终打开 的第一个实例Server1
(并且永远不会打开第二个实例)——这就是为什么使用 参数-G "VMGUID"
(单独使用或与 一起使用"VMName"
)是有益的。- 如果打开多个 vmconnect.exe 实例,
-C
每次运行时将参数增加 1 将交错窗口位置,使每个vmconnect.exe
窗口更容易看到。
要了解 VM 是否可以建立增强 RDP 会话,请执行以下操作:
(Get-VMHost).EnableEnhancedSessionMode
将告诉您虚拟机服务器上是否启用了增强会话模式- 在虚拟机服务器上,您可以查询 WMI 命名空间
ROOT/virtualization/v2
和Msvm_ComputerSystem
班级对于给定的虚拟机该
EnhancedSessionModeState
属性返回一个uint16
值:价值 描述 意义 2 允许且可用 虚拟机上允许使用增强模式 3 不允许 虚拟机上不允许使用增强模式 6 允许但不可用 允许使用增强模式,但目前在虚拟机上不可用 $VMId = 'fde3a5fa-2fbf-4010-8ea0-5d8fdd2c50ad' $CimParams = @{ Namespace = 'ROOT/virtualization/v2' ClassName = 'Msvm_ComputerSystem' Filter = "Name = '$VMId'" Property = 'EnhancedSessionModeState' } (Get-CimInstance @CimParams).EnhancedSessionModeState
答案4
我所做的就是关闭窗口并重新连接,它会再次提示我进行显示配置设置(Windows 10 Hyper-V 管理器)