Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :)

Ответить
Настройки темы
WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :)

Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


Суть вот в чем:
Пишу скриптик небольшой для небольшой инвентаризации

Хочу знать собрать следующую информацию:
Название операционной системы - есть в реестре знаю где
Версия сервис пака - тоже в реестре тоже знаю

Наличие офиса и его версию - наверно есть где-то в реестре но не знаю где точно

Наличие антивируса и его версию - еверест во вкладке безопасность его находит ,так что думаю где-то в реестре антивирусы отмечаются, опять же не знаю где.

Брендмауэр - тоже что и по поводу антивира

Вроде все.

Если кто знает где в реестре искать , или может есть какая команда для этого, буду очень признателен.

Отправлено: 12:46, 17-06-2009

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


антивирус, офис, файервол - все это приложения, и никто не мешает на одну машину установить несколько разных офисов и антивирусов, какой из них тогда выбирать?.. ИМХО один выход - перебирать все возможные и определять - установлен или нет, и если да, то какая версия... чтобы не париться с реестром, лучше использовать WMI Installer Provider

пример CMD-команды, выводящей список установленного софта и его параметры:
Код: Выделить весь код
WMIC Product Get /Value
P.S. описание класса: http://msdn.microsoft.com/en-us/libr...,printer).aspx

Отправлено: 14:39, 17-06-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


Сообщения: 53449
Благодарности: 15499

Профиль | Отправить PM | Цитировать


amel27, к сожалению, Win32_Product воспринимает только msi.

mitiya, пример получения полного списка установленных программ по этой ссылке (InstalledApplications).

Отправлено: 14:55, 17-06-2009 | #3


Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


Цитата mitiya:
Хочу знать собрать следующую информацию:
Название операционной системы - есть в реестре знаю где
Версия сервис пака - тоже в реестре тоже знаю »
Что бы отобразить значение реестра используется REG QUERY

Код: Выделить весь код
REG QUERY (путь) /v (значение)
Если путь имеет где то пробелы, то его нужно заключать в кавычки

Остальные ф-ии прочитай сам

Код: Выделить весь код
Reg /?

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 15:06, 17-06-2009 | #4


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата Petya V4sechkin:
пример получения полного списка установленных программ »
это понятно, но как из этой ветки реестра выдернуть версию?

Отправлено: 16:20, 17-06-2009 | #5


Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


Medic84, это все я зная , тут проблемы нет , просто для полноты картины написал.

Цитата amel27:
антивирус, офис, файервол - все это приложения, и никто не мешает на одну машину установить несколько разных офисов и антивирусов, какой из них тогда выбирать? »
ну что касается офисов то я говорил в данном случае о MS офисе. а версия это 2003 или 2007, наличие сервис паков не критично.

А по поводу антивируса, я все же склонен считать что эти приложения как то отмечаются в системе ибо например центр обеспечения безопасности мне пишет в графе защита от вредоносных программ - nod , брендмауэр - smart security.

Отправлено: 17:21, 17-06-2009 | #6


Аватара для Cibersoft Prolex

Старожил


Автор проектов


Сообщения: 418
Благодарности: 87

Профиль | Отправить PM | Цитировать


mitiya
Ошибка в шапке
Цитата mitiya:
как узнать какой онтивирус на компе и еще пару вещей »

-------
Если я Вам помог - жмите "Полезное сообщение"


Отправлено: 20:06, 17-06-2009 | #7


Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


Цитата mitiya:
ну что касается офисов то я говорил в данном случае о MS офисе. а версия это 2003 или 2007, наличие сервис паков не критично.
А по поводу антивируса, я все же склонен считать что эти приложения как то отмечаются в системе ибо например центр обеспечения безопасности мне пишет в графе защита от вредоносных программ - nod , брендмауэр - smart security. »
На твоем бы месте я бы сделал все на условии Если
Если существует такой-то ключ реестра допустим (HKLM\Software\Eset\Nod) то выводит его версию и т.п. А если нет то пропускает, и так с любым. Проблема только в том что придется все в ручную забивать(все антивирусы и т.п.)

-------

AutoIT Русское сообщество| Моя лаборатория


Отправлено: 21:25, 17-06-2009 | #8


Старожил


Сообщения: 440
Благодарности: 12

Профиль | Отправить PM | Цитировать


Medic84, в том то и дело что не хочется перебирать все, не говоря уже о том что придется все эти антивирусы ставить и смотреть какой ключ они создаю.
Если винда как-то узнает какой антивирус стоит, то лучше всего этой возможностью воспользоваться. Очень сомневаюсь что винда перебирает все антивирусы по такому же принципу.

Отправлено: 22:07, 17-06-2009 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Конкретно про антивирус и фаерволл: если ОС знает о них, то и Вы можете узнать вот так посредством WMI (пример на WSH/VBScript; проверялось на Windows XP SP3 Professional: ниже SP2 работать не будет, выше — теоретически возможно, но не проверялось):
Код: Выделить весь код
Option Explicit

Dim objSWbemServicesEx

Dim collSWbemObjectSet_AntiVirusProduct
Dim objSWbemObjectEx_AntiVirusProduct

Dim collSWbemObjectSet_FireWallProduct
Dim objSWbemObjectEx_FireWallProduct


Set objSWbemServicesEx = GetObject("WinMgmts:{impersonationLevel=impersonate}!\\.\root\SecurityCenter")


Set collSWbemObjectSet_AntiVirusProduct = objSWbemServicesEx.ExecQuery("SELECT * From AntiVirusProduct")

If collSWbemObjectSet_AntiVirusProduct.Count <> 0 Then
    For Each objSWbemObjectEx_AntiVirusProduct In collSWbemObjectSet_AntiVirusProduct
        With objSWbemObjectEx_AntiVirusProduct
            WScript.Echo .CompanyName, .DisplayName, .VersionNumber, "is", .productUpToDate
        End With
    Next
Else
    WScript.Echo "Not found AntiVirus Products"
End If

Set collSWbemObjectSet_AntiVirusProduct = Nothing


Set collSWbemObjectSet_FireWallProduct = objSWbemServicesEx.ExecQuery("SELECT * From FireWallProduct")

If collSWbemObjectSet_FireWallProduct.Count <> 0 Then
    For Each objSWbemObjectEx_FireWallProduct In collSWbemObjectSet_FireWallProduct
        With objSWbemObjectEx_FireWallProduct
            WScript.Echo .CompanyName, .DisplayName, .VersionNumber
        End With
    Next
Else
    WScript.Echo "Not found FireWall Products"
End If

Set collSWbemObjectSet_FireWallProduct = Nothing

WScript.Quit 0
Естественно, «правильные» антивирус или фаерволл должны «сообщать» о своём присутствии, иначе экземпляры этих классов будут отсутствовать.

Update: поскольку выше речь косвенно шла вроде как о пакетных файлах, то приведу описанный функционал и для них (посредством WMIC):
Код: Выделить весь код
wmic.exe /Node:. /NameSpace:\\Root\SecurityCenter Path AntiVirusProduct Get CompanyName, DisplayName, VersionNumber, productUpToDate
wmic.exe /Node:. /NameSpace:\\Root\SecurityCenter Path FireWallProduct Get CompanyName, DisplayName, VersionNumber

Последний раз редактировалось Iska, 18-06-2009 в 02:56.

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:43, 18-06-2009 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Как узнать из BATника %windir% на удаленном компе???? Dilinjer Скриптовые языки администрирования Windows 3 05-08-2006 12:12
[решено] Как узнать установлена ли у меня виртуальная Java машина и какой версии? dark_n Microsoft Windows 2000/XP 2 05-06-2006 07:11
Как узнать где-какой кабель? Diesel Сетевые технологии 4 21-09-2005 07:34




 
Переход