公開日:

Windows 11でインストール済みアプリ一覧を確認・CSV出力する方法【PowerShell】

「このPCに何のソフトが入っているか確認したい」「PCを交換する前に、インストール済みアプリの一覧を残したい」。そんなときは、Windowsの設定画面から確認できます。

1台のPCでアプリ名を調べるだけなら、[設定]→[アプリ]→[インストールされているアプリ]が最も手軽です。 一方、一覧をExcelで管理したい場合は、PowerShellで情報を取得してCSVに保存する方法があります。

ただし、どの方法でもPC内のアプリを100%網羅できるわけではありません。目的別に使い分けましょう。

説明用の概念図:アプリ一覧を確認する3つの方法
説明用の概念図。図を原寸で開く

方法1:Windows 11の設定画面で確認する

  1. Windows キーと I キーを同時に押して[設定]を開きます。
  2. 左側の[アプリ]を選択します。
  3. [インストールされているアプリ]を開きます。
  4. 目的のアプリ名を検索するか、一覧をスクロールして確認します。

特定のアプリが入っているか調べたいだけなら、この方法で十分です。 表示項目や並び順はWindowsの更新状況によって異なる場合があります。

方法2:コントロールパネルで確認する

従来のデスクトップソフトを確認したいときは、次の方法もあります。

  1. スタートメニューの検索で「コントロールパネル」を開きます。
  2. [プログラム]→[プログラムと機能]を選びます。
  3. 一覧にあるソフトウェア名・発行元・バージョンなどを確認します。

この一覧と[インストールされているアプリ]の表示内容は、必ずしも一致しません。Windows標準機能や、一部のアプリが表示されないこともあります。

方法3:PowerShellで一覧を取得する

複数のアプリ名やバージョンをまとめて確認したい場合は、PowerShellを使うと便利です。

スタートメニューで「Windows PowerShell」を検索して開き、次のコマンドを貼り付けます。以下は一覧を読み取るコマンドで、アプリのアンインストールや設定変更は行いません。

$paths = @(
    'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
    'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*'
)

$apps = Get-ItemProperty -Path $paths -ErrorAction SilentlyContinue |
    Where-Object { $_.DisplayName } |
    Select-Object DisplayName, DisplayVersion, Publisher |
    Sort-Object DisplayName, DisplayVersion

$apps | Format-Table -AutoSize

ここでは、一般的なデスクトップソフトが登録する「アンインストール情報」を読み取っています。表示されるのは、主にアプリ名(DisplayName)、バージョン(DisplayVersion)、発行元(Publisher)です。

CSVファイルに保存する

上のコマンドを実行した後、続けて次を実行します。

$file = Join-Path ([Environment]::GetFolderPath('MyDocuments')) 'installed-apps.csv'
$apps | Export-Csv -Path $file -NoTypeInformation -Encoding UTF8
Write-Host "保存先: $file"

通常は「ドキュメント」フォルダーに installed-apps.csv が保存されます。同名のファイルが存在すると上書きされるため、保存前にファイル名を確認してください。

Excelで日本語が文字化けする場合は、CSVをダブルクリックせず、Excelの[データ]→[テキストまたはCSVから]で取り込み、文字コードをUTF-8に指定してください。

Microsoft Storeアプリは別の方法でも確認する

Store系のアプリパッケージは、次のコマンドでも確認できます。

Get-AppxPackage |
    Select-Object Name, Version, Publisher |
    Sort-Object Name

Get-AppxPackage はすべてのデスクトップソフトを列挙するコマンドではありません。 前述のレジストリ方式とは取得対象が異なります。また、ここでの結果は原則として実行ユーザーのプロファイルに登録されたパッケージです。

一覧に表示されないアプリがある理由

次のようなソフトは、設定画面やレジストリ情報から取得できないことがあります。

  • インストーラーを使わず、フォルダーにコピーして使う「ポータブルアプリ」
  • アンインストール情報が適切に登録されていないソフト
  • 別ユーザー向けにインストールされたアプリ
  • Windows標準コンポーネントや一部の特殊なアプリ

なお、ネット上で紹介されることのある Get-CimInstance Win32_Product は、対象がWindows Installer製品に偏るうえ、インストール済み製品の整合性確認・修復を引き起こす可能性があります。本記事では一覧取得の方法として推奨しません。

会社のPCを管理するときは何を記録する?

ソフトウェアの確認結果を管理台帳にまとめるなら、最低限次の項目があると便利です。

項目 記録する理由
PC管理番号 どの端末の情報か分かる
取得日 いつの状態か分かる
アプリ名 導入状況を確認する
バージョン 更新状況を比較する
発行元 同名・類似名の製品を区別する

ただし、この一覧だけでライセンスの契約数や利用許諾を判定することはできません。契約情報は別途照合してください。

まとめ

  • アプリの有無を1台で確認する:Windowsの[インストールされているアプリ]
  • デスクトップソフトの情報を一覧化する:PowerShellでアンインストール情報を取得
  • Store系アプリパッケージを確認する:Get-AppxPackage
  • 管理台帳を作る:取得対象の限界を理解し、PC管理番号と取得日を付ける

端末そのものの管理番号・棚卸状況・利用履歴を整理したい場合は、Small Work Labの機器管理ツールもご覧ください。なお、本記事で紹介したアプリ一覧の自動収集機能が同ツールに備わっていることを意味するものではありません。

参考資料