もくじ
📝 はじめに
Windowsの起動が遅い、ログオン直後に重い――そんなときに確認したいのが
「スタートアップ(自動起動)」の設定です。
スタートアップは、タスクマネージャーだけでなく
レジストリキーにも定義されています。
PowerShellを使えば、どのキーに何が登録されているかを
まとめて・再現性を持って確認できます。
- 起動時に自動実行されるプログラムを把握したい
- 不要な常駐の原因を調べたい
- スクリプトで端末の状態を点検したい
✅ このテーマで分かること(要点)
- スタートアップに関係する主要レジストリキー
- HKCU と HKLM の役割の違い
- PowerShellでの基本的な確認方法
- 結果の見方と注意点
✅ スタートアップ関連キーの全体像
レジストリのスタートアップ設定は、
主に次の2つの系統に分かれます。
- ユーザー単位(そのユーザーでログオンしたとき)
- コンピューター全体(誰がログオンしても)
PowerShellでは、これらを
HKCU: と
HKLM:
として扱います。
🧩 よく確認するスタートアップ関連キー
👤 ユーザー単位
HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
- 現在のユーザーのみ対象
- ログオン時に実行される
- 影響範囲が限定的
🖥 全ユーザー
HKLM:\Software\Microsoft\Windows\CurrentVersion\Run
- 全ユーザーが対象
- 管理者権限が必要な場合が多い
- 影響範囲が広い
RunOnce など、一度だけ実行されるキーも存在しますが、
日常的な確認では Run キーが基本になります。
▶ 基本的な確認方法(まずこれだけ)
🔹 ユーザー単位のスタートアップを確認する
Get-ItemProperty `
HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
値の一覧が表示されればOKです。
表示される「値名」が項目名、
「データ」が実行されるコマンドやパスになります。
🔹 全ユーザー向けスタートアップを確認する
Get-ItemProperty `
HKLM:\Software\Microsoft\Windows\CurrentVersion\Run
ここでエラーが出る場合は、
管理者権限でPowerShellを起動しているかを確認してください。
🛠 よく使われる確認の工夫
🔹 実行内容だけを見やすく表示する
Get-ItemProperty `
HKCU:\Software\Microsoft\Windows\CurrentVersion\Run |
Select-Object *
不要なメタ情報を除き、
登録されている実行内容に集中して確認できます。
🔹 両方のキーをまとめて確認する
$paths = @(
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Run",
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Run"
)
foreach ($path in $paths) {
Write-Output "=== $path ==="
Get-ItemProperty $path -ErrorAction SilentlyContinue
}
エラーが出なければ、
どちらのキーに何が登録されているかを一度に把握できます。
💼 実務での確認ポイント
🔍 起動が遅い端末を調べるとき
- まず HKCU(ユーザー単位)を確認
- 次に HKLM(全体)を確認
- 実行ファイルの場所と内容をチェック
🧾 管理・点検用スクリプトとして
- 結果を Out-File で保存
- 変更前後で差分を比較
- 不要項目の洗い出しに使う
🧩 よくある勘違い・つまずきポイント
- タスクマネージャーに表示されない項目もレジストリに存在する
- HKLM 配下は管理者権限が必要な場合がある
- Run と RunOnce を混同してしまう
- 値名だけ見て内容を確認しない
- 無効化と削除を同じ感覚で考えてしまう
⚠ エラー・うまく表示されないときの確認ポイント
- PowerShellを管理者として起動しているか
- レジストリパスの指定ミスがないか
- 対象キーが存在するか(空の場合もある)
- セキュリティポリシーで制限されていないか
🧠 注意点
スタートアップ関連キーは、
変更するとログオン時の動作に直接影響します。
確認と変更は分けて考え、
まずは「何が登録されているか把握する」ことを優先してください。
📌 まとめ
- スタートアップは主に Run キーで管理されている
- HKCU はユーザー単位、HKLM は全体向け
- PowerShellなら一覧確認が簡単にできる
- 次は「無効化・削除」の方法を段階的に検討するとよい
🔎 PowerShellコマンドを探す
やりたいことからPowerShellコマンドを探せます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- スタートアップを確認したい
- 自動起動を整理したい
