是否可以使用 powershell 来确定防病毒软件是否/何时在 Win7 或 Win2008 Server 计算机上进行了最后更新?
答案1
这取决于防病毒软件:
- 它是否提供您可以解析的日志记录?
- 它是否提供了“过时”的程序通知?
- 它是否提供管理 API?
如果软件将定义/引擎更新记录到 Windows 事件日志中,您可以查找最新更新,并查看更新发生的时间。例如,使用 Windows 7 中的 Microsoft Security Essentials,这将告诉我最新定义更新的日期/时间(Get-EventLog 按事件日志的顺序返回事件,因此第一个匹配项是最新的):
(get-eventlog -LogName system -Source "Microsoft-Windows-WindowsUpdateClient" -InstanceId 19 |
?{$_.Message -match "Microsoft Security Essentials"} | select -first 1).TimeGenerated
显然,细节会因操作系统和 AV 包的不同而有所差异。
答案2
为了扩展上述 jdiaz 的后续内容,以下命令将获取 McAfee 的当前 DAT 日期和版本:
Get-ItemProperty HKLM:\SOFTWARE\McAfee\AVEngine | Select-Object AVDatDate,AVDatVersion | Format-List
答案3
Symantec 将日志记录到 Windows 事件日志中。您可以使用 Get-EventLog cmdlet。