私は職場からもらった Windows 8.1 ラップトップを使用しており、職場のドメインのメンバーになっています。職場の IT 部門は、GPO を通じてドメイン内のすべてのコンピューターにマップされたネットワーク ドライブを強制することが良い考えだと考えています。ショートカットを使用しても同じ利点が得られるのに、その理由がわかりません。
マップされたドライブの問題は、職場の内部ネットワークに接続していないとき (たとえば、自宅で作業しているとき)、マップされたドライブが関係しているかどうかに関係なく、ファイルに関連するすべてのアクションが非常に遅くなることです。たとえば、[保存] ダイアログを開く、[マイ コンピューター] を開くなどです。マップされたドライブを切断すると、速度低下は解消されます。
Google で検索したところ、速度が遅くなる原因は、Windows がマップされたドライブに接続しようとし続けるためであることがわかりました。
マップされたドライブは、再起動のたびに GPO によって再接続され続け、場合によっては再起動しなくても再接続されます。何が再接続をトリガーするのか正確にはわかりません。
マップされたドライブは役に立たないので(代わりにショートカットを使っています)、コンピュータの速度が耐えられないほど遅くなり、IT 担当者に使用をやめるように頼んだところ、彼らはまるで私が気が狂ったかのように私を見ました。
マップされたドライブを永久に切断し、GPO がそれらを再接続しないようにするにはどうすればよいですか?
答え1
IT 部門のやり方を覆す方法を教えるつもりはありません。ただし、IT 部門がそれなりに理にかなっている場合は、その特定の GPO から免除するように依頼することができます。方法がわからない場合は、コンピューターを許可リストに追加し、読み取りを許可から拒否に設定するように依頼してください。そうすれば、コンピューターはその GPO を適用しなくなります。
答え2
グループ ポリシーによってマップされたドライブは、次のいずれかで作成されます。
- ユーザーのログオン時のみ(例:VBS スクリプト経由)
--または-- - ユーザーのログオン時およびGPの定期的なバックグラウンド更新中(グループポリシーの設定アイテム
IT部門がドライブマッピングポリシーからあなたを削除することに同意しない限り、ドライブのマッピングを防ぐことはできません。ただし、できるスクリプトを使用してマップされたドライブを削除し、コンピューターにログインするたびにそのスクリプトが実行されるようにします。
サンプルバッチスクリプト:
rem Wait for user logon to complete and drives to be mapped...
TIMEOUT /T 30 /NOBREAK
rem Disconnect mapped drives...
NET USE K: /delete
NET USE P: /delete
<repeat for other drive letters>
このスクリプトをUnmapDrives.cmd
スタートアップ フォルダーに保存します。Windows 7/8 では次の場所にあります:
%AppData%\Microsoft\Windows\Start Menu\Programs\Startup
。
IT 部門が GP 環境設定を使用してドライブをマップしている場合、通常の勤務時間中にドライブが 1 回または 2 回再表示されることがあります。その場合は、上記のスクリプトを手動で実行するか、スケジュールされたタスクとして定期的に実行するようにスケジュールすることができます。
答え3
GPO 設定でドライブをマッピングする場合は、ドライブをマッピングする前に、サーバーが使用可能かどうかを確認するために ping テストを追加できます。ドライブ マッピング設定項目で、項目レベルのターゲットを追加し、WMI クエリ ターゲット オプションを選択します。WMI クエリは次のようになります。
SELECT StatusCode FROM Win32_PingStatus WHERE Address="ServerNameHere" and StatusCode=0
この ping が成功すると、ドライブはマップされます。切断された状況では、ping は失敗し、ドライブはマップされません。
もちろん、スクリプトを使用してドライブをマッピングする場合も同様のことを行うことができます。