如何使用 Powershell 检测防病毒软件是否过期

如何使用 Powershell 检测防病毒软件是否过期

是否可以使用 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。

相关内容