こんにちは、阿久津です。Windows OSでは、システム管理ツールを用いてリモートコンピュータを設定する際、管理共有という隠された共有設定を用いてきました。この隠された共有設定は、共有名の最後に「$(ドル記号)」を付けているのが特徴で、Cドライブであれば「C$」、Dドライブなら「D$」という共有名を用いることで、ユーザーが共有フォルダを作成せずとも、リモートコンピュータにアクセスすることが可能です。

管理共有には、このほかにもいくつか用意されており、システムルートフォルダは「ADMIN$」、FAXクライアントがFAXを送信する際に使用するFAX共有は「FAX$」、名前付きパイプを使用したネットワークアプリケーション間の通信は「IPC$」、プリンタのリモート管理には「PRINT$」が使われてきました。Windows XP時代は、一台のコンピュータを用いることが多かったため、リモート管理によるメリットよりも、セキュリティホールとなり兼ねない管理共有のデメリットばかりが強調されることになり、同機能を無効にするチューニングがもてはやされたという側面があります。

しかしながら、Windows Vista時代になると、デスクトップコンピュータとモバイルPCなど、一人で複数台のコンピュータを使う場面が増えてきました。このような場面で活用できるのが、リモート管理機能です。しかし、Windows Vistaでは、UAC(ユーザーアカウント制御)が有効な状態では、管理共有によるアクセスが無効になりました。もちろんセキュリティ面を考慮し、仕様変更した結果ですが、管理共有が必要な場面でUACを無効にして再起動、という手順を踏むのは至極面倒な話。だからと言ってUACを無効にするとセキュアレベルの低下を招くため、芳しくありません。そこで今回は、UACが有効な状態で管理共有によるアクセスを有効にするチューニングを紹介します。

まずは事前準備として、Windowsファイアウォールの設定を確認・変更しておきましょう。コントロールパネルなどから「Windowsファイアウォール」を起動し、<設定の変更>をクリックすると表示されるダイアログの<例外>タブを開きます。例外の一覧にある<ファイルとプリンタの共有>にチェックが入っているか確認し、未チェックの場合はチェックを入れてから<OK>ボタンをクリック。これでネットワーク経由のアクセスが可能になります(図01~02)。

図01: 事前準備としてリモートコンピュータ側のコントロールパネルなどから「Windowsファイアウォール」を起動し、<設定の変更>をクリックします

図02: 「Windowsファイアウォールの設定」ダイアログの<例外>タブを開き、<ファイルとプリンタの共有>にチェックを入れて<OK>ボタンをクリックします。これでネットワーク経由のアクセスが可能になります

この状態でリモートコンピュータに一度アクセスしてみましょう。クイック検索やファイル名を指定して実行などから「\{コンピュータ名もしくはIPアドレス}\C$」と実行しますと、ログオンダイアログは表示されますが、リモートコンピュータ上のアカウント名およびパスワードを入力しても、ログオンすることができません(図03~05)。

図03: 「ファイル名を指定して実行」や「クイック検索」のテキストボックスに「\{コンピュータ名もしくはIPアドレス}\C$」と入力して[Enter]キーを押します

図04: ユーザー名およびパスワードの入力をうながされますが、リモートコンピュータ上のアカウントを入力してログオンすることはできません。なお、Windows XPでも同じ動作となります

図05: リモートコンピュータへ接続できないエラーダイアログが表示される場合は、リモートアクセス自体が成功していません。ファイアウォールの設定やコンピュータ名などを再確認してください

それではチューニングを行ないましょう。今回はリモートコンピュータ側のWindows Vistaを対象に以下の設定を行ないます。なお、UACが有効な状態のままチューニングしますので、UACによる警告メッセージが表示されますが、ここでは割愛しています。ご了承ください(図06)。

図06: リモートコンピュータ上のWindows VistaでUACの設定を確認しましょう。画面のようにチェックが入っていれば有効状態となります

まずはクイック検索やファイル名を指定して実行などから「regedit」を実行してレジストリエディタを起動し、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Systemまでキーをたどって開きます。右ペインの何もないところを右クリックし、メニューから<新規>→<DWORD(32ビット)値>を選択。DWORD値名を「LocalAccountTokenFilterPolicy」に変更してから、同値をダブルクリックします。値のデータを「1」に書き換えてから<OK>ボタンをクリックし、レジストリエディタを終了したら、Windows Vistaを再起動しましょう。これでチューニング完了です(図07~10)。

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

図08: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Systemまでキーをたどって開き、右ペインの何もないところを右クリック。メニューから<新規>→<DWORD(32ビット)値>を選択し、DWORD値「LocalAccountTokenFilterPolicy」を作成します

図09: DWORD値「LocalAccountTokenFilterPolicy」をダブルクリックし、値のデータを「1」に書き換えたら、<OK>ボタンをクリックします

図10: 設定を終えたらレジストリエディタを終了し、Windows Vistaを再起動します

今度は結果を検証してみましょう。まずはリモートコンピュータに、同コンピュータ上のアカウント名およびパスワードを用いてアクセスしますと、今度はスムーズに管理共有フォルダが開き、Windows XPでも同様の結果を得ることができます(図11~13)。

図11: 先と同じ手順でリモートコンピュータにアクセスしますと、今度はスムーズに管理共有フォルダが開きます

図12: Windows XPでも確認してみましょう。「ファイル名を指定して実行」のテキストボックスに「\{コンピュータ名もしくはIPアドレス}\C$」と入力して[Enter]キーを押します

図13: こちらも画面のようにアクセス可能になりました

なお、本設定および動作はワークグループを前提にしており、同じドメインに属したコンピュータ同士であれば、DominAdminsの権限を用いることで、アクセス先の管理共有に接続できます。本チューニングは、Windows XPと管理共有を用いる環境で、新たにWindows Vistaを導入する場合などにお使いください。

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

阿久津良和(Cactus)