当我使用虚拟机连接工具连接到基于 Windows Server 2008 Hyper-V 的计算机上的虚拟机时,“不会建立连接,因为凭据可能不会发送到远程计算机”

本文提供帮助来修复尝试连接 Vmconnect.exe 到虚拟机时收到的错误。

适用于: Windows Server 2012 R2
原始 KB 编号: 954357

错误消息说明

使用虚拟机连接工具 (Vmconnect.exe) 连接到基于 Windows Server 2008 Hyper-V 的计算机上的虚拟机时,可能会收到以下错误消息:

不会建立连接,因为凭据可能不会发送到远程计算机。 如需帮助,请与系统管理员联系。

是否要重试连接?

原因

如果未启用基于 Windows Server 2008 Hyper-V 的计算机上的凭据安全服务提供程序 (CredSSP) 策略,则会发生此错误,以便从远程位置对用户凭据进行身份验证。

解决方案

可以在 Hyper-V 角色设置时配置 CredSSP 策略,以从远程用户启用凭据身份验证。 但是,如果不存在“配置注册表”部分中所述的任何注册表项,则会发生“症状”部分中所述的错误。 若要配置远程用户身份验证,请使用以下方法之一。

方法 1:配置注册表

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,请务必严格按照这些步骤操作。 为了加强保护,应先备份注册表,再进行修改。 如果出现问题,可以还原注册表。 有关如何备份和还原注册表的更多信息,请单击下面的文章编号查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表

如果 CredSSP 策略未正确设置,则可以手动创建策略。 为此,请在多个注册表子项下创建以下注册表项:

名称:Hyper-V
值类型:字符串值
值数据:Microsoft 虚拟控制台服务/*

必须在以下注册表子项下创建此注册表项:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentials
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentialsDomain
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentials
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsDomain
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnly
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnlyDomain
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentials
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsDomain
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsWhenNTLMOnly

“如何创建注册表项”部分介绍如何在列表中的第一个注册表子项下创建注册表项。 必须针对剩余的注册表子项重复这些步骤。

如何创建注册表项

按照以下步骤操作,然后退出 注册表编辑器

  1. 依次单击“开始”、“运行”,键入 regedit,然后单击“确定”

  2. 找到并单击注册表中的以下密钥: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentials

  3. “编辑” 菜单上,指向 “新建”,然后单击 “字符串值”。

  4. 入 Hyper-V,然后按 Enter。

  5. “编辑”菜单上,单击“修改”

  6. 入 Microsoft 虚拟控制台服务/*,然后单击 “确定”。

方法 2:使用组策略设置

若要启用远程凭据的身份验证,可以使用 Gpedit 工具在基于 Windows Server 2008 Hyper-V 的计算机上配置组策略设置。 为此,请按照下列步骤操作:

  1. 启动 Gpedit.msc。

  2. 展开 计算机配置,然后展开 管理模板

  3. 展开 系统,然后单击 “凭据委派”。

  4. 在“详细信息”窗格中,双击 “允许委派默认凭据”。

    注意

    如果使用 NTLM 身份验证,请将 “允许默认凭据”与仅限 NTLM 的服务器身份验证项配合 使用。

  5. 单击 “启用”,然后单击以选中具有 上述输入的 Concatenate OS 默认 值。

  6. 单击 “显示”,然后验证远程用户的计算机是否包含在列表中。 如果需要,请单击 “添加”,然后包括远程用户的计算机。 还可以使用通配符。 例如,若要选择所有计算机,请添加以下通配符:*。

  7. 单击 “确定” 两次。

  8. 关闭组策略。

    重要

    此方法不同于“配置注册表项”部分中所述的方法。 组策略配置将使用任何计算机的任何服务主体名称 (SPN) 来启用远程凭据的身份验证。 “配置注册表项”部分中所述的方法将仅启用 Microsoft 虚拟控制台服务的身份验证。