Win32_Product クラスを実行しただけで、裏でWindows Installer が走り出していた。

単なるガジェット日記

概要

Windows 7 で、PSコマンドレット”Get-WmiObject -class win32_product” を実行してみた。
すると、[イベント ビューアー] の[アプリケーション] に、複数の「Windows インストーラーにより製品が再構成されました。」が記録されていた。
どうやら、Win32_Product をクエリするだけで、Windows Installer が走り出し、各種ソフトの整合性をチェックし出す模様。
なので、Win32_Product クラスをむやみに実行させるのは良くなさそう。

詳細

動機/経緯

Windows にインストールされているソフトウェアを、CUIで調べたかった。そこでまずたどり着いたのが、PowerShell のコマンドレットとして”Get-WmiObject -class win32_product” を実行すること。

環境

  • OS: Windows 7 Professional with SP1
  • PowerShell のVer.: 2.0

わかったことなど

PSコマンドレット”Get-WmiObject -class win32_product” を実行してみた。
インストールされているソフトウェアが羅列されるので、けっこう便利。

だけどそれと同時に、[イベント ビューアー] の[アプリケーション] に、「Windows インストーラーにより製品が再構成されました。」という内容のイベントが複数記録される。

キャプチャ.PNG
どうやら、Win32_Product をクエリするだけで、Windows Installer が走り出し、各種ソフトの整合性とかをチェックし出す模様。
なので、Win32_Product クラスをむやみに実行させるのは良くなさそうとのこと。

よって、インストールされているソフトの一覧をCUIで出力する方法としては、レジストリを使った別の手段をとることにした。(それは今度別の記事として書く予定)

参考になったウェブページ

Use PowerShell to Quickly Find Installed Software – Hey, Scripting Guy! Blog

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