Windowsでインストール済みアプリ一覧を表示する方法|設定・PowerShell・コマンドで一括確認

Windows

Windowsパソコンを長く使っていると、以下のような疑問や悩みが出てきますよね。

  • 「どんなアプリが入っていたっけ?」
  • 「不要なソフトを整理してストレージ容量を空けたい」
  • 「動作が重くなったので、使わないアプリを削除したい」
  • 「新しいPCに移行するために、現在のアプリ一覧を把握したい」
  • 「会社のPC管理で、インストール済みソフトウェアを報告する必要がある」
  • 「トラブル時に、どのアプリが原因か調査したい」

特に容量を空けたいときや、動作が重くなったとき、どのアプリがインストールされているか確認するのはとても大事です。

この記事では、Windowsでインストール済みのアプリ一覧を表示する方法を、以下の観点から詳しく解説します。

  • 設定画面での確認方法(初心者向け)
  • PowerShellを使った詳細な一覧取得
  • コマンドプロンプトでの簡単な確認
  • CSVファイル出力による管理方法
  • 用途別の使い分けとトラブル対処

これを読めば、目的に応じて最適な方法でアプリ一覧を確認できるようになります。

スポンサーリンク

設定画面からアプリ一覧を確認する【基本方法】

Windows 11での確認方法

手順

  1. スタートボタンを右クリック
  2. **「設定」**を選択
  3. 左メニューから**「アプリ」**をクリック
  4. **「インストールされているアプリ」**を選択

または

  1. Windowsキー + Iで設定を開く
  2. **「アプリ」**をクリック
  3. **「インストールされているアプリ」**を選択

Windows 10での確認方法

手順

  1. スタートメニュー「設定」(歯車マーク)
  2. **「アプリ」**をクリック
  3. **「アプリと機能」**を選択

設定画面でできること

表示される情報

  • アプリ名
  • 発行元(パブリッシャー)
  • インストール日
  • サイズ(一部のアプリ)

便利な機能

  • 並び替え:名前、インストール日、サイズ順
  • フィルタ:すべてのドライブ、特定ドライブのみ
  • 検索:アプリ名での絞り込み
  • アンインストール:不要なアプリの削除

アンインストール手順

  1. 削除したいアプリをクリック
  2. **「アンインストール」**ボタンを押す
  3. 確認画面で**「アンインストール」**をクリック

設定画面の制限事項

表示されないアプリ

  • 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等での分析、長期保管
  • 絞り込み検索:特定条件でのトラブルシューティング

コメント

タイトルとURLをコピーしました