无法通过不同的名称访问本地 Windows 共享

无法通过不同的名称访问本地 Windows 共享

是否有人知道为什么不可能使用解析为相同 IP 地址的不同名称来访问同一台计算机内的本地 Windows 共享(例如 c$)。

例子:

Computer Name: COMP-1  
IP Address: 192.168.1.2

Hosts File Entry: 192.168.1.2 COMP-2

我可以\\COMP-1\C$从内部访问COMP-1,但\\COMP-2\C$即使它指向相同的 IP 地址(即它本身),我也无法访问。它总是要求输入凭据,但根本不起作用。

值得注意的是,如果COMP-1COMP-2被添加到 DNS,那么其他系统可以使用任一名称访问共享,只是不能从本地机器访问。

答案1

引用\\COMP-2\C$不起作用,因为 Windows 专门对其进行了测试并要求提供用户凭据。

这项检查是在 Windows Server 2003 Service Pack 1 中添加的,大概是出于某些不为人知的安全原因,可以在名称相当长的知识库文章中找到:
安装 Windows Server 2003 Service Pack 1 后,尝试使用服务器的 FQDN 或 CNAME 别名本地访问服务器时出现错误消息:“访问被拒绝”或“没有网络提供商接受给定的网络路径”

其效果是文件共享可以通过计算机名称(有或没有完整资格)或 IP 地址进行。但是,默认情况下,文件共享不能与任意 DNS 别名一起使用。要使文件共享和其他 Windows 服务能够与 DNS 别名一起使用,您必须按照下面所述进行注册表更改并重新启动计算机。

  1. 点击开始, 点击跑步,键入regedit,然后单击“确定”。
  2. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
  3. 右键单击MSV1_0,指向 新的,然后点击多字符串值
  4. 在里面姓名列中,键入BackConnectionHostNames,然后按 ENTER。
  5. 右键单击BackConnectionHostNames,然后单击“修改”。
  6. 在里面价值数据框中,键入用于计算机上的本地共享的 CNAME 或 DNS 别名,然后单击好的

    注意: 每个主机名各占一行。

    注意:如果BackConnectionHostNames注册表项以 REG_DWORD 类型存在,则必须删除该BackConnectionHostNames 注册表项。

  7. 退出注册表编辑器,然后重新启动计算机。

我已经测试了这篇 15 年前的知识库文章,它仍然有效,无需重新启动计算机。当BackConnectionHostNames包含时COMP-2,则不需要凭据。

令我惊讶的是,删除后BackConnectionHostNames,仍然不需要凭据,因为它们可能是当时隐式生成的并且仍然被 Windows 记住。

相关内容