我正在我的环境中设置一个测试 Windows 7 工作站,我将其命名为 DevWS1。这台机器需要能够连接到开发数据,同时看起来像是在实时运行。在大多数情况下,我都可以使用它,但对于文件共享则不行。以下是场景:
我需要模拟的两个生产文件服务器是 \Server1\Share1 和 \Server2\Share2。我已设置主机文件重定向,以便它们的 DNS 名称指向本地计算机,并在 C 盘上共享两个具有相同名称的文件夹。我还禁用了严格名称检查。我的工作站上的主机文件已添加此内容
127.0.0.1 Server1 Server2
本质上我想要发生的事情如下:
- \\Server1\Share1 -> \\localhost\Share1 — 这个有效
- \\Server2\Share2 -> \\localhost\Share2 -- 这个不
当我尝试连接到第二个虚假共享时,出现以下错误:“登录失败:目标帐户名称不正确”
绝对不能修改任何实时基础设施,包括 DNS、两个真实文件服务器(显然仍在使用中)上的设置或任何其他非本地设置。
这对于被测应用程序来说几乎是透明的,这一点也很重要。它需要能够调用 \\Server1\Share1\File1.txt 并获取该文件,只需从本地共享而不是实际文件服务器获取即可。
答案1
我通过阅读以下文章自己解决了这个问题
https://4sysops.com/archives/disable-strict-name-checking-with-powershell/
具体来说,我是这样做的:
- 将多字符串注册表项“BackConnectionHostNames”添加到 HKLM\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0,并添加我想要模拟的服务器名称及其 FQDN。
- 将多字符串注册表项“BackConnectionHostNames”添加到 HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,并添加我想要模拟的服务器名称(不带其 FQDN)。
- 已将 DWORD“DnsOnWire”添加到 HKLM\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters,值为 1。
这似乎解决了我所看到的问题。