2012-02-09 7 views

答えて

1

Win32_Productクラスのクエリが非常に遅いです。できるだけフィルタリングしてください。

$コンピュータ名= "SomeServer"

$アプリケーション=取得-WmiObjectコマンドWin32_Productの-filter "installdate = '20120206'" -computer $コンピュータ名

+0

はヒックスをStackOverflowのへようこそ。あなたの素晴らしい本をありがとう。私はあなたの経験と知識が多くのあなたがstackoverflowに参加するように役立つことを願っています – Samselvaprabu

1

WMIインターフェイスがこれに対応しているはずです。 wmic product

ここにはblog articleがあり、これについて詳しく説明し、その結果を.csvファイルとして取得する方法について説明します。

1

(WMIであなただけのMSIパッケージを取得することができます)私はあなたがアンインストールされたアプリケーションに関する情報を見つけることができるとは思わないが、あなたは、レジストリからいくつかの情報を取得することができます。

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*\' | Select-Object DisplayName,InstallDate,Publisher 
1

によってインストールされたアプリケーションのリストを取得するには特定の日の使用中のmsiexecこの:

$strComputer = "." 

$colItems = get-wmiobject -class "Win32_Product" -namespace "root\CIMV2" -computername $strComputer 

$colitems | ? { $_.installdate -eq "yyyymmdd" }| select name 

このインストールされているすべてのアプリケーションのMicrosoftの知識ベース(日付でフィルタリングを必要とする)ため:

$Keys = Get-ChildItem HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall 
$Items = $keys |foreach-object {Get-ItemProperty $_.PsPath} 
$items | select displayname , "(default)" , installdate 

インストールされていないアプリケーションの場合は、イベントの説明でソース「MsiInstaller」または「文字列検索」の「アンインストール」からapplication events logsを照会する必要があります。

関連する問題