2012-02-09 58 views

回答

1

Win32_Product类查询速度很慢。尽可能多地过滤。

$计算机名= “SomeServer”

$应用=获取-WmiObject可以的Win32_Product筛选器 “installdate = '20120206'” - 计算机$计算机名

+0

欢迎StackOverflow的希克斯。感谢您的好书。我希望你的经验和知识能够帮助很多人,因为你加入了stackoverflow – Samselvaprabu 2012-02-10 05:41:13

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 

这所有已安装的应用程序的微软知识库系统(需要按日期过滤):

$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或在事件描述中查询“卸载”的“字符串搜索”。

相关问题