もくじ
📝 はじめに
PowerShellでレジストリを操作していると、
「値が存在しないため Set-ItemProperty ではエラーになる」
「設定値を新規に作成してから制御したい」
という場面に出会うことがあります。
そんなときに使うのが
New-ItemProperty です。
この記事では、レジストリ値を新規作成する基本から、
実務で安全に使うためのポイントまでを解説します。
- 存在しないレジストリ値を新しく作りたい
- 初期設定用のスクリプトを作成したい
- Set-ItemProperty でエラーになる状況を回避したい
✅ このコマンドでできること(要点)
- レジストリに新しい値を作成できる
- 値名・データ・型を指定して登録できる
- 初期設定や展開用スクリプトに向いている
- 既存値との使い分けが明確になる
✅ New-ItemProperty でできること
New-ItemProperty は、
レジストリキーの中に新しい値(Value)を作成するためのコマンドです。
すでに値が存在する場合はエラーになるため、
「初回のみ作る設定」や「存在チェックと組み合わせた処理」でよく使われます。
考え方としては、
「設定ファイルに新しい項目を追加する」イメージです。
🧩 基本構文
New-ItemProperty -Path レジストリパス -Name 値名 -Value 設定値 -PropertyType 型
-PropertyType で、
DWORD や String などの型を指定する点が重要です。
▶ 基本的な使い方(まずこれだけ)
🔹 新しいレジストリ値を作成する
New-ItemProperty `
-Path HKCU:\Software\TestApp `
-Name Enabled `
-Value 1 `
-PropertyType DWORD
エラーが表示されなければ、
レジストリ値は正常に作成されています。
この状態で次の処理に進めます。
🔹 作成結果を確認する
Get-ItemProperty HKCU:\Software\TestApp
作成した値が一覧に表示されていれば、
正しく登録されています。
🛠 よく使われる指定例
🔹 文字列(String)値を作成する
New-ItemProperty `
-Path HKCU:\Software\TestApp `
-Name InstallPath `
-Value "C:\Program Files\TestApp" `
-PropertyType String
パスや文字列設定の初期登録によく使われます。
🔹 強制的に上書きする
New-ItemProperty `
-Path HKCU:\Software\TestApp `
-Name Enabled `
-Value 0 `
-PropertyType DWORD `
-Force
-Force を指定すると、
既存値がある場合でも上書きできます。
意図しない変更にならないよう注意が必要です。
💼 実務でよく使う使用例(応用)
🔹 値が存在しない場合のみ作成する
$path = "HKCU:\Software\TestApp"
if (-not (Get-ItemProperty $path -Name Enabled -ErrorAction SilentlyContinue)) {
New-ItemProperty `
-Path $path `
-Name Enabled `
-Value 1 `
-PropertyType DWORD
}
🔹 初期設定用スクリプト
$path = "HKCU:\Software\TestApp"
New-ItemProperty -Path $path -Name Enabled -Value 1 -PropertyType DWORD
New-ItemProperty -Path $path -Name InstallDir -Value "C:\TestApp" -PropertyType String
- Test-Path でキーの存在確認
- Get-ItemProperty で事前チェック
- Set-ItemProperty で既存値の更新
🧩 よくある勘違い・つまずきポイント
- 既存値があるとエラーになる
- -PropertyType の指定を忘れがち
- 値の型を誤ると意図しない動作になる
- 管理者権限が必要なレジストリがある
- キー自体が存在しない場合は作成できない
🔄 cmdとの違いについて
cmd では reg add を使って
新しいレジストリ値を作成しますが、
PowerShellではパラメータ指定が分かりやすく、
スクリプトとしての可読性が高くなります。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したレジストリキーが存在しているか
- 管理者として実行しているか
- 値名がすでに存在していないか
- -PropertyType を正しく指定しているか
🧠 注意点
レジストリ値の新規作成は、
アプリやOSの挙動を変えるきっかけになります。
実務では、仕様を確認したうえで必要最小限の値だけ
作成するようにしてください。
📌 まとめ
- New-ItemProperty はレジストリ値の新規作成に使う
- 値の型指定(PropertyType)が重要
- 既存値は Set-ItemProperty と使い分ける
- 次は存在チェックと組み合わせた運用を覚えると安心
🔎 PowerShellコマンドを探す
やりたいことからPowerShellコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- レジストリ値を新規作成したい
- 初期設定を自動化したい
