可以在Windows事件日志中找到软件安装,更新和删除的完整历史记录。这些日志也可用于识别启动安装或删除应用程序的特定用户。
如何查看Windows中的应用程序安装日志:
- 打开活动查看器snap-in(
eventvwr.msc
) - 扩张Windows日志- >应用
- 右键单击日志,然后选择过滤器当前日志
- 选择MSIINSTALLER作为事件源。
- 检查以下事件以获取有关安装或删除软件的信息11707-
Installation completed successfully
。
最终11724-Removal completed successfully
。该日志仅包含用于MSI/MSP软件包包装的应用程序的安装事件(或实际运行MSI安装程序的EXE文件中
msiexec.exe
)。 Windows安装程序服务(MSIServer
)用于安装MSI软件包。该服务用于管理Windows上软件的安装,维护,回滚和删除。某些以EXE文件格式分发的应用程序不使用Misserver服务,因此请勿编写此类事件。 - 要找出哪个特定用户卸载或安装了程序,请转到细节在事件属性中。切换到XML视图模式。用户的SID在安全用户ID属性值。复制它。
- 运行以下命令将用户SID转换为帐户名称:
wmic useraccount where sid='S-1-5-21-3414967564-454070197-2746421142-1001' get name
此命令返回启动安装或删除程序的用户的名称。
建议阅读:
要从事件日志中获取所有软件安装和删除事件,请使用get-winevent cmdlet。例如,列出成功软件安装的历史记录:
Get-WinEvent -FilterHashtable @{LogName="Application";ID=11707;ProviderName="MsiInstaller"} | Select TimeCreated,Message
要将事件查看器日志存储在最大深度,请增加Windows事件日志尺寸限制。
Windows具有更方便的工具,用于查看安装,删除和更新应用程序的历史记录,包括Microsoft Store(UWP)应用程序以及Windows Update Logs。这是系统可靠性监视器。
可靠性监视器是经典控制面板中的一个单独的图形小程序,它显示系统稳定性索引和有关可能影响操作系统稳定性的事件的详细信息(应用程序崩溃,软件安装,删除事件等)。
要打开可靠性监视器,请转到控制面板 - >安全性和维护。在维护部分,单击查看可靠性历史记录链接(或运行perfmon /rel
命令)。
查看在白天或一周内已安装或删除的更新,程序和UWP应用程序。有关活动的更多信息,请单击查看技术细节按钮。
该脚本在过去7天的计算机上显示了所有程序安装,删除和更新事件(包括Windows更新和AppX/MSIX安装)在Out-GridView Interactive图形表中。
$DaysAgo = (Get-Date).AddDays(-7)
$RealiabilityFilter= "TimeGenerated > '$DaysAgo' and (SourceName="Microsoft-Windows-WindowsUpdateClient" or SourceName="MsiInstaller")"
Get-CimInstance -ClassName Win32_ReliabilityRecords -filter $RealiabilityFilter|Select TimeGenerated,ProductName,User,message |Out-GridView
使用特定应用程序,事件或用户使用Out-GridView的内置过滤器过滤事件。