ステップA: ネットワークアダプタのGUIDを取得する

ステップA: ネットワークアダプタのGUIDを取得する

共有を公開しているコンピューターからでも、ローカル ネットワーク アドレス経由で Wi​​ndows 共有フォルダーにアクセスできない理由がわからず、困っています。

すべて正常に動作し、共有フォルダーを表示しようとすると、\\localhostファイルが表示されます。

ローカルホスト -- OK

しかし、同じコンピューターからローカル ネットワーク アドレス (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

UPD2.netcfg出力はここにあります:https://pastebin.com/zRa7wi1t

答え1

6 か月前にこの質問を投稿されたとき、問題を再現するために、ネットワーク アダプターの TCP/IP の詳細設定で NetBIOS over TCP/IP を無効にし、その後再度有効にしました。数週間後、OP で説明されているのと同じ問題が発生していることに気付きました (ただし、自分でやったことです)。何時間も調査し、最終的には正常に動作しているコンピューターのレジストリと動作していないコンピューターのレジストリを苦労して比較した結果、問題を解決できました。

私が見つけた解決策は次のとおりです。(まずはビールを飲んだ方がいいかもしれません...)

ステップA: ネットワークアダプタのGUIDを取得する

ネットワーク アダプターの GUID が必要になります。次のようになります。

{DED7C856-1234-5678-BA7E-FF9BF300F579}

入手方法は 2 つあります。

PowerShell 経由:

  1. これを実行します:

    Get-NetAdapter | fl Name,Status,InterfaceDescription,Status,MacAddress,LinkSpeed,InterfaceGuid
    
  2. アダプタのインターフェースガイド価値。

コマンドプロンプト経由(ソース):

  1. 必要に応じて、サービスMMCスナップイン(実行services.msc)を使用して、有線自動構成サービス(有線ネットワークインターフェース用)またはWLAN 自動構成サービス(ワイヤレス インターフェイス用)。

  2. インターフェースのタイプに対応するコマンドを実行します。

    有線:       netsh lan show interfaces
    無線:  netsh wlan show interfaces

  3. メモしてくださいガイド値(囲む中括弧なしで表示されるので、中括弧を追加する必要があります)。

ステップB: レジストリを編集する

  1. 実行してregeditレジストリ エディターを開きます。

  2. 次のキーに移動します。

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Linkage

  3. 下の表の 3 つの値 (Bind、Export、Route) のそれぞれについて、値をダブルクリックして値データ エディターを開きます。

  4. 表示される文字列の値データを調べます。データ下の表の列を参照してください。表に表示されている場合は、{GUID}それを実際のネットワークアダプタのGUIDに置き換えてください(括弧を含む)。たとえば、アダプタのGUIDが{DED7C856-1234-5678-BA7E-FF9BF300F579}下の表のとおりである場合は、練るレジストリの値には、次の 2 つのエントリが必要です。

    \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} |
| | \Device\LanmanServer_Tcpip6_{GUID} |
| | \Device\LanmanServer_NetBT_Tcpip_{GUID} |
| | \デバイス\LanmanServer_NetBT_Tcpip6_{GUID} |
+--------+------------------------------------------+
キー: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Linkage

+--------+-----------------------------------------------+
| 値 | データ |
+--------+-----------------------------------------------+
| エクスポート | \Device\LanmanWorkstation_Tcpip_{GUID} |
| | \デバイス\LanmanWorkstation_Tcpip6_{GUID} |
| | \Device\LanmanWorkstation_NetBT_Tcpip_{GUID} |
| | \デバイス\LanmanWorkstation_NetBT_Tcpip6_{GUID} |
+--------+-----------------------------------------------+

ステップC: 再起動

変更を有効にするには、コンピューターを再起動してください。

答え2

Twisty Impersonatorを自動化するには解決私はコマンドラインプログラムを開発しましたシェアフィックス

広告のように見えたら申し訳ありませんが、機能します。

答え3

上記のレジストリハックのショートカットとして、コントロールパネルを開き、アダプタ設定を参照し、インターフェイスプロパティを開きます。無効にするネットワークとファイル共有を選択し、ウィンドウを再度開いて有効にするもう一度。

ここに画像の説明を入力してください

どうやら、これにより Windows は LanManServer のすべてのアダプター バインディングを再検討することになります。これが必要になるのは本当に残念です。

答え4

あなたが共有してくれた情報から判断すると、私の PC とあなたの PC の唯一の違いは、NETBIOS over Tcpip です。私の PC では有効になっていますが、あなたの PC では無効になっています。そのため、この設定で問題が解決するかどうかは簡単に確認できます。

イーサネット アダプタのプロパティ ウィンドウで、インターネット プロトコル バージョン 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

2 つの異なる IP アドレスから共有に 2 つの接続がありますが、例として示したいだけです。

ポート139はNetBIOSセッションサービス用、
ポート445はSMBファイル共有用です。

よろしくお願いいたします。

クリス

関連情報