如何调用 Hyper-V 增强会话屏幕分辨率提示?

如何调用 Hyper-V 增强会话屏幕分辨率提示?

在 Windows 10 中使用客户端 Hyper-V 时,首次打开虚拟机增强会话时,它会提示您选择分辨率,然后记住您的选择,并且似乎再也不会提示。分辨率设置存储在哪里,或者我如何强制再次提示此屏幕分辨率以更改所选分辨率?

答案1

您可以使用 cmd.exe 并输入:

VMConnect.exe <ServerName> <VMName> /edit

PS:您还可以像在普通 Windows 远程桌面会话中一样共享本地硬盘(显示选项->选项卡本地资源->本地设备和资源->更多):-)

您可能需要启动虚拟机才能使其工作。如果在本地主机上,您可能需要从管理员提示符运行它。

答案2

经过大量研究,我们发现了一个更简单的方法!

  • 关闭 VM 客户端

  • 更改 Hyper-V 管理器设置(Hyper-V 控制台的右侧窗口) Hyper-V 管理器设置

  • 在服务器->增强会话模式策略下,只需:

    • 取消选中允许增强会话模式
    • 申请
    • 重新检查允许增强会话模式(这将重置)。
    • 再次申请

增强会话模式

  • 现在启动有问题的虚拟机但不要连接。

启动虚拟机

  • 等待虚拟机启动,然后在控制台中右键单击虚拟机
  • 您应该会看到“编辑会话设置”选项
  • 单击此按钮后,原始对话框将再次出现。

完毕。

答案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 管理器打开连接设置对话框:

  • 当 VM 正在运行并且可以建立增强 RDP 会话时,Edit Session Settings...它将出现在操作窗格(右侧)中

    编辑会话设置...

使用 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/v2Msvm_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 管理器)

相关内容