目次

Windows-ドライブの非表示とアクセス拒否

マイコンピュータ等には、通常システムが格納されているCドライブや、その他のパーティション、光学ドライブが表示されているが、これらを非表示にしたり、ユーザーの操作によるアクセスを拒否する場合の方法。

共通

本操作では、レジストリ操作を行う。
値の設定を行う際、操作対象のドライブを特殊な数値で指定する。
数値は2進数を基礎とし、ドライブレターのAから順に下記のようになる。

 Aドライブ 1
 Bドライブ 10
 Cドライブ 100
 Dドライブ 1000
 Eドライブ 10000
 Fドライブ 100000
 …
 Zドライブ 10000000000000000000000000

上記の値を、対象としたいドライブの分だけ加算する。
例えば、EドライブとFドライブを対象とするのであれば、10000+100000=110000となる。
この110000という数値は前述の通り2進数だが、設定するレジストリはDWORD値なので、これを10進数または16進数に変換しておく。
(2進数)110000 = (10進数)48 = (16進数)30

任意のドライブの非表示

ドライブを非表示にする場合、NoDrivesというレジストリ値を操作する。

現在のユーザーにのみ設定する場合

  1. regeditでレジストリエディタを起動し、次のキーを展開する。
    1. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
  2. Explorerキーを右クリックし、新規から、DWORD値を選択する
  3. 追加したDWORD値の名前をNoDrivesとする。
  4. 追加した値をダブルクリックし、値のデータを入力する。
    1. この時、表記が10進数か16進数のどちらになっているかで、あらかじめ計算しておいた値が変わるので注意する。
      例の通り、E、及びFドライブを非表示にする場合、10進数ならば48を、16進数ならば30を入力する。
  5. レジストリエディタを終了し、再起動、または再ログオンする。

このマシン自体に適用する場合

基本手順は同じ。
展開するキーが下記に変更となる

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

任意のドライブへのアクセス拒否

ドライブへのアクセスを拒否する場合、NoViewOnDriveというレジストリ値を操作する。

現在のユーザーにのみ設定する場合

基本手順はドライブの非表示と同じ。
新規に追加する値の名前がNoViewOnDriveに変更となる。

このマシン自体に適用する場合

こちらも基本手順は同じ。
展開するキーが下記に変更となり、追加する値の名前をNoViewOnDriveとする。

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer

コマンドラインから設定する場合

レジストリエディタではなく、コマンドプロンプトやバッチファイル等で設定する場合は、REGコマンドを使用すると良い。

現在のユーザーのE、Fドライブを非表示にする場合

このマシンのE、Fドライブを非表示にする場合

現在のユーザーのE、Fドライブへのアクセスを拒否する場合

このマシンのE、Fドライブへのアクセスを拒否する場合

アクセス拒否設定について

聞いただけなので、わからんけど(試せよ!w)
アクセス拒否設定を有効にした場合に、アクセスできないのは、エクスプローラ経由(?)のユーザー操作によるものだけらしい。
サービスとして動作しているアプリケーションがアクセスする事まで拒否するわけでは無いようだ。