步骤 A:获取网络适配器的 GUID

步骤 A:获取网络适配器的 GUID

我有点不明白为什么我无法通过本地网络地址访问 Windows 共享文件夹,即使是从公开共享的计算机上访问。

当我尝试通过\\localhost一切正常查看共享文件夹时,我可以看到文件。

本地主机--确定

但是,当我尝试通过本地网络地址(192.168.1.2)从同一台计算机连接时,它会显示文件夹列表,但无法打开它。

在此处输入图片描述

192.168.1.2我可以毫无问题地ping 我的地址 ( )。防火墙已关闭。没有防病毒软件。我已打开“文件和打印机共享”和“网络发现”。

Microsoft Windows [Version 10.0.15063]

这是我的 ipconfig 的样子,没有什么可疑的。

C:\Users\nrj>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : EUGENE-PC
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter local:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : <hidden>
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::c0cf:f044:74d2:c5ec%11(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.1.2(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Saturday, August 12, 2017 14:57:30
   Lease Expires . . . . . . . . . . : Sunday, August 13, 2017 14:57:30
   Default Gateway . . . . . . . . . : 192.168.1.1
   DHCP Server . . . . . . . . . . . : 192.168.1.1
   DHCPv6 IAID . . . . . . . . . . . : 190858699
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-1E-9B-1E-0E-00-1F-C6-78-EC-28
   DNS Servers . . . . . . . . . . . : 192.168.1.1
   NetBIOS over Tcpip. . . . . . . . : Disabled

445端口的Netstat:

C:\Users\nrj>netstat -a | findstr /R /C:.*445.*
  TCP    0.0.0.0:445            EUGENE-PC:0            LISTENING
  TCP    [::]:445               EUGENE-PC:0            LISTENING

我还可以检查什么来弄清楚这一点?

更新型多巴胺网络适​​配器属性显示“文件和打印机共享”已启用。

网络适​​配器属性

再次澄清一下,192.168.1.2这是我的计算机的地址,我尝试从该地址访问我自己的文件共享,但无法访问。这是路由表。

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1      192.168.1.2     35
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      192.168.1.0    255.255.255.0         On-link       192.168.1.2    291
      192.168.1.2  255.255.255.255         On-link       192.168.1.2    291 <- see here
    192.168.1.255  255.255.255.255         On-link       192.168.1.2    291
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link       192.168.1.2    291
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link       192.168.1.2    291

更新 2.netcfg输出这里:https://pastebin.com/zRa7wi1t

答案1

当您 6 个月前发布此问题时,为了重现您的问题,我先在网络适配器的高级 TCP/IP 设置中禁用了 TCP/IP 上的 NetBIOS,然后重新启用。几周后,我发现我遇到了与 OP 中描述的相同的问题(只是,这是我自己造成的)。经过数小时的研究,我最终解决了这个问题,最终费尽心思比较了一台正常工作的计算机和我那台不正常工作的机器的注册表。

这是我发现的解决方案。(您可能想先喝杯啤酒……)

步骤 A:获取网络适配器的 GUID

您将需要网络适配器的 GUID。它看起来像这样:

{DED7C856-1234-5678-BA7E-FF9BF300F579}

获取方法如下:

通过 PowerShell:

  1. 运行这个:

    Get-NetAdapter | fl Name,Status,InterfaceDescription,Status,MacAddress,LinkSpeed,InterfaceGuid
    
  2. 记下适配器的接口指南价值。

通过命令提示符(来源):

  1. 如果有必要,使用服务 MMC 管理单元(运行services.msc)启动有线自动配置服务(用于有线网络接口)或无线网络自动配置服务(用于无线接口)。

  2. 运行与您的接口类型相对应的命令:

    有线:       netsh lan show interfaces
    ​​ 无线:  netsh wlan show interfaces

  3. 记下全局唯一标识符值(显示时不会显示周围的括号,您需要添加括号)。

步骤 B:编辑注册表

  1. 运行regedit打开注册表编辑器。

  2. 导航至以下键:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage

  3. 对于下表中的三个值(绑定、导出和路由)中的每一个,双击该值以打开值数据编辑器。

  4. 检查数值数据中显示的字符串数据下表中的列。当表格显示时,{GUID}将其替换为网络适配器的实际 GUID,包括周围的括号。例如,如果您的适配器的 GUID 根据{DED7C856-1234-5678-BA7E-FF9BF300F579}下表绑定注册表中的值应该具有以下两个条目:

    \Device\Tcpip_{DED7C856-1234-5678-BA7E-FF9BF300F579}
    \Device\Tcpip6_{DED7C856-1234-5678-BA7E-FF9BF300F579}
    
  5. 将缺失的数据值作为新行添加到文本框末尾。对表格中显示的每个值都执行此操作。

项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage

+--------+-----------------------------+
| 价值 | 数据 |
+--------+-----------------------------+
| 绑定 | \Device\Tcpip_{GUID} |
| | \设备\Tcpip6_{GUID} |
+--------+-----------------------------+
| 导出 | \Device\NetBt_Tcpip_{GUID} |
| | \设备\NetBt_Tcpip6_ {GUID} |
+--------+-----------------------------+
| 路线 | “Tcpip” “{GUID}” |
| | “Tcpip6” “{GUID}”|
+--------+-----------------------------+
  1. 对下面的每个表重复步骤 2 到 5(对于下面的这个表,您将使用所示的两个键的数据表):
项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Linkage
项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage

+-------+-----------------------------+
| 价值 | 数据 |
+-------+-----------------------------+
| 绑定 | \Device\Tcpip_{GUID} |
| | \设备\Tcpip6_{GUID} |
| | \设备\NetBT_Tcpip_{GUID} |
| | \设备\NetBT_Tcpip6_{GUID} |
+-------+-----------------------------+
| 路线 | “Tcpip” “{GUID}” |
| | “Tcpip6” “{GUID}”|
| | “NetBT” “Tcpip” “{GUID}”|
| | “NetBT” “Tcpip6” “{GUID}”|
+-------+-----------------------------+
项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Linkage

+--------+---------------------------------------------------------+
| 价值 | 数据 |
+--------+---------------------------------------------------------+
| 导出 | \Device\LanmanServer_Tcpip_{GUID} |
| | \设备\LanmanServer_Tcpip6_ {GUID} |
| | \设备\LanmanServer_NetBT_Tcpip_{GUID} |
| | \设备\LanmanServer_NetBT_Tcpip6_{GUID} |
+--------+---------------------------------------------------------+
项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage

+--------+----------------------------------------------+
| 价值 | 数据 |
+--------+----------------------------------------------+
| 导出 | \Device\LanmanWorkstation_Tcpip_{GUID} |
| | \设备\LanmanWorkstation_Tcpip6_ {GUID} |
| | \设备\LanmanWorkstation_NetBT_Tcpip_{GUID} |
| | \设备\LanmanWorkstation_NetBT_Tcpip6_{GUID} |
+--------+----------------------------------------------+

步骤 C:重新启动

重新启动计算机以使更改生效。

答案2

自动化 Twisty Impersonator解决方案我已经开发了一个名为的命令行程序分享修复

抱歉,这看起来像是广告,但它确实有效。

答案3

作为上述注册表破解的快捷方式,您可以打开控制面板,浏览到适配器设置,然后浏览接口属性,禁用网络和文件共享,然后重新打开窗口并使能够再次。

在此处输入图片描述

这显然让 Windows 重新考虑 LanManServer 的所有适配器绑定。这竟然是必要的,真是太可惜了!

答案4

从您分享的内容来看,我的电脑与您的电脑相比,唯一的不同就是 NETBIOS over Tcpip。我的电脑显示已启用,而您的电脑显示已禁用,因此这应该是一个足够简单的设置,看看它是否能解决您的问题。

在以太网适配器属性窗口中,双击 Internet 协议版本 4 (TCP/IPv4) 以调出 IPv4 属性窗口。
在此处输入图片描述

选择“高级”按钮。
在此处输入图片描述

然后选择 WINS 选项卡,并启用 NetBIOS 设置。我的是默认设置,因此如果设置为默认设置,请选择启用它。
在此处输入图片描述

重新启动计算机并查看是否有效。

更新:

netstat -an -p tcp

这将返回已连接的 IP 地址(如果已连接)以及链接是否已建立或正在监听。我已从结果中省略文本,以仅显示相关内容。

    Active Connections

    Proto  Local Address          Foreign Address        State
    TCP    192.168.1.15:139       0.0.0.0:0              LISTENING
    TCP    192.168.1.15:445       192.168.1.31:53594     ESTABLISHED
    TCP    192.168.1.15:445       192.168.1.33:33598     ESTABLISHED

我有来自两个不同 IP 地址到我的共享的连接,只是想作为一个例子展示。

端口 139 用于我们的 NetBIOS 会话服务
端口 445 用于我们的 SMB 文件共享

问候,

克里斯

相关内容