Windows 8.1の共有フォルダー機能を利用していると、自身が作成した共有フォルダー以外にも、不思議な共有フォルダーの存在が確認できるだろう。共有名の末尾に「$」マークを持つこれらは「管理共有」と呼ぶ。リモート管理などに用いられるものだが、今回はこの管理共有を無効にするTipsを紹介する。
管理共有とは
Windows 4.0 Workstation以降の各Windows OSは、「管理共有(もしくは隠し共有)」という特殊な共有フォルダーを備えてきた。共有名の最後にドル記号($)を付加し、他の共有フォルダーと区別している。前回も使用した「共有フォルダー」や「net share」コマンドによって、現在の管理共有を確認することが可能だ。
管理共有は、エンタープライズ向けのシステム管理ツールを用いたリモート管理などに用いられる。Windows 8.1の場合、下図のとおり各ボリューム(C$、D$……)やシステムルートフォルダー(ADMIN$)が管理共有として存在するが、以前のWindows OSも基本的に同じ仕組みだ。
■管理共有の一覧 |
---|
ルートパーティションまたはボリューム |
システムルートフォルダー |
FAX$共有(FAXモデムが存在する場合のみ) |
IPC$共有(厳密には管理共有ではない) |
PRINT$共有 |
なお、IPC$はプロセス間通信(Inter-Process Communication)を行う際に用いる共有設定で、厳密には管理共有には含まれない。
各管理共有は前述の共有フォルダーやコマンドラインから停止できるが、PCが再起動すると再び共有設定が復活する。
ちなみに管理共有を無効にする操作として、「Server」サービスを停止する方法を目にするが、筆者はおすすめしない。Serverサービスは前述したIPC$共有を作成し、ネットワークサービスに大きく寄与しているからだ。
下図はServer(及び「Computer Browser」)サービスを停止した状態だが、前述した共有フォルダーはサービスが未稼働なため正常に動作しない。また、別PCから共有フォルダーを参照する際もアクセスできなくなってしまう。
スタンドアロン環境でない限り、Serverサービス停止による管理共有の無効化はデメリットが多いのだ。
バッチファイルで管理共有を無効にする
管理共有はレジストリ編集で無効にすることもできるが、今回はバッチファイルを用いる手順を紹介しよう。各管理共有は「net share ADMIN$ /delete」と言う書式でコマンドラインから無効にできるため、下図のようなバッチファイルを作成する。
@echo off
net share ADMIN$ /delete
net share C$ /delete
net share print$ /delete
このバッチファイルを管理者権限で実行すれば、不要な管理共有が無効になるという仕組みだ。あとはタスクスケジューラなど用いて、Windows 8.1にサインインする際にバッチファイルを実行する設定を行えばよい。
阿久津良和(Cactus)