Windows端末の管理や棚卸し作業を行う際に、「このPCにはどのソフトがインストールされているのか」を一覧で把握したい場面は多くあります。
PowerShellを使えば、インストール済みソフトの情報をコマンドで取得し、一覧として確認することが可能です。
本記事では、PowerShellでインストール済みソフトを取得する代表的な方法を、用途別に解説します。
目次
方法1:レジストリから取得する(一般的で確実)
Windowsにインストールされた多くのソフトは、レジストリに情報が登録されています。
以下のコマンドでは、その情報を一覧で取得できます。
|
1 2 3 |
Get-ItemProperty ` HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate |
取得できる主な情報
- ソフト名(DisplayName)
- バージョン(DisplayVersion)
- 提供元(Publisher)
- インストール日(InstallDate)
※ DisplayName が空の項目は、内部コンポーネントや更新プログラムの場合があります。

64bit / 32bit ソフトを両方取得する場合
64bit OSでは、32bitアプリケーションが別のレジストリに登録されることがあります。
両方を対象にする場合は、以下のように実行します。
|
1 2 3 4 5 6 7 8 |
$paths = @( "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*" ) Get-ItemProperty $paths | Select-Object DisplayName, DisplayVersion, Publisher | Where-Object { $_.DisplayName } |
これにより、64bit / 32bit ソフトをまとめて一覧化できます。
方法2:CSVファイルとして保存する
取得した一覧をファイルに保存したい場合は、Export-Csv を使用します。
|
1 2 3 4 |
Get-ItemProperty ` HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher | Export-Csv "installed_software.csv" -NoTypeInformation -Encoding UTF8 |
CSV形式で出力されるため、Excelでの確認や管理台帳としての利用が可能です。
方法3:Get-Package を使う方法(注意点あり)
以下のように Get-Package コマンドを使う方法もあります。
|
1 |
Get-Package |
ただし、この方法では以下の点に注意が必要です。
- Windows標準アプリやストアアプリが含まれる場合がある
- レジストリベースの一覧と結果が一致しないことがある
- 管理ツール用途では情報が不足することがある
そのため、正確なソフト一覧を取得したい場合は、レジストリを参照する方法が推奨されます。

よくある注意点
- 管理者権限が必要な環境があります
- 更新プログラムや内部コンポーネントも取得される場合があります
- インストーラーを使わずに配置されたソフトは取得できないことがあります
まとめ
PowerShellを使えば、インストール済みソフトの一覧を簡単に取得できます。
特に、レジストリを参照する方法は、企業環境や管理用途でも広く利用されており、信頼性が高い方法です。
用途に応じて、画面表示・CSV出力などを使い分けてみてください。
