WMI wql запрашивает получение антивирусной информации - PullRequest
1 голос
/ 30 марта 2012

Какие 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();

1 Ответ

2 голосов
/ 30 марта 2012

В этой статье показано еще несколько полей, которые должны существовать:

companyName
displayName
instanceGuid
onAccessScanningEnabled
pathToSignedProductExe
productHasNotifiedUser
productState
productUptoDate
productWantsWscNotifications
versionNumber  

Я предполагаю, что productState будет вашим "включен или выключен".

Обновление: я полагаю, вы можете использовать WscGetSecurityProviderHealth, чтобы узнать, включен он или нет, если это все, что вы ищете.

...