Форум » [x]Harbour » Установлен-ли АнтиВирус ? » Ответить

Установлен-ли АнтиВирус ?

Softlog86: Как узнать , установлен-ли антивирус ? AVAST и ESET интересуют больше всего .

Ответов - 7

Dima: Можно попробовать через WMI Пошукай в гуглу что то типа "Select * from AntiVirusProduct"

Pasha: Наверное, проверять, есть ли соответствующая ветка реестра. Для drweb это HKLM\SOFTWARE\Doctor Web Avast и ESET у меня под рукой нет, но несложно посмотреть на машине, где установлен интересующий продукт.

Haz: Dima пишет: что то типа "Select * from AntiVirusProduct" Или через тот же вимиай среди работающих процессов поискать имена содержащие AVAST или ESET. Плюс вимиай в том, что он точно работает, а при наличии нужных прав доступа можно порыться в любом компе в сети.


Softlog86: сам с WMI ни разу не сталкивался .... смотрим в примерах .....

Dima: Softlog86 [pre2] #include 'common.ch' FUNC Main( ) Local oWmi, oItem REQUEST HB_LANG_RU866 HB_LANGSELECT("RU866") REQUEST HB_CODEPAGE_RU866 hb_cdpSelect( "RU866" ) oWmi := WmiService( "127.0.0.1" ) IF Valtype( oWmi ) == "O" ? ? "SELECT * FROM Win32_ComputerSystem" FOR EACH oItem IN oWmi:ExecQuery( "SELECT * FROM Win32_ComputerSystem" ) ? ' ' + charrem( "'", ALLTrim( oItem:Name ) ) ? ' ' + oItem:UserName ? ' ' + Ntoc( CTON( oItem:TotalPhysicalMemory ) /1024 ^ 2 ) NEXT ? ? "SELECT * FROM Win32_ComputerSystemProduct" FOR EACH oItem IN oWmi:ExecQuery( "SELECT * FROM Win32_ComputerSystemProduct" ) ? ' ' + CharRem( "'", oItem:UUID ) NEXT ? ? "SELECT BuildVersion FROM Win32_WMISetting" FOR EACH oItem IN oWmi:ExecQuery( "SELECT BuildVersion FROM Win32_WMISetting" ) ? ' ' + oItem:BuildVersion NEXT ? ?"SELECT * FROM Win32_BaseBoard" FOR EACH oItem IN oWmi:ExecQuery( "SELECT * FROM Win32_BaseBoard" ) ? ' ' + CharRem( "'", oItem:Manufacturer ) ? ' ' + CharRem( "'", oItem:Product ) ? ' ' + CharRem( "'", oItem:Version ) NEXT ? ?"SELECT * FROM Win32_BIOS" FOR EACH oItem IN oWmi:ExecQuery( "SELECT * FROM Win32_Bios" ) ? ' ' + CharRem( "'", oItem:Name ) ? ' ' + CharRem( "'", oItem:SMBIOSBIOSVersion ) ? ' ' + CharRem( "'", oItem:SerialNumber ) NEXT ? ?"Select * from Win32_NetworkAdapter where NetEnabled = true" FOR EACH oItem IN oWmi:ExecQuery( "SELECT * FROM Win32_NetworkAdapter") ? oItem:MACAddress ? oItem:Name ? oItem:NetConnectionID NEXT END RETURN NIL STATIC FUNCTION WMIService( cComp ) Local oWmi, oItem LOCAL oErrSave := ERRORBLOCK( { | objErr | BREAK( objErr ) } ) LOCAL oErr Local oLocator LOCAL cName := '' LOCAl lLocahost := FALSE LOCAL cStr := '' oWmi := NIL oLocator := NIL IF VALTYPE( oWmi ) == "O" oWmi:Release() oWmi := NIL END oLocator := CreateObject( "wbemScripting.SwbemLocator" ) * ? Valtype( oLocator) //oWmi := oLocator:ConnectServer( cComp,,,,,, 128 ) * oWMI := oLocator:ConnectServer('127.0.0.1','root\CIMV2',,) oWMI := oLocator:ConnectServer(cComp,'root\CIMV2',,) // oWMI := oLocator:ConnectServer('170.20.175.55',,,,,,128) RETURN oWmi [/pre2]

Dima: еще примерчик [pre2] Proc main KillProceso("idman.exe") return FUNCTION KillProceso ( cProceso ) #ifndef __XHARBOUR__ #xcommand TRY => BEGIN SEQUENCE WITH {|e| Break( e )} #xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr-> #endif Local oWMIob, oWMIserver, aProcess, objProcess try oWMIob := CreateObject( "wbemScripting.SwbemLocator" ) catch RETURN nil END oWMIserver := oWMIob:ConnectServer() if Valtype(oWMIserver) == 'O' .and. Valtype(oWMIob) == 'O' aProcess :=oWMIserver:ExecQuery( "Select * from Win32_Process" ) For Each objProcess in aProcess IF UPPER(objProcess:Name) = UPPER(cProceso) objProcess:Terminate() ENDIF ? objProcess:Name next endif RETURN nil [/pre2]

Softlog86: Большая просьба , если у вас установлен антивирус - сбрасывайте сюда названия служб для них ( как называются в диспетчере задач вкладка [Службы] для ESET : ESET Service



полная версия страницы