报告 SCEP 更新和扫描

报告 SCEP 更新和扫描

我在我管理的所有工作站上都​​使用 Microsoft System Center Endpoint Protection。对于所有三个主要平台,让它报告上次更新和上次扫描的时间非常麻烦。通过解析系统日志,我能够检索 Mac 和 Linux 的日期,但 Windows 一直很难找到。

我可以在 GUI 中看到日期和时间,但这对于在数十台计算机上运行自动报告是不切实际的。有谁知道使用某种脚本输出这些数据的方法(最好使用 PowerShell,但我可以使用任何方法)吗?

答案1

好的,我编写了以下 powershell 脚本来从日志中提取最新更新的日期。SCEP 的日志记录功能“成功”中有一个拼写错误,因此当您注意到我的以下代码中也有一个拼写错误时,它是为了与我正在搜索的日志中的拼写错误相匹配。

$a=Select-String -Pattern "Update completed succesfully" -Path C:\Windows\Temp\MpCmdRun.log | Foreach {($_ -split ':')[2]}

$lineNumber = $($a | measure -Maximum).Maximum + 1

$lastUpdate = Get-Content -Path C:\Windows\Temp\MpCmdRun.log | Select-Object -Index $lineNumber | Foreach {($_ -split ':\s')[2]}

$lastUpdate = $lastUpdate.Replace("$([char]8206)","")

Write-Host "scep_last_update=$lastUpdate"

答案2

嗯,根据这个Forefront Enterprise Protection 的 Technet 页面(与 SCEP 是相同的产品,与 Security Essentials 是相同的产品,等等),该产品存在以下日志位置,您可以使用某些 PowerShell 解析这些日志位置以获取所需的信息:

  • %allusersprofile%\Microsoft\Microsoft Antimalware\Support
    • 反恶意软件服务专用的日志文件
  • %allusersprofile%\Microsoft\Microsoft Security Client\Support
    • SCEP 客户端软件特有的日志文件
  • %windir%\WindowsUpdate.log
    • Windows 更新日志文件,其中包含有关定义更新的信息
  • %windir%\CCM\Logs\EndpointProtectionagent.log
    • 显示端点版本和应用的策略
  • %windir%\temp\MpCmdRun.log
    • 执行扫描和签名更新时的活动
  • %windir%\temp\MpSigStub.log
    • 签名和引擎更新的更新进度

我还偶然发现了 SCEP 的原生 cmdlet,您可以使用以下命令列出它们:Get-Command -Module MpProvider,但它们对我来说不起作用,我无法Update-Help在 Microsoft 网站上找到有关它们的信息...所以我放弃了。也许你会更幸运 - 它们似乎与 Windows Defender 的 cmdlet 基本相同。

相关内容