Microsoftネットワーク用ファイルとプリンタ共有 のレジストリ

リモートから、

Microsoftネットワーク用ファイルとプリンタ共有

を無効にしたり有効にしたり出来るのか? 

という質問があちこちにあったのでこちらにちょっとだけ役に立つかもしれない情報を残しておこうと思います。

用意したOS WindowsXP SP3

ローカルエリア接続のプロパティ
などから、
Microsoftネットワーク用ファイルとプリンタ共有
を有効にすると、

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Linkage]

Bind 
Route
Export

3エントリのそれぞれに1行追加される。こんな風に、、、

Microsoftネットワーク用ファイルとプリンタ共有
を有効にする(チェック入れる)と、

Bind 
\Device\NetbiosSmb
\Device\NetBT_Tcpip_{123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}
\Device\NetBT_Tcpip_{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}
\Device\NetBT_Tcpip_{8B916015-A2E2-45B0-9FBB-68C135246FCE}
\Device\NetBT_Tcpip_{CDC0E90D-A2AB-48CB-BA7F-987654FCA30D}
\Device\NetBT_Tcpip_{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}
\Device\NetBT_Tcpip_{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}


Export
\Device\LanmanServer_NetbiosSmb
\Device\LanmanServer_NetBT_Tcpip_{123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}
\Device\LanmanServer_NetBT_Tcpip_{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}
\Device\LanmanServer_NetBT_Tcpip_{8B916015-A2E2-45B0-9FBB-68C135246FCE}
\Device\LanmanServer_NetBT_Tcpip_{CDC0E90D-A2AB-48CB-BA7F-987654FCA30D}
\Device\LanmanServer_NetBT_Tcpip_{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}
\Device\LanmanServer_NetBT_Tcpip_{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}


Route
"NetbiosSmb"
"NetBT" "Tcpip" "{123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}"
"NetBT" "Tcpip" "{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}"
"NetBT" "Tcpip" "NdisWanIp"
"NetBT" "Tcpip" "{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}"
"NetBT" "Tcpip" "{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}"


Microsoftネットワーク用ファイルとプリンタ共有
無効にする(チェックを外す)と、

Bind
\Device\NetbiosSmb
\Device\NetBT_Tcpip_{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}
\Device\NetBT_Tcpip_{8B916015-A2E2-45B0-9FBB-68C135246FCE}
\Device\NetBT_Tcpip_{CDC0E90D-A2AB-48CB-BA7F-987654FCA30D}
\Device\NetBT_Tcpip_{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}
\Device\NetBT_Tcpip_{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}

Export
\Device\LanmanServer_NetbiosSmb
\Device\LanmanServer_NetBT_Tcpip_{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}
\Device\LanmanServer_NetBT_Tcpip_{8B916015-A2E2-45B0-9FBB-68C135246FCE}
\Device\LanmanServer_NetBT_Tcpip_{CDC0E90D-A2AB-48CB-BA7F-987654FCA30D}
\Device\LanmanServer_NetBT_Tcpip_{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}
\Device\LanmanServer_NetBT_Tcpip_{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}


Route
"NetbiosSmb"
"NetBT" "Tcpip" "{46DC37C0-420E-4F57-96FE-12AB34DE5FG56}"
"NetBT" "Tcpip" "NdisWanIp"
"NetBT" "Tcpip" "{0ACDAAA5-3DC3-4135-853D-D12C0XXX1C5A}"
"NetBT" "Tcpip" "{AADD41E3-65B7-4DA9-ACF1-B3ZZZ80B915A}"



有効にすると、{123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}が追加され、無効にすると削除されているのが確認できる。
{123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}というのはトアルがプロパティを変更した「ローカルエリア接続1」のレジストリ内部での名称。

複数マシンに対してこの操作をするためには、変更したいネットワーク接続に対応する {123F2CCF-BEBF-1234-92DB-BEEF123EE4B1}みたいになっている
ユニーク名を取得してやる仕組みが必要ですね。


Microsoftが用意しているやり方もあるようだ。
ポリシーとして値をセットする場合はここをいじる↓
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\NoFileSharing
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\NoPrintSharing

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Network\NoFileSharing
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\NoPrintSharing

Enabled Value: 1 (ファイル共有有効)
Disabled Value: 0 (ファイル共有無効)