|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :) |
|
|
WMI - [решено] как узнать какой антивирус на компе и еще пару вещей :)
|
Старожил Сообщения: 440 |
Профиль | Отправить PM | Цитировать Суть вот в чем:
Пишу скриптик небольшой для небольшой инвентаризации Хочу знать собрать следующую информацию: Название операционной системы - есть в реестре знаю где Версия сервис пака - тоже в реестре тоже знаю Наличие офиса и его версию - наверно есть где-то в реестре но не знаю где точно Наличие антивируса и его версию - еверест во вкладке безопасность его находит ,так что думаю где-то в реестре антивирусы отмечаются, опять же не знаю где. Брендмауэр - тоже что и по поводу антивира Вроде все. Если кто знает где в реестре искать , или может есть какая команда для этого, буду очень признателен. |
|
Отправлено: 12:46, 17-06-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать антивирус, офис, файервол - все это приложения, и никто не мешает на одну машину установить несколько разных офисов и антивирусов, какой из них тогда выбирать?.. ИМХО один выход - перебирать все возможные и определять - установлен или нет, и если да, то какая версия... чтобы не париться с реестром, лучше использовать WMI Installer Provider
пример CMD-команды, выводящей список установленного софта и его параметры: P.S. описание класса: http://msdn.microsoft.com/en-us/libr...,printer).aspx |
Отправлено: 14:39, 17-06-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Сообщения: 53451
|
Профиль | Отправить PM | Цитировать amel27, к сожалению, Win32_Product воспринимает только msi.
mitiya, пример получения полного списка установленных программ по этой ссылке (InstalledApplications). |
Отправлено: 14:55, 17-06-2009 | #3 |
$AutoITer Сообщения: 446
|
Профиль | Отправить PM | Цитировать Цитата mitiya:
Если путь имеет где то пробелы, то его нужно заключать в кавычки Остальные ф-ии прочитай сам |
|
------- Отправлено: 15:06, 17-06-2009 | #4 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата Petya V4sechkin:
|
||
Отправлено: 16:20, 17-06-2009 | #5 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать Medic84, это все я зная , тут проблемы нет , просто для полноты картины написал.
Цитата amel27:
А по поводу антивируса, я все же склонен считать что эти приложения как то отмечаются в системе ибо например центр обеспечения безопасности мне пишет в графе защита от вредоносных программ - nod , брендмауэр - smart security. |
|
Отправлено: 17:21, 17-06-2009 | #6 |
Старожил Сообщения: 418
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 20:06, 17-06-2009 | #7 |
$AutoITer Сообщения: 446
|
Профиль | Отправить PM | Цитировать Цитата mitiya:
Если существует такой-то ключ реестра допустим (HKLM\Software\Eset\Nod) то выводит его версию и т.п. А если нет то пропускает, и так с любым. Проблема только в том что придется все в ручную забивать(все антивирусы и т.п.) |
|
------- Отправлено: 21:25, 17-06-2009 | #8 |
Старожил Сообщения: 440
|
Профиль | Отправить PM | Цитировать Medic84, в том то и дело что не хочется перебирать все, не говоря уже о том что придется все эти антивирусы ставить и смотреть какой ключ они создаю.
Если винда как-то узнает какой антивирус стоит, то лучше всего этой возможностью воспользоваться. Очень сомневаюсь что винда перебирает все антивирусы по такому же принципу. |
Отправлено: 22:07, 17-06-2009 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить 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): |
Последний раз редактировалось Iska, 18-06-2009 в 02:56. Отправлено: 02:43, 18-06-2009 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|