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

Показать сообщение отдельно

Ветеран


Сообщения: 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