有哪些不同的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();
答案 0 :(得分:2)
This article显示了一些应该存在的字段:
companyName
displayName
instanceGuid
onAccessScanningEnabled
pathToSignedProductExe
productHasNotifiedUser
productState
productUptoDate
productWantsWscNotifications
versionNumber
我猜productState
将是你的'无论是打开还是关闭'。
更新:我相信您可以使用WscGetSecurityProviderHealth
来获取是否已经开启,如果您正在寻找它。