[登録されているタグ]

[記事公開日]2026/01/23

PowerShellでレジストリ値を設定する|Set-ItemPropertyの使い方

📝 はじめに

PowerShellでレジストリを確認できるようになると、
「値を変更して設定を切り替えたい」
「GUIではなくスクリプトで一括設定したい」
と考える場面が出てきます。

そんなときに使うのが
Set-ItemProperty です。
この記事では、レジストリ値を安全に設定・変更するための基本として、
実務でつまずきやすい点も含めて解説します。

こんな場面で便利

  • Windows設定をスクリプトで切り替えたい
  • 複数PCに同じ設定を適用したい
  • 既存のレジストリ値を更新したい

✅ このコマンドでできること(要点)

  • 既存のレジストリ値を変更できる
  • 値名を指定してデータを書き換えられる
  • スクリプトから設定変更を自動化できる
  • 管理者権限が必要な場面を明確に判断できる

✅ Set-ItemProperty でできること

Set-ItemProperty は、
レジストリキーに存在する値(Value)のデータを設定・変更するためのコマンドです。

新しい値を作成するのではなく、
「すでにある値の中身を変更する」という用途でよく使われます。

考え方としては、
「設定ファイルを書き換える」イメージです。

🧩 基本構文

Set-ItemProperty -Path レジストリパス -Name 値名 -Value 設定値

指定したレジストリキーの中にある値が、
新しいデータで上書きされます。

▶ 基本的な使い方(まずこれだけ)

🔹 レジストリ値を変更する

Set-ItemProperty `
  -Path HKCU:\Software\TestApp `
  -Name Setting `
  -Value 1

実行後にエラーが表示されなければ、
レジストリ値は正常に設定されています。
この状態で次の処理に進めます。

🔹 変更結果を確認する

Get-ItemProperty HKCU:\Software\TestApp

設定した値が表示されていれば、
正しく反映されています。

🛠 よく使われる指定例

🔹 数値(DWORD)を設定する

Set-ItemProperty `
  -Path HKCU:\Software\TestApp `
  -Name Enabled `
  -Value 0

有効/無効を切り替える設定でよく使われます。

🔹 文字列値を設定する

Set-ItemProperty `
  -Path HKCU:\Software\TestApp `
  -Name InstallPath `
  -Value "C:\Program Files\TestApp"

パスや文字列の設定に利用できます。

💼 実務でよく使う使用例(応用)

🔹 値が存在する場合のみ変更する

if (Test-Path HKCU:\Software\TestApp) {
    Set-ItemProperty `
      -Path HKCU:\Software\TestApp `
      -Name Setting `
      -Value 1
}

🔹 複数PC向けの設定スクリプト

$path = "HKCU:\Software\TestApp"

Set-ItemProperty -Path $path -Name Setting -Value 1
Set-ItemProperty -Path $path -Name Enabled -Value 0
組み合わせ例

  • Test-Path でキーの存在確認
  • Get-ItemProperty で事前・事後チェック
  • New-ItemProperty で値がない場合に作成

🧩 よくある勘違い・つまずきポイント

  • 存在しない値は Set-ItemProperty では作成できない
  • 管理者権限が必要なレジストリがある
  • 値の型(文字列/数値)を意識せずに設定してしまう
  • 誤ったキーを指定すると意図しない変更になる
  • 変更後の確認を忘れがち

🔄 cmdとの違いについて

cmd では reg add を使って
レジストリ値を設定しますが、
PowerShellではオブジェクト操作として記述できます。

可読性が高く、スクリプト管理しやすい点が大きな違いです。

⚠ エラー・うまく動かないときの確認ポイント

  • レジストリキーと値名が正しいか
  • 管理者として実行しているか
  • 値が事前に存在しているか
  • 変更対象が HKLM などの保護領域ではないか

🧠 注意点

レジストリ値の変更は、
システムやアプリの動作に直接影響します。
実務では、必ず事前に現在値を確認・バックアップした上で
設定を行うようにしてください。

📌 まとめ

  • Set-ItemProperty は既存レジストリ値の設定・変更に使う
  • 値の型とパスを正確に指定することが重要
  • 確認用に Get-ItemProperty と併用すると安全
  • 次は New-ItemProperty も合わせて覚えると便利

🔎 PowerShellコマンドを探す

やりたいことからPowerShellコマンドを探せます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • レジストリを変更したい
  • 設定を自動化したい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る