TIPS:Windowsでリモートからレジストリを操作するWindowsでは設定変更時にレジストリを直接操作せざるを得ない場合がある。遠隔地のコンピュータや多数のコンピュータが相手だと、1台ずつ対話的にレジストリを操作するのは非現実的だ。解説Windowsでは通常、何らかの設定変更の際には、コントロール・パネルのアプレットのようにGUIを介して簡単に操作できるようになっている。設定項目によっては、レジストリを直接操作せざるを得ない場合がある。実際、このTIPSでも、解決方法としてレジストリ操作による設定変更を挙げている記事が数多くある。いえレジストリ・エディタの使い方さえ慣れてしまえば、レジストリの書き換えなどの作業自体は、管理者にとってそう難しいことではないだろう。厄介なのは、遠隔地のコンピュータのように、直接レジストリ・エディタを起動して操作できない場合だ。多数のPCに同一のレジストリ設定を施さなければならない場合も、1台ごとに対話的に操作するのは非現実的だ。そんなときは、手元のコンピュータからネットワーク経由で対象コンピュータのレジストリに接続し、リモートでレジストリを操作すればよい。Windowsは標準でリモートのレジストリ操作機能を装備している。レジストリ・エディタのような標準のレジストリ操作ツールもリモートでの操作をサポートしている。OSは標準でリモートのレジストリ操作をサポートしている。いえ実際には、操作対象のコンピュータ側にいくつか条件が必要なので、操作方法を説明する前に注意点を説明する。Registryサービスが起動している必要がある。このサービスが停止していると、リモートでのレジストリ操作はまったくできない。2008では停止している場合があり、明示的な起動を要することがある。Registry」を開始する。[スタートアップの種類]が「無効」の場合は、あらかじめ「自動」または「手動」に変更してから開始すること。Registryサービスを起動するには、次のようにnetコマンドを利用する。Windowsネットワークが利用される。Firewallにより例外なく通信が遮断されていると、リモートでのレジストリ操作もできない。Windowsネットワークの通信ができるようにファイアウォールを設定する。2008ならTIPS「セキュリティが強化されたWindowsファイアウォールでリモート管理を有効にする」のようにして、リモート管理用のポート(TCP/UDPの135/137/138/139/445番などのポートを開いておけばよい。■ユーザー・アカウント制御(UAC)によってアクセスが禁止されていないか?もともとリモートでレジストリを操作するには、リモート・コンピュータの管理者権限を要する。2008でUACが有効な場合、この管理者権限を持つユーザー・アカウントであっても、リモートでのレジストリ操作に失敗することがある。これは、リモートからのアクセスの際、そのユーザー・アカウントの持つ権限がUACによって標準ユーザー並みに制限されるためだ。このような場合は、一時的にUACを無効にしてからレジストリを操作し、終わったらUACを有効に戻す。具体的な方法はTIPS「Windowsのユーザー・アカウント制御(UAC)を一時的に無効にする」を参照していただきたい。OS標準のGUIレジストリ編集ツール「レジストリ・エディタ」は、リモートでのレジストリ操作に対応している。このツールでリモート・コンピュータのレジストリを操作するには、まずリモートのレジストリに「接続」する必要がある。選択」ダイアログでリモート・コンピュータ名を入力して[OK]ボタンをクリックする。レジストリへの接続]を選ぶと、この画面が表示される。2000では(2)と(5)だけが使える)。(1)リモート・コンピュータの検索範囲を変える場合は、これをクリックする。通常はデフォルトのままでよい。(2)ここにリモート・コンピュータ名を入力する。コンピュータ名の前の「\\」は付けても付けなくてもよい。(3)これをクリックすると、(1)に入力したコンピュータ名が正しいか確認される。(4)リモート・コンピュータを細かく検索する場合は、これをクリックすると詳細検索のダイアログが表示される。(5)リモート・コンピュータ名の指定が済んだら、これをクリックする。コンピュータ」アイコンから始まるツリーとは別に、リモート・コンピュータ(次の画面では「Server1」)のアイコンのツリーが追加される。コンピュータ」アイコンとは別に、リモート・コンピュータのツリーが追加される。コンピュータ」アイコン以下のツリーと変わらない。(1)リモート・コンピュータ「Server1」を表すアイコン。(2)Server1のコンピュータに関する設定が記録されているルート・キー。(3)Server1の各ユーザー・アカウントに関する設定が記録されているルート・キー。コンピュータ」と同様に操作できる。リモートで操作可能なレジストリのルート・キーは次の2つに限られる。各ユーザー・アカウントに関する設定が記録されているローカルの場合は、HKEY_CURRENT_USER(短縮名HKCU)ルート・キーを指定することで、ログオン中のユーザーに関する設定を確認できる。リモートの場合はHKCUが指定できない。特定ユーザーの設定は、HKU以下にあるSID(セキュリティ識別子)を名前とするサブ・キーに格納されているので、そのユーザー・アカウントのSID(セキュリティ識別子)を確認して初めてアクセスできる。SIDについてはTIPS「オブジェクトを識別するSIDとは?」が詳しい。操作が完了したらリモート・コンピュータのレジストリとの接続を切断する。レジストリの切断」ダイアログにて対象コンピュータを選んで[OK]ボタンをクリックする。レジストリの切断]を選ぶと、この画面が表示される。(1)ここから接続を切断したいコンピュータを選ぶ。(2)これをクリックする。OSに標準装備されている。2000でreg.exeを使う方法については、TIPS「コマンド・プロンプトでレジストリを操作する」を参照していただきたい。reg.exeでリモート・コンピュータのレジストリを参照するコマンドラインの例を以下に記す。\\Server1\HKLM\Software\Microsoftこのようにレジストリ・キー名の前に「\\<コンピュータ名>\」を付けると、<コンピュータ名>というリモート・コンピュータを指定したことになる。deleteコマンド)など、そのほかのreg.exeの使い方でも、このキーの指定方法は共通だ(regコマンドの詳細は、TIPS「コマンド・プロンプトでレジストリを操作する」を参照)。前述のレジストリ・エディタの場合と異なり、reg.exeではリモート・コンピュータのレジストリとの接続/切断を明示的に実行する必要はない。上記のように、操作時にリモート・コンピュータ名を指定するだけでよい。操作可能なルート・キーは、レジストリ・エディタと同じでHKLMおよびHKUに限定される。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。