Java - возможно ли программно определить, обновлено ли антивирусное решение Windows? - PullRequest
5 голосов
/ 24 марта 2012

Можно ли программно определить, обновлено ли антивирусное решение Windows в Java?

Ответы [ 2 ]

7 голосов
/ 24 марта 2012

Вы можете использовать свойство productUptoDate класса AntiVirusProduct WMI. Здесь у вас есть несколько примеров (в C # и Delphi) использования и расположение (пространство имен зависит от версии Windows) такого класса.

для доступа к службе WMI из Java вы можете использовать jinterop или jWMI

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

Это VBScript, который использовала наша компания - он использует WMI, как и решение Niklas B., поэтому он будет работать только на XP SP3 +. В нем используется тот же поставщик, что и в Центре безопасности Windows (который не всегда подхватывает каждое AV-решение! Однако, он предоставляет много информации о AV-решении.

Set objSWbemServices = GetObject("winmgmts:\\.\root\SecurityCenter")
Set colFirewall = objSWbemServices.ExecQuery("Select * From antivirusProduct",,48)
For Each objAntiVirusProduct In colFirewall
  WScript.Echo "companyName: " & objAntiVirusProduct.companyName
  WScript.Echo "displayName: " & objAntiVirusProduct.displayName
  WScript.Echo "instanceGuid: " & objAntiVirusProduct.instanceGuid
  WScript.Echo "onAccessScanningEnabled: " & objAntiVirusProduct.onAccessScanningEnabled
  WScript.Echo "productUptoDate: " & objAntiVirusProduct.productUptoDate
  WScript.Echo "versionNumber: " & objAntiVirusProduct.versionNumber
Next

Удачи и счастливого кодирования!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...