もくじ
📝 はじめに
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コマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- レジストリを変更したい
- 設定を自動化したい
