Windows PowerShellには“PSドライブ”という特殊な仮想ドライブ機能がある。PSドライブを使うと、ファイルシステムと同等の手法でWindowsパソコンのあらゆる情報にアクセスできる。
レジストリの中が確認できる
例えばPowerShellのコンソールを管理者として起動し、次のコマンドを実行してみよう。次の行からプロンプトが「HKLM:」に変わるはずだ(図1)。
cd HKLM:
「cd」はファイルシステムで階層を移動する際に使う一般的なコマンドだ。PowerShellのcdはSet-Locationの別名として登録されており、ドライブの移動と階層の移動のいずれにも使用できる。つまり、次のコマンドを実行したのと同じだ。
Set-Location HKLM:
このHKLM:ドライブはレジストリ▼の「HKEY_LOCAL_MACHINE」ハイブを意味する。つまり、レジストリの内部に入り込んだことになるのだ。
ここで次のコマンドを実行して階層を移動してみよう。
cd .\SOFTWARE\Microsoft
自分のいる現在の階層はpwdコマンドを使えば確認できる(図2)。pwdはLinuxユーザーにおなじみのコマンドで、PowerShellでは「Get-Location」の別名として登録されている。
階層内のアイテムを一覧する場合、ファイルシステムでよく使う「dir」コマンドを使用する(図3左)。これは「Get-ChildItem」の別名だ。同様の画面をレジストリエディターで参照すると図3右のようになる。
レジストリは「キー」とその配下の「値」で構成している。図3でActiveSyncキーの配下を見比べると、Name列が「キー」、プロパティが「値」に対応していることがわかる。言い換えれば、「値」を取得する際には「キー」のプロパティとして取得する必要がある。
Windowsが設定情報を保存しておくためのデータベース。OSの基本情報だけでなく、アプリケーションの設定など各種の情報を幅広く格納する。レジストリ内では、いくつかのキーごとに分割したツリー構造で情報を管理しており、それぞれのツリーをハイブと呼ぶ。レジストリの情報を編集する場合は、基本的にレジストリエディターという専用のアプリケーションを使う。