HOWTO: 在 Windows 10 上解决 RDCMan v2.7 Unknown disconnection reason 3848 故障
RDCMan v2.7 于14年末发布,gOxiA 当时有写过一篇文章进行简要的介绍,支持连接远端 Hyper-V 主机上的虚拟机这一功能使 RDCMan(Remote Desktop Connection Manager) 增色不少,最近在 Windows 10 上使用 RDCMan 连接虚拟机时遇到了一个问题,还好找到了解决办法,特与大家分享,同时留文备忘!
当使用 RDCMan 创建一个 VM console connect,如果 Hyper-V 主机和客户端都在域中,那么连接不会出现问题,可是工作组环境下便会出现 Unknown disconnection reason 3848 故障。
查阅了 Ben Armstrong(Hyper-V Program Manager)的 Blog 发现当初遇到这个问题的人还真不少,而且还提供了解决方案:KB954357,应该是由 CredSSP 引发的远端用户凭据无法验证的问题。由于 KB954357 中的 Fixit 工具会验证系统版本,所以无法在 Windows 10 上运行,我们只能手工修改注册表项,可以在 PowerShell 下执行如下命令行,无需重启系统即时生效!
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentials -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowDefaultCredentialsDomain -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentials -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsDomain -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnly -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowFreshCredentialsWhenNTLMOnlyDomain -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentials -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsDomain -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force
New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\Credssp\PolicyDefaults\AllowSavedCredentialsWhenNTLMOnly -Name Hyper-V -PropertyType String -Value \"Microsoft Virtual Console Service/*\" -Force