WMI wql查询以获取防病毒信息

时间:2012-03-30 08:43:22

标签: c# wmi wmi-query wql

有哪些不同的sql查询可以帮助获取已安装的防病毒信息?我知道哪个查询告诉防病毒名称(如下面的代码所示)。我们可以使用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();

1 个答案:

答案 0 :(得分:2)

This article显示了一些应该存在的字段:

companyName
displayName
instanceGuid
onAccessScanningEnabled
pathToSignedProductExe
productHasNotifiedUser
productState
productUptoDate
productWantsWscNotifications
versionNumber  

我猜productState将是你的'无论是打开还是关闭'。

更新:我相信您可以使用WscGetSecurityProviderHealth来获取是否已经开启,如果您正在寻找它。