【问题标题】:WMI wql queries to fetch antivirus informationWMI wql 查询以获取防病毒信息
【发布时间】:2012-03-30 08:43:22
【问题描述】:

有哪些不同的 sql 查询可以帮助获取已安装的防病毒信息? 1 个查询我知道哪个告诉防病毒名称(如下面的代码所示)。我们可以使用 wql 查询获取哪些其他信息?

 string wmipathstr = @"\\" + Environment.MachineName + @"\root\SecurityCenter2";
 Console.WriteLine(Environment.MachineName );

 var searcher = new ManagementObjectSearcher(wmipathstr, "SELECT * FROM AntivirusProduct");

 foreach (var instances in searcher.Get())
 {
   Console.WriteLine(instances.GetPropertyValue("displayName"));
 }
 Console.Read();

【问题讨论】:

  • 除了“displayName”我们还能获取什么信息?
  • 防病毒版本或防火墙是否打开或关闭等信息..

标签: c# wmi wmi-query wql


【解决方案1】:

This article 显示了更多应该存在的字段:

companyName
displayName
instanceGuid
onAccessScanningEnabled
pathToSignedProductExe
productHasNotifiedUser
productState
productUptoDate
productWantsWscNotifications
versionNumber  

我猜productState 会是你的“无论是打开还是关闭”。

更新:我相信你可以使用WscGetSecurityProviderHealth 来获取它是否打开,如果你正在寻找的话。

【讨论】:

  • 感谢您的回复。猜猜我主要关心的是防火墙状态。你知道如何在 c sharp 中使用 WscGetSecurityProviderHealth。
  • 如果不能,请告诉我如何在 c sharp 中使用此产品状态方法。如果你可以分享任何sn-p。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 1970-01-01
相关资源
最近更新 更多