シャドウ コピー クライアント を無効にする方法

@IT に VSS(ボリュームシャドウコピー)の「以前のバージョン」がクライアントで表示されてしまう という投稿がありました。
Windows XP から[以前のバージョン]タブを消したいという要望でしたので、まずマイクロソフトのサポート技術情報 Update to disable Volume Shadow Copy Service restore options on Terminal Server client computers that are running Windows Server 2003 or Windows XP からレジストリの変更で対処する方法を紹介しました。

具体的には以下の手順です。
*レジストリの編集は深刻な問題を引き起こす場合があります。at your own risk でお願いします。

  1. レジストリエディタ(regedit.exe) を起動する。
  2. 以下のサブキーの内どちらかをクリックする。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
  3. 新規に DWORD 値を作成する。
  4. 作成した DWORD 値の名前を NoPreviousVersionsPage に変更する。
  5. NoPreviousVersionsPage 値を 1 に設定する。
  6. レジストリエディタを終了する。

しかし、この方法では Windows XP SP2 から[以前のバージョン]タブは消えませんでした。
Windows Server 2003 SP1 や Windows Vista RTM で試すと同じ方法で[以前のバージョン]タブを消すことができます。

結局上手くいったのは regsvr32 コマンドで twext.dll を解除する方法でした。
Windows XP SP2 は[以前のバージョン]機能を twext.dll (%SystemRoot%\System32\twext.dll) で実現しています。
これを解除すれば[以前のバージョン]タブが消えるという寸法です。

具体的には以下の手順です。

  • [以前のバージョン]タブを無効にする: Windows XP SP2 で regsvr32 /u twext.dll を実行。
  • [以前のバージョン]タブを有効にする: Windows XP SP2 で regsvr32 twext.dll を実行。

この方法は Windows Server 2003 SP1 でも有効でした。
Windows Vista RTM では DllUnregisterServer エントリポイントが見つからない旨のエラーが発生してしまいます。

--追記--
私としてはシャドウコピークライアントは無効にする必要は無いと思います。
ユーザーはアクセス権を与えられていた共有資源しか復活させることはできないわけで、シャドウコピークライアントを無効にして得られるモノは無いと思うからです。

Published 月, 11 27 2006 16:25 by Ryosuke Uemoto