Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Windows (http://forum.oszone.net/forumdisplay.php?f=7)
-   -   [решено] Как узнать какой у пользователя антивирус? (http://forum.oszone.net/showthread.php?t=292048)

Raf-9600 03-12-2014 19:12 2439239

Как узнать какой у пользователя антивирус?
 
Использую в одной своей програмке oggdec, но некоторые антивирусы его блокируют. Хочу встроить в программу сообщение которое бы появлялось при обнаружении на компе у пользователя параноидального антивиря, но затык возник с тем, что я не знаю как узнать какой антивирь установлен.
Сама винда ведь определяет какой антивирь установлен и установлен ли он вообще (если не установлен, то сообщает что система в опасности), значит есть где-то единое, так сказать "центральное" место куда все антивири себя прописывают. Где оно?

Iska 03-12-2014 19:44 2439254

Цитата:

Цитата Raf-9600
Сама винда ведь определяет какой антивирь установлен и установлен ли он вообще (если не установлен, то сообщает что система в опасности), »

Можете воспользоваться Wbem: WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :).

Raf-9600 03-12-2014 20:51 2439279

Iska, благодарю. Методом усиленного гугления ещё нашёл примеры на Делфи http://theroadtodelphi.wordpress.com...i-and-the-wmi/
и даже для Inno Stetup - http://stackoverflow.com/questions/1...e-is-installed

А мораль такова, такие умные штуки нужно в поиск вбивать на английском, а не на русском, как я сделал перед созданием данной темы. В общем вопросов больше нет, всё найдено.

Iska 03-12-2014 22:33 2439326

Цитата:

Цитата Raf-9600
А мораль такова, такие умные штуки нужно в поиск вбивать на английском, а не на русском, как я сделал перед созданием данной темы. »

Вы не представляете, насколько Вы правы ;). Хотя я надеюсь, что не пройдёт и полста лет, как поисковики научатся таки учитывать морфологию русского языка.

Vadikan 04-12-2014 13:37 2439542

Можно в PowerShell, опять же, из WMI
Код:

Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct
См. также http://blog.powershell.no/2011/06/12...t-information/ (но там ошибка в строке 9 - нет слэша).

Iska 04-12-2014 17:17 2439673

Vadikan, в связи с Вашим ответом пара попутных вопросов появилась.
  1. Пространство «root\SecurityCenter2» появилось с какой ОС, не в курсе?
  2. При наличии пространства «root\SecurityCenter2» присутствует ли у Вас одновременно «старое» пространство «root\SecurityCenter»?

Raf-9600 04-12-2014 17:30 2439687

Iska, если взглянуть на пример на Делфи - http://theroadtodelphi.wordpress.com...i-and-the-wmi/ то можно сделать вывод что «root\SecurityCenter2» появилось в Висте на замену «root\SecurityCenter» который был в ХР.

Iska 04-12-2014 18:01 2439714

Raf-9600, информация всё одно несколько противоречивая.

Вот по предыдущей ссылке Vadikan'а:
Цитата:

The rootSecurityCenter2 namespace is available on Windows Vista SP1 and above. Windows Security Center is not available on server operatingsystems, meaning that the rootSecurityCenter2 namespace also isn`t available. In Windows XP SP2 the namespace is called rootSecurityCenter, but the properties are not the same as in rootSecurityCenter2. It`s possible to get the function work on Windows XP, but you would need to customize it to match the properties available in the rootSecurityCenter namespace.
Вот по Вашей:
Цитата:

…only are supported in Windows Desktops editions (Windows XP, Windows Vista and Windows 7).

Windows XP

Namespace : SecurityCenter
Classes availables: AntiVirusProduct, FirewallProduct

Windows Vista and Windows 7

Namespace : SecurityCenter2
Classes availables : AntiVirusProduct, AntiSpywareProduct, FirewallProduct
Вот из галереи Сценарий Get the status of Antivirus Product on local and Remote Computers.:
Цитата:

…only work on Windows XP SP2, Vista and 7 operating systems as Windows 2000 and Server 2003/2008/2008R2 does not have the required WMI SecurityCenter\SecurityCenter name spaces.

WMI query to get anti-virus information has been changed. Pre-Vista clients used the root/SecurityCenter namespace, while Post-Vista clients use the root/SecurityCenter2 namespace. But not only the namespace has been changed, The properties too.
Скрытый текст
В галерее есть и ещё один, попроще: Сценарий Get The Name of Installed Antivirus using Powershell.


В общем, мой вывод таков: в отличие от того, что приведено в примерах — надо смотреть не версии ОС и SP, а тупо проверять наличие того и другого пространства в пространстве «root» и работать с тем, какое будет.

Raf-9600 04-12-2014 18:26 2439729

У меня последний, весьма нубский вопрос: как на основе этого кода получить название антивируса в string на Delphi?


Время: 21:54.

Время: 21:54.
© OSzone.net 2001-