こんにちは、阿久津です。さて前回に引き続き、各ユーザーフォルダをサーバ上の共有フォルダに設置して、各コンピュータで使用できるようにしましょう。まずは簡単に前回のおさらいを。各ユーザーフォルダの場所は、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Foldersキーで管理されており、同キー内にある各値のデータ値を書き換えることで、ドキュメントなど各特殊フォルダ先を決めています。前回はお気に入りフォルダを対象にしましたが、今回は、それ以外の特殊フォルダをターゲットにしましょう。

まずは、図01をご覧ください。これは~User Shell Foldersキーで編集できる各展開可能な文字列値をまとめたものです。前回紹介した「お気に入り」を例に挙げますと、展開可能な文字列値「Favorites」のデータ値は「%USERPROFILE% \ Favorites」ですが、このデータ値を共有フォルダに変更することで、各コンピュータに用意された特殊フォルダの実フォルダが変化します。手順は前回の記事をご覧ください(図01)。

■図01 User Shell Foldersキーの内容
展開可能な文字列値 データ値 内容 移動
{374DE290-123F-4565-9164-39C4925E467B} %USERPROFILE% \ Downloads ダウンロードフォルダのデータを格納
AppData %USERPROFILE% \ AppData\Roaming アプリケーションデータを格納 ×
Cache %USERPROFILE% \ AppData \ Local \ Microsoft \ Windows \ Temporary Internet Files IEの一時ファイルを格納
Cookies %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Cookies IEのCookiesファイルを格納
Desktop %USERPROFILE% \ Desktop デスクトップの内容を格納
Favorites %USERPROFILE% \ Favorites IEの「お気に入り」を格納
History %USERPROFILE% \ AppData \ Local \ Microsoft \ Windows \ History IEの「履歴」情報を格納
Local AppData %USERPROFILE% \ AppData \ Local ローカルアプリケーションデータを格納 ×
My Music %USERPROFILE% \ Music 「マイミュージック」の内容を格納
My Pictures %USERPROFILE% \ Pictures 「マイピクチャ」の内容を格納
My Video %USERPROFILE% \ Videos 「マイビデオ」の内容を格納
NetHood %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Network Shortcuts ネット用ショートカットを格納
Personal %USERPROFILE% \ Documents 「マイドキュメント」の内容を格納
PrintHood %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Printer Shortcuts プリンタ用ショートカットを格納
Programs %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu\Programs 個人用プログラムメニューを格納
Recent %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Recent 「最近使ったファイル」を格納
SendTo %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ SendTo 「送る」の内容を格納
Start Menu %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu 「スタート」メニューの内容を格納
Startup %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ Startup 「スタートアップ」フォルダの内容を格納
Templates %USERPROFILE% \ AppData \ Roaming \ Microsoft \ Windows \ Templates 各アプリケーションのテンプレートを格納

ここで注意しなければならないのが、すべてのフォルダが移動可能ではない、という点。例えば、アプリケーションのユーザーデータなどを格納する「AppData」や「Local AppData」は、導入したアプリケーションや使用スタイルによって蓄積されるデータ内容が異なります。そのため、一方のコンピュータともう一方のコンピュータで、「AppData」「Local AppData」を共有フォルダに変更しますと整合性が取れなくなり、予期せぬトラブルを引き起こすかもしれません。

似た理由で「Programs」「Start Menu」「Startup」「Templates」の各データ値を書き換える際も注意が必要です。いずれも導入するアプリケーションによって内容が変化しますが、単なるショートカットファイルを格納するフォルダですので、問題が発生しても実害は多くありません。これらの変更はご自身の判断で行なってください。

これらの設定を個別に行なうのは、あまりにも面倒ですので、今回は自動実行するバッチファイルを用意しました。共有フォルダの管理を行なうサーバ側で実行する「make_share.bat」(txt形式で保存したファイルはこちら)は、「mkdir」コマンドでフォルダを作成し、「net share」コマンドで共有フォルダの有効化を行なっています。オプションの「/remark」は共有フォルダのコメント内容。「/grant」は共有フォルダへのアクセス権限、「/cache」はオフラインファイルの自動設定です。

いずれも4行目の「Local_Path」、5行目の「Users」をローカル環境変数として設定していますので、前者は共有フォルダを作成するフォルダへのフルパス、後者はアクセス許可を与えるユーザー名となっていますので、正しく設定してください。バッチファイルの内容をご自分の環境に置き換えたら、ダブルクリックで実行しましょう。なお、UACが有効な環境ではコンテキストメニューから<管理者として実行>をお選びください(図02~03)。

図02 「make_share.bat」の内容。各環境変数を書き換え、共有設定を行なわないフォルダは「rem」コマンドでコメントアウトしてください

図03 内容を確認し、問題内容であれば「make_share.bat」ファイルをダブルクリックで実行してください。UACが有効な環境では、コンテキストメニューにある<管理者として実行>を選択します

バッチファイル実行後は、ローカル環境変数「Loacl_Path」で指定したフォルダに各共有フォルダが作成されます。今回はオフラインファイルの強制実行を有効にしていますので、デスクトップ環境など不要な場合は「/cache」オプションを取り除いて実行してください(図04~06)。

図04 ローカル環境変数「Local_Path」で設定したフォルダを開きますと、各フォルダが作成され共有設定が自動的に行なわれます

図05 共有フォルダのアクセス権限はクライアントコンピュータからアクセスできるユーザーのみ、フルアクセスを許可しています

図06 今回のバッチファイルではオフライン環境でも使えるように設定してあります。不要な場合は「/cache:programs」を取り除いてください

今度はクライアントコンピュータ側で設定を行ないます。こちらで実行するバッチファイル「set_share.bat」(txt形式で保存したファイルはこちら)は、「robocopy」コマンドで既存のファイルを共有フォルダにコピーした後、レジストリの内容を書き換えます。4行目の「Local_Path」と5行目の「Share_Path」ですが、前者は既存の特殊フォルダがあるフォルダを指定し、後者はコンピュータ名および共有フォルダをUNCで指定します。通常はコンピュータ名が異なりますので、正しく設定してください。バッチファイルの内容をご自分の環境に置き換えたら、ダブルクリックで実行しましょう。なお、UACが有効な環境ではコンテキストメニューから<管理者として実行>をお選びください(図07~08)。

図07 「set_share.bat」の内容。各環境変数を書き換え、共有設定を行なわないフォルダは「rem」コマンドでコメントアウトしてください

図08 内容を確認し、問題内容であれば「make_share.bat」ファイルをダブルクリックで実行してください。UACが有効な環境では、コンテキストメニューにある<管理者として実行>を選択します

バッチファイル実行後は、念のため変更内容を確認しましょう。クイック検索やファイル名を指定して実行などから「regedit」を実行してレジストリエディタを起動し、HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer\User Shell Foldersまでキーをたどって開きます。各複数行文字列値のデータ値がバッチファイルで指定した内容に書き換わっているか確認し、問題がないようであれば、レジストリエディタを終了し、Windows Vistaを再起動してください(図09~11)。

図09 「ファイル名を指定して実行」や「クイック検索」のテキストボックスに「regedit」と入力して[Enter]キーを押します

図10 HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Foldersまでキーをたどって開き、各値のデータ値が書き換わっていることを確認しましょう

図11 確認を終えたらレジストリエディタを終了し、Windows Vistaを再起動します

それでは動作確認に移りましょう。共有フォルダを用意したコンピュータ側の「Desktop」フォルダで適当なファイルを作成してください。クライアントとなるコンピュータ側のデスクトップにファイルが表示されていれば、チューニング完了です(図12~13)。

図12 サーバー側の「Desktop」フォルダで適当なファイルを作成しましょう

図13 クライアント側のコンピュータに同じファイルが表示されればOKです

今回はオフラインファイルを有効にしているため、クライアント側のコンピュータが起動する際、自動的にファイルのダウンロードが行なわれますので、しばらく放置しておくことをお勧めします。また、各フォルダへのアクセスする際のパフォーマンスは、LANのパフォーマンスやサーバとなるコンピュータのマシンパワーによって左右されます。ご了承ください。これで一連のチューニングはひとまず完了です。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)