【Windows】レジストリに正しく向き合う3つのポイント

【Windows】レジストリに正しく向き合う3つのポイント

はじめに

コジマです。

Windowsの環境構築に携わることが多かったので、今まで手動でやってきた業務を自動化することを
よく行ってきました。

その中で注意すべき点について話していきたいと思います。

ハンドルについて

まず、ハンドルについて説明します。
Windowsのレジストリエディタのツリー構造の一番上にいるものをハンドルといいます。

これについては和訳記事がないので、英語ですが参考URL貼っておきます。

(参考URL)
https://docs.microsoft.com/en-us/windows/win32/sysinfo/predefined-keys

主要なハンドルの簡単な説明は以下の通りです。

ハンドル 説明
HKEY_CLASSES_ROOT クラスIDなどを保持
HKEY_CURRENT_USER ログインしているユーザーの設定
HKEY_LOCAL_MACHINE システム(全ユーザー共通)の設定
HKEY_USERS 新規にユーザーを作成した時に反映される設定
HKEY_CURRENT_CONFIG HKEY_LOCAL_MACHINEのエイリアス(※)

(※)正確には「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware Profiles\Current」のエイリアス

覚えやすさのためにかなり簡略した書き方をしました。
このレベルで良いので、まずはこのレジストリのハンドルの意味を理解します。

そしたら、実際にレジストリを触る際の注意点を紹介します。

1:触るレジストリ、触らないレジストリ

触って良いレジストリと触ってはいけないレジストリの分別をまずつけましょう。

触るレジストリはHKEY_CURRENT_USER、HKEY_LOCAL_MACHINEの2つです。
調べて出てくるレジストリ操作のバッチなんかは大体この2つ。それ以外は見ない。
なぜか表で太字になってるのはこの理由です。

表も作ってみたので一度ご覧になっていただけるといいと思います。

ハンドル 触る/触らない
HKEY_CLASSES_ROOT 触らない
いろんな画面のクラスIDやシステムの設定もある。
下手に触るとマシンが壊れる。絶対ダメ×
HKEY_CURRENT_USER 触る
HKEY_LOCAL_MACHINE 触る
HKEY_USERS 触らない
触る場合もあるかもしれないが非常に稀。触らぬ神に祟りなし。
HKEY_CURRENT_CONFIG 触らない
HKEY_LOCAL_MACHINEの設定を反映するので触らない。

HKEY_CURRENT_USERはユーザーごとに反映される設定です。全ユーザーに反映したい場合はユーザーごとにログインして設定を行う必要があります。
デスクトップの設定やインターネットオプションなんかがHKEY_CURRENT_USERです。
HKEY_LOCAL_MACHINEは全ユーザー共通で反映される設定です。一度設定すれば全ユーザーに反映されます。
電源オプションやファイアウォールなんかがHKEY_LOCAL_MACHINEです。

2:バックアップを取る

バックアップを取るとは復元できるようにするということです。
失敗して取り返しつかなくなって初期化とか洒落にならないです。

レジストリ更新バッチを作る際には、修正前のレジストリをエクスポートするバッチなんかも一緒に
作っておくと良いかと思います。

エクスポートをするときはreg exportコマンドを使用します。

3:公式のサイトを確認する

実際個人ブログのものも大体記事の内容として合っているものの方が圧倒的に多いですが、
microsoftの公式サイトを参照することを強くお勧めします。

個人ブログの方が引っかかりやすいので、それはきっかけとしてよいですが、
実際裏を取るために公式サイトを参照します。

私は知識としてすでに持っている内容も公式のサイトを参照し、
確認取ってから記事を書くようにしています。
皆さんも是非そうしてください。

大体のことは以下のサイトにあります。
siteコマンドで書いておくので、google使いの人はコピーして活用してください。

  • site:support.microsoft.com
  • site:docs.microsoft.com
  • site:msdn.microsoft.com

さいごに

レジストリを正しくハックできるようになると、特に環境構築において圧倒的なパフォーマンスの向上を見せます。
その反面リスクも大きいです。

「バッチ組んで効率化しました!」とだけ言っても、大体の上長は不安になります。
「これ、本当に正しいの?」と。
自分の作ったバッチが正しいもので、圧倒的な業務効率化を安全にできるよってところ見せつけてやりましょう。

この記事を面白いまたは役に立ったと思ってくれた方は是非私のTwitter(@kojimanotech)を
フォローしてくれたらうれしいです!

以上、コジマでした。


Windowsカテゴリの最新記事