![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Создание базы по определению Антивирусов и Файрволлов через скрипт |
|
Создание базы по определению Антивирусов и Файрволлов через скрипт
|
Ветеран Сообщения: 904 |
Просьба проверить Ваши системы данной утилитой и отписаться:
1. Ваши антивирус и файрвол (название, версия) 2. определились или нет данным модулем 3. системные данные Заранее спасибо всем за тестинг! Код ссылка на готовый модуль http://ifolder.ru/19637962 PS в основу модуля легло предложение madmasles ( http://forum.oszone.net/post-1512083-11.html ) за что ему отдельное спасибо. Итак, на 09102010 промежуточные итоги: ![]() |
|
------- Отправлено: 14:53, 06-10-2010 |
Ветеран Сообщения: 904
|
Профиль | Отправить PM | Цитировать madmasles, также прекрасно решают проблему системные макросы...
Iska, разве скрипт через операнд &= не будет постоянно наращивать строку до конца цикла (т.е. все найденные будут добавляться)? Ой, все понял... Ваша правда, конечно |
------- Отправлено: 16:09, 06-10-2010 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата saavaage:
|
|
Отправлено: 16:24, 06-10-2010 | #12 |
Ветеран Сообщения: 904
|
Профиль | Отправить PM | Цитировать окончательный код скрипта:
#include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> Global $DebugMode = 0 Opt("GUIOnEventMode", 1) $hMain_GUI = GUICreate("Проверка безопасности OS", 619, 182, 189, 122) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") $Tab1 = GUICtrlCreateTab(8, 16, 601, 120) $Security = GUICtrlCreateTabItem("Проверка на средства защиты OS") GUICtrlCreateLabel('Ваша OS', 24, 52) $OS = GUICtrlCreateInput(@OSVersion, 84, 50, 290, 20, BitOR($SS_LEFT, $ES_READONLY, $ES_AUTOHSCROLL)) GUICtrlCreateLabel('SP', 384, 52) $SP = GUICtrlCreateInput(@OSServicePack, 405, 50, 100, 20, BitOR($SS_LEFT, $ES_READONLY, $ES_AUTOHSCROLL)) GUICtrlCreateLabel('Bit', 515, 52) $Bit = GUICtrlCreateInput(@OSArch , 535, 50, 50, 20, BitOR($SS_LEFT, $ES_READONLY, $ES_AUTOHSCROLL)) GUICtrlCreateLabel('Антивирус', 24, 75) $Antivirus = GUICtrlCreateInput('', 84, 75, 500, 20, BitOR($SS_LEFT, $ES_READONLY, $ES_AUTOHSCROLL)) GUICtrlCreateLabel('Файрволл', 24, 100) $Firewall = GUICtrlCreateInput('', 84, 100, 500, 20, BitOR($SS_LEFT, $ES_READONLY, $ES_AUTOHSCROLL)) If _ServiceExists('wscsvc') = 1 Then _Antivir() _Firewall() Else MsgBox(0, 'Уведомление', 'Для работы модуля необходимо активировать' &@CRLF &' в системе Центр Обеспечения Безопасности!') EndIf $Button_Save = GUICtrlCreateButton('Сохранить на РС', 501, 145, 100, 30) GUICtrlSetOnEvent($Button_Save, "_Save") GUICtrlCreateTabItem("") GUISetState() While 1 Sleep(100) WEnd Func CLOSEClicked() Exit EndFunc Func _Save() GUICtrlSetState($Button_Save, $GUI_DISABLE) If FileExists(@DesktopDir&'\securety_report.txt') Then MsgBox(4096, "securety report", 'securety_report.txt уже существует. Переменуйте' &@CRLF & 'его для предотвращения затирания информации!') Else $sData = GUICtrlRead($OS) & ' ' & GUICtrlRead($SP) & ' ' & GUICtrlRead($Bit) & ' ' &@CRLF& 'Антивирус: ' & GUICtrlRead($Antivirus) &@CRLF& 'Файрволл: ' & GUICtrlRead($Firewall) $file = FileOpen(@DesktopDir&'\securety_report.txt',18) FileWrite($file, $sData) FileClose($file) sleep(1000) GUICtrlSetState($Button_Save, $GUI_ENABLE) EndIf EndFunc Func _Antivir() $OutputAnt = "" $objWMIService = ObjGet("winmgmts:\\localhost\root\SecurityCenter") $colItems = $objWMIService.ExecQuery("SELECT * FROM AntiVirusProduct", "WQL", 48) If IsObj($colItems) Then For $objItem In $colItems $OutputAnt &= $objItem.DisplayName & " Version: " & $objItem.VersionNumber & ' ' Next If $OutputAnt <> '' Then GUICtrlSetData($Antivirus, StringTrimRight($OutputAnt, 2)) $OutputAnt = "" Else GUICtrlSetData($Antivirus, 'Антивирус отсутствует!') EndIf Endif EndFunc Func _Firewall() $OutputFw = "" $objWMIService = ObjGet("winmgmts:\\localhost\root\SecurityCenter") $colItems = $objWMIService.ExecQuery("SELECT * FROM FireWallProduct", "WQL", 48) If IsObj($colItems) Then For $objItem In $colItems $OutputFw &= $objItem.DisplayName & " Version: " & $objItem.VersionNumber & ' ' Next MsgBox(0, '', $OutputFw) If $OutputFw <> '' Then GUICtrlSetData($Firewall, StringTrimRight($OutputFw, 2)) $OutputFw = "" Else GUICtrlSetData($Firewall, 'Антивирус отсутствует!') EndIf Endif EndFunc Func _ServiceExists($nService) Local $objWMIService ; Main object Local $objQueryCollection ; Result of query Local $hObj ; Current selected Object in $objQueryCollection If $DebugMode = 1 Then ConsoleWrite(@CR) If $DebugMode = 1 Then ConsoleWrite("_ServiceExists($nService)" & @CR) If $DebugMode = 1 Then ConsoleWrite("_ServiceExists($nService)= " & $nService & @CR) $objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2") If IsObj($objWMIService) Then If $DebugMode = 1 Then ConsoleWrite("$objWMIService is an Object" & @CR) $objQueryCollection = $objWMIService.ExecQuery("SELECT * FROM Win32_Service Where Name = '" & $nService & "'") Else Return 110 EndIf If IsObj($objQueryCollection) then If $DebugMode = 1 Then ConsoleWrite("Collection returned by Query on $objWMIService)" & @CR) For $hObj In $objQueryCollection If $hObj.Name = $nService Then Return 1 ;Service found, return 0 Next ;<== $objWMIService In $hObj Else Return 110 ;Obj error EndIf Return 0 ;Service not found, return -1 EndFunc |
------- Отправлено: 16:29, 06-10-2010 | #13 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Цитата saavaage:
$objItem.Caption - различает Home и Professional. $objItem.InstallDate - даты установки в макросах тоже не нашел. В функции _Firewall() - MsgBox(0, '', $OutputFw) лишний. И в ней же GUICtrlSetData($Firewall, 'Антивирус отсутствует!') лучше, наверное, "Файервол отсутствует!" |
|
Последний раз редактировалось madmasles, 06-10-2010 в 16:41. Отправлено: 16:30, 06-10-2010 | #14 |
Ветеран Сообщения: 904
|
Профиль | Отправить PM | Цитировать madmasles, а если система не 32 bit как тогда?
madmasles, да, спешу, е-мое... Забыл подчистить |
------- Отправлено: 16:42, 06-10-2010 | #15 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата saavaage:
|
|
Отправлено: 16:45, 06-10-2010 | #16 |
Ветеран Сообщения: 904
|
Профиль | Отправить PM | Цитировать madmasles, будут ли они в принципе работать на 32 bit. У меня ведь и определение есть ли служба завязано на этом... Только сейчас обратил внимание....
|
------- Отправлено: 16:46, 06-10-2010 | #17 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Iska,
Цитата Iska:
Цитата saavaage:
Цитата saavaage:
|
|||
Отправлено: 16:54, 06-10-2010 | #18 |
Ветеран Сообщения: 904
|
Профиль | Отправить PM | Цитировать Получился такой код:
Если все нормально, компилю утилиту и выкладываю на форуме. Проверьте, плиз... |
------- Отправлено: 17:04, 06-10-2010 | #19 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать saavaage,
У меня все нормально. ![]() |
Отправлено: 17:24, 06-10-2010 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Не обновляются антивирусные базы, не могу зайти на сайты антивирусов | Sunforger | Лечение систем от вредоносных программ | 3 | 12-02-2010 12:36 | |
[решено] Отключение дисплея или перевод в СПЯЩИЙ РЕЖИМ через через скрипт | sashadeg | AutoIt | 4 | 30-05-2009 13:06 | |
Создание локальных зеркал антивирусов | Dimidrol II | Защита компьютерных систем | 3 | 04-01-2008 15:18 | |
скрипт для дампа базы и отправки на другой хост | nix_lamer | Программирование в *nix | 5 | 12-02-2007 14:09 | |
Создание базы данных на с++builder | Galosh | Программирование и базы данных | 2 | 27-06-2003 15:47 |
|