Windows10でインストール済みアプリの一覧をコマンドで収集する方法

Windows10でインストール済みアプリの一覧をコマンドで収集する方法

Windows10でインストールされているアプリの一覧を確認したい場合、コントロールパネルの「プログラムと機能」や、設定アプリの「アプリと機能」から目視で確認することが多いですが、PCの数が多いと、一台ずつ画面を表示して確認するのは骨が折れます。

そのような時は、コマンドでインストール済みアプリの一覧をテキスト出力することで、簡単に情報を収集することができます。

そこでここでは、Windows10でインストールされているアプリの一覧をコマンドで収集する方法を紹介します。

Windows10のPowerShellで更新プログラムの適用履歴を確認する方法
Windows10でWindows Updateの更新履歴を確認したい場合、台数が少なければ、1台ずつ設定アプリを開いて確認する方法もありですが、台数が多くなるとGUI操作で1台ずつ確認するのは効率が良くありません。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows10 Pro 64bit20H2

コマンドでアプリ一覧を収集する

コマンドでアプリ一覧を出力する場合、いくつかの方法がありますが、レジストリから情報を抽出するのがもっとも精度が高いでしょう。

具体的には、以下の3つのレジストリキー配下から情報を収集します。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Windowsコマンドで収集する

Windowsコマンドでレジストリからインストール済みアプリの情報を収集する場合は、「reg query」コマンド利用します。

> reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"
> reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"
> reg query "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | find "DisplayName"

上のコマンドでは、出力された情報からアプリ名だけを表示させるために、パイプ処理でfindコマンドを実行してある程度は出力される情報を絞り込んでいますが、限界があります。

Windows10でインストール済みアプリの一覧をコマンドで収集する方法

そこで、より見やすく出力したい場合は、PowerShellコマンドを実行する方法がおすすめです。

PowerShellコマンドで収集する

PowerShellコマンドでレジストリからインストール済みアプリの情報を収集する場合は、「Get-ItemProperty」コマンドレットを利用します。

> Get-ItemProperty HKLM:Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
> Get-ItemProperty HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize
> Get-ItemProperty HKCU:Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

また、対象のレジストリから一括で情報収集するなら、次のような実行方法もあります。

> Get-ChildItem -Path('HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKCU:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall','HKLM:SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall') | % { Get-ItemProperty $_.PsPath | Select-Object DisplayName, DisplayVersion, Publisher }

上のコマンドを実行すると、以下の画像のように成形されて必要な情報だけを収集することができます。

Windows10でインストール済みアプリの一覧をコマンドで収集する方法

あとがき

企業などで、複数のWindows10マシンを管理している場合、資産管理ツールなどを利用していれば、インストール済みアプリなどの情報を自動的に収集してくれますが、そうでない場合は、ここで紹介している方法で情報収集すれば作業効率をアップできるでしょう。

ご活用あれ。

記事が役立ったらシェアしてくれるとうれしいです。