2011年2月18日金曜日

◆インストールされているソフトウエアの一覧を取得(64ビットOS対応版)

以前作ったPowerShell: ◆インストールされているソフトウエアの一覧を取得は64ビットOSではうまく動作しなことが判った。(64ビットアプリしか表示されない)

64ビットOS上で動く32ビットアプリケーション(Wow64)は別のレジストリーで管理されているようだ。
そこで64ビットOSに対応するよう改修してみた。

001
002
003
004
005
006
007
008
009
010

$path = "\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
$wow = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
$patharray = ("HKLM:" + $path),("HKCU:" + $path)
if(Test-Path $wow){$patharray += $wow}

Get-ChildItem -Path $patharray |
    %{Get-ItemProperty $_.PsPath} |
    ?{$_.systemcomponent -ne 1 -and $_.parentkeyname -eq $null} |
    sort displayname |
    select DisplayName,Publisher

0 件のコメント:

コメントを投稿