2012-03-24 4 views
4

Ist es möglich, programmgesteuert festzustellen, ob die Windows-Antivirus-Lösung in Java auf dem neuesten Stand ist?Java - Ist es möglich, programmgesteuert festzustellen, ob die Windows-Antivirus-Lösung aktuell ist?

+2

Ja, das ist möglich! Ist es eine einfache Aufgabe? Wahrscheinlich nicht. –

+0

Gibt es vielleicht einen Systemaufruf, den Sie machen können.Was Windows so versteht, erlaubt es anderen Programmen, den Antivirus-Status zu bekommen Wenn es innerhalb einer Java-App möglich ist, sagen Sie eine .net-App –

+0

Vielleicht möchten Sie WMI dafür verwenden, gibt es [eine Antwort auf SO für C#] (http://stackoverflow.com/a/1331918/916657) wie man das in Java macht, gibt es [jWMI] (http: // he nryranch.net/software/jwmi-query-windows-wmi-from-java/) und [mehrere andere Ansätze] (http://stackoverflow.com/a/4638004/916657). –

Antwort

7

Sie können die productUptoDate-Eigenschaft der AntiVirusProduct WMI-Klasse verwenden. Hier haben Sie einige Beispiele (in C# und Delphi) und den Speicherort (der Namespace ist von der Windows-Version abhängig) einer solchen Klasse.

für den Zugriff th WMI-Dienst von Java können Sie jinterop oder jWMI

+0

Mit dem JWMI kann ich den Anzeigenamen mit diesem Befehl nicht genau finden: System.out.println (getWMIValue ("Select * from AntivirusProduct", "displayName")); –

2

Dies ist ein VBScript unser Unternehmen zu verwenden, verwendet verwenden - es verwendet WMI als Niklas B .s Lösung funktioniert auch, also wird es nur auf XP SP3 + funktionieren. Es verwendet den gleichen Provider wie Windows-Sicherheitscenter (die nicht immer alle AV-Lösung! Allerdings holen, macht eine Menge Informationen über die AV-Lösung.

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 

Viel Glück und glücklich Codierung!