Windowsパソコンを長く使っていると、以下のような疑問や悩みが出てきますよね。
- 「どんなアプリが入っていたっけ?」
- 「不要なソフトを整理してストレージ容量を空けたい」
- 「動作が重くなったので、使わないアプリを削除したい」
- 「新しいPCに移行するために、現在のアプリ一覧を把握したい」
- 「会社のPC管理で、インストール済みソフトウェアを報告する必要がある」
- 「トラブル時に、どのアプリが原因か調査したい」
特に容量を空けたいときや、動作が重くなったとき、どのアプリがインストールされているか確認するのはとても大事です。
この記事では、Windowsでインストール済みのアプリ一覧を表示する方法を、以下の観点から詳しく解説します。
- 設定画面での確認方法(初心者向け)
- PowerShellを使った詳細な一覧取得
- コマンドプロンプトでの簡単な確認
- CSVファイル出力による管理方法
- 用途別の使い分けとトラブル対処
これを読めば、目的に応じて最適な方法でアプリ一覧を確認できるようになります。
設定画面からアプリ一覧を確認する【基本方法】

Windows 11での確認方法
手順
- スタートボタンを右クリック
- **「設定」**を選択
- 左メニューから**「アプリ」**をクリック
- **「インストールされているアプリ」**を選択
または
- Windowsキー + Iで設定を開く
- **「アプリ」**をクリック
- **「インストールされているアプリ」**を選択
Windows 10での確認方法
手順
- スタートメニュー→「設定」(歯車マーク)
- **「アプリ」**をクリック
- **「アプリと機能」**を選択
設定画面でできること
表示される情報
- アプリ名
- 発行元(パブリッシャー)
- インストール日
- サイズ(一部のアプリ)
便利な機能
- 並び替え:名前、インストール日、サイズ順
- フィルタ:すべてのドライブ、特定ドライブのみ
- 検索:アプリ名での絞り込み
- アンインストール:不要なアプリの削除
アンインストール手順
- 削除したいアプリをクリック
- **「アンインストール」**ボタンを押す
- 確認画面で**「アンインストール」**をクリック
設定画面の制限事項
表示されないアプリ
- Windows標準コンポーネント(一部)
- システムレベルのドライバー
- レジストリのみに記録されたアプリ
- ポータブルアプリ(インストール不要のソフト)
そのため、より詳細な情報が必要な場合は、PowerShellやコマンドプロンプトを使用します。
PowerShellでアプリ一覧を取得する【詳細方法】
PowerShellを使うと、設定画面では表示されない詳細な情報も取得できます。
基本的なアプリ一覧表示
32bit用レジストリから取得
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Where-Object {$_.DisplayName -ne $null} |
Format-Table -AutoSize
64bit用レジストリから取得
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Where-Object {$_.DisplayName -ne $null} |
Format-Table -AutoSize
すべてのアプリを包括的に表示
32bit・64bit両方を統合
$apps = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate, EstimatedSize |
Sort-Object DisplayName
$apps | Format-Table -AutoSize
より詳細な情報を含む一覧
拡張情報付きで表示
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object @{Name="アプリ名"; Expression={$_.DisplayName}},
@{Name="バージョン"; Expression={$_.DisplayVersion}},
@{Name="発行元"; Expression={$_.Publisher}},
@{Name="インストール日"; Expression={$_.InstallDate}},
@{Name="サイズ(KB)"; Expression={$_.EstimatedSize}},
@{Name="インストール場所"; Expression={$_.InstallLocation}} |
Format-Table -AutoSize
特定条件での絞り込み
Microsoft製品のみ表示
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null -and $_.Publisher -like "*Microsoft*"} |
Select-Object DisplayName, DisplayVersion, Publisher |
Format-Table -AutoSize
特定の日付以降にインストールされたアプリ
$targetDate = "20231201" # YYYYMMDD形式
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null -and $_.InstallDate -ge $targetDate} |
Select-Object DisplayName, InstallDate, Publisher |
Sort-Object InstallDate -Descending |
Format-Table -AutoSize
大容量アプリの特定
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null -and $_.EstimatedSize -gt 1000000} | # 1GB以上
Select-Object DisplayName, @{Name="サイズ(GB)"; Expression={[math]::Round($_.EstimatedSize/1024/1024, 2)}}, Publisher |
Sort-Object "サイズ(GB)" -Descending |
Format-Table -AutoSize
Windows Storeアプリの一覧取得
基本的なストアアプリ一覧
Get-AppxPackage | Select-Object Name, Version, Publisher | Format-Table -AutoSize
ユーザーがインストールしたストアアプリのみ
Get-AppxPackage | Where-Object {$_.SignatureKind -eq "Store"} |
Select-Object Name, Version, InstallLocation | Format-Table -AutoSize
詳細情報付きストアアプリ一覧
Get-AppxPackage | Select-Object @{Name="アプリ名"; Expression={$_.Name}},
@{Name="バージョン"; Expression={$_.Version}},
@{Name="アーキテクチャ"; Expression={$_.Architecture}},
@{Name="インストール場所"; Expression={$_.InstallLocation}} |
Format-Table -AutoSize
コマンドプロンプトでアプリ一覧を表示

WMIC コマンドの使用
基本的な一覧表示
wmic product get name,version
詳細情報付きで表示
wmic product get name,version,vendor,installdate
特定の製品のみ検索
wmic product where "name like '%Adobe%'" get name,version
WMICの注意点
制限事項
- Windows Installer(MSI)でインストールされたアプリのみ表示
- 実行に時間がかかる場合がある
- すべてのアプリが表示されるわけではない
- 将来的に非推奨予定(Windows 10 21H1以降で非推奨警告)
代替手段の推奨 WMICの代わりにPowerShellの使用が推奨されています。
CSV・テキストファイルへの出力方法
CSV形式での出力
基本的なCSV出力
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
Export-Csv -Path "$env:USERPROFILE\Desktop\installed_apps.csv" -NoTypeInformation -Encoding UTF8
日本語対応のCSV出力
$apps = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object @{Name="アプリケーション名"; Expression={$_.DisplayName}},
@{Name="バージョン"; Expression={$_.DisplayVersion}},
@{Name="発行元"; Expression={$_.Publisher}},
@{Name="インストール日"; Expression={$_.InstallDate}}
$apps | Export-Csv -Path "$env:USERPROFILE\Desktop\アプリ一覧.csv" -NoTypeInformation -Encoding UTF8
Write-Host "CSVファイルをデスクトップに保存しました: アプリ一覧.csv"
テキストファイルでの出力
読みやすい形式でテキスト出力
$output = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Sort-Object DisplayName |
ForEach-Object {
"アプリ名: $($_.DisplayName)"
"バージョン: $($_.DisplayVersion)"
"発行元: $($_.Publisher)"
"インストール日: $($_.InstallDate)"
"------------------------"
}
$output | Out-File -FilePath "$env:USERPROFILE\Desktop\アプリ一覧.txt" -Encoding UTF8
HTMLレポートの生成
見栄えの良いHTMLレポート
$apps = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object @{Name="アプリケーション名"; Expression={$_.DisplayName}},
@{Name="バージョン"; Expression={$_.DisplayVersion}},
@{Name="発行元"; Expression={$_.Publisher}},
@{Name="インストール日"; Expression={$_.InstallDate}} |
Sort-Object "アプリケーション名"
$html = $apps | ConvertTo-Html -Title "インストール済みアプリケーション一覧" -PreContent "<h1>インストール済みアプリケーション一覧</h1><p>生成日時: $(Get-Date)</p>"
$html | Out-File -FilePath "$env:USERPROFILE\Desktop\アプリ一覧.html" -Encoding UTF8
Write-Host "HTMLレポートをデスクトップに保存しました: アプリ一覧.html"
用途別の使い分けとベストプラクティス
日常的な確認・アンインストール
推奨方法:設定画面
- 操作が簡単
- 直接アンインストール可能
- 視覚的にわかりやすい
適用場面
- 不要なアプリの削除
- ストレージ容量の確認
- 一般的なメンテナンス
システム管理・監査
推奨方法:PowerShell + CSV出力
- 詳細な情報取得
- 自動化が可能
- 報告書作成に適している
適用場面
- 企業でのPC管理
- セキュリティ監査
- システム移行時の現状把握
トラブルシューティング
推奨方法:PowerShell(詳細情報付き)
- インストール日での絞り込み
- 特定ベンダーのソフトウェア検索
- 問題のあるアプリの特定
適用場面
- システム不安定時の原因調査
- 最近インストールしたアプリの確認
- 競合ソフトウェアの特定
自動化とスクリプト化
定期的なアプリ一覧取得スクリプト
# app_inventory.ps1
param(
[string]$OutputPath = "$env:USERPROFILE\Desktop\",
[switch]$IncludeStoreApps
)
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$fileName = "アプリ一覧_$timestamp"
# 従来のアプリケーション
$traditionalApps = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object @{Name="種類"; Expression={"従来アプリ"}},
@{Name="名前"; Expression={$_.DisplayName}},
@{Name="バージョン"; Expression={$_.DisplayVersion}},
@{Name="発行元"; Expression={$_.Publisher}},
@{Name="インストール日"; Expression={$_.InstallDate}}
$allApps = $traditionalApps
# ストアアプリも含める場合
if ($IncludeStoreApps) {
$storeApps = Get-AppxPackage |
Select-Object @{Name="種類"; Expression={"ストアアプリ"}},
@{Name="名前"; Expression={$_.Name}},
@{Name="バージョン"; Expression={$_.Version}},
@{Name="発行元"; Expression={$_.Publisher}},
@{Name="インストール日"; Expression={""}}
$allApps = $traditionalApps + $storeApps
}
# CSV出力
$csvPath = Join-Path $OutputPath "$fileName.csv"
$allApps | Sort-Object 名前 | Export-Csv -Path $csvPath -NoTypeInformation -Encoding UTF8
Write-Host "アプリ一覧を出力しました: $csvPath"
Write-Host "総アプリ数: $($allApps.Count)"
バッチ処理での活用
@echo off
echo アプリ一覧を取得しています...
powershell -ExecutionPolicy Bypass -File "C:\Scripts\app_inventory.ps1" -IncludeStoreApps
echo 完了しました。
pause
よくある問題と対処法

PowerShellスクリプトが実行できない
エラー:実行ポリシーで禁止されている
対処法
# 現在の実行ポリシー確認
Get-ExecutionPolicy
# 一時的に変更(管理者権限で実行)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# または、一回限りの実行
powershell -ExecutionPolicy Bypass -File "script.ps1"
文字化けが発生する
原因:文字エンコーディングの問題
対処法
# UTF8 with BOMで出力
Export-Csv -Encoding UTF8BOM
# またはShift_JISで出力
Export-Csv -Encoding Default
一部のアプリが表示されない
原因と対処法
ポータブルアプリ
- インストール不要のアプリは表示されない
- 手動でリスト化が必要
Windows Storeアプリ
- 別途
Get-AppxPackage
で取得
システムコンポーネント
Get-WindowsFeature
(Windows Server)Get-WindowsOptionalFeature
(Windows 10/11)
セキュリティ上の注意点
機密情報の取り扱い
注意すべき情報
- インストールパス(社内システムの構成が推測される)
- 特定ソフトウェアの存在(セキュリティ上の脆弱性情報)
- ライセンス情報
対策
- 外部への情報共有時は必要最小限に
- 機密性の高い環境では出力ファイルの暗号化を検討
- アクセス権限の適切な設定
プライバシー保護
個人利用での注意点
- 個人的なソフトウェア使用状況の漏洩
- ファイル出力時の保存場所に注意
- 不要になったレポートファイルの適切な削除
まとめ:目的に応じた最適な方法を選択しよう
Windowsでアプリ一覧を確認する方法をまとめると:
用途別の推奨方法
- 日常的な管理:設定画面(簡単・直感的)
- 詳細な調査:PowerShell(包括的・詳細)
- 自動化・報告:PowerShell + CSV出力
- トラブル解決:PowerShell(条件絞り込み)
基本的なコマンド
# 最も包括的な一覧取得
Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*,
HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* |
Where-Object {$_.DisplayName -ne $null} |
Select-Object DisplayName, DisplayVersion, Publisher |
Sort-Object DisplayName
実践的なポイント
- 設定画面:初心者向け、視覚的でわかりやすい
- PowerShell:詳細情報、自動化、レポート作成
- CSV出力:Excel等での分析、長期保管
- 絞り込み検索:特定条件でのトラブルシューティング
コメント