もくじ
📝 はじめに
PowerShellでファイルや設定を調べていると、
「この設定の値はいくつだろう?」
「レジストリに保存されている値を確認したい」
「Get-Item では情報が足りない」
と感じる場面はありませんか?
そんなときに使うのが
Get-ItemProperty です。
ファイルやレジストリなどの項目(アイテム)が持つ“値(プロパティ)”を取得するための重要なコマンドです。
- レジストリの設定値を確認したい
- ファイルやフォルダの詳細プロパティを取得したい
- スクリプトで設定値を読み取りたい
✅ このコマンドでできること(要点)
- アイテムが持つプロパティ(値)を取得できる
- レジストリの値を簡単に読み取れる
- 取得した値を変数として扱える
- 設定チェックや条件分岐に利用できる
✅ Get-ItemProperty でできること
Get-ItemProperty は、
指定したパスにあるアイテムの「中身の値」を取得するコマンドです。
Get-Item が
「そのアイテム自体の情報(サイズ・日時など)」を取得するのに対し、
Get-ItemProperty は
「アイテムが保持している設定値やデータ」を取得します。
特にレジストリ操作では欠かせない存在です。
🧩 基本構文
Get-ItemProperty パス
ファイルパスやレジストリパスを指定します。
▶ 基本的な使い方(まずこれだけ)
🔹 レジストリの値を取得する
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion
指定したレジストリキーに含まれる
各種設定値が一覧で表示されます。
🔹 特定のプロパティ値を参照する
(Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion).ProgramFilesDir
必要な値だけをピンポイントで取得できます。
🛠 よく使われる指定例
🔹 変数に格納して使う
$prop = Get-ItemProperty HKCU:\Control Panel\Desktop
$prop.Wallpaper
取得した値を変数として扱えるため、
条件分岐やログ出力に利用できます。
🔹 必要なプロパティだけ抽出
Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion |
Select-Object ProgramFilesDir, SystemRoot
表示を整理して確認できます。
💼 実務でよく使う使用例(応用)
🔹 設定値によって処理を分ける
$value = (Get-ItemProperty HKCU:\Control Panel\Desktop).ScreenSaveActive
if ($value -eq "1") {
Write-Host "スクリーンセーバーは有効です"
}
🔹 レジストリの存在と値を確認する
if (Test-Path HKLM:\SOFTWARE\MyApp) {
Get-ItemProperty HKLM:\SOFTWARE\MyApp
}
- Test-Path で存在確認
- Select-Object で必要な値だけ抽出
- 条件分岐・ログ出力に活用
🧩 よくある勘違い・つまずきポイント
- Get-Item では値は取得できない
- 存在しないキーを指定するとエラーになる
- プロパティ名のスペルミスで失敗しやすい
- 管理者権限が必要なレジストリがある
- ファイル内容を読むコマンドではない
🔄 cmdとの違いについて
cmd では reg query を使いますが、
PowerShell の Get-ItemProperty は
取得結果をオブジェクトとして扱えるのが大きな違いです。
そのため、スクリプトでの扱いやすさが大きく向上します。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したパスが正しいか
- レジストリキーが存在しているか
- 必要な権限で実行しているか
- 取得したいのが「値」か「項目情報」か
🧠 注意点
Get-ItemProperty は
値を「取得するだけ」の安全なコマンドですが、
レジストリ操作では
読み取り専用で使う意識を持つと安心です。
変更を行う場合は別コマンドを使いましょう。
📌 まとめ
- Get-ItemProperty は項目の「値」を取得するコマンド
- 特にレジストリ操作で重要
- Get-Item との役割の違いを理解する
- 条件分岐や設定チェックに活用できる
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- レジストリの値を確認したい
- 設定情報を取得したい
- 特定のプロパティだけ読み取りたい
- 設定によって処理を分けたい
- エラーや実行できない原因を調べたい
- PowerShellで設定を確認したい
- 安全に値を取得したい
