Pull to refresh

Инвентаризация ПО предприятия с помощью антивируса Касперского

Reading time2 min
Views12K
Хочу поделиться своим опытом решения задачи по инвентаризации установленных на компьютерах предприятия программ. Лично я не смог выбрать из предложенного многообразия продуктов тот, что подходит нашей организации, и написал сам.

Необходимо:


  • видеть, сколько экземпляров каждой программы установлено;
  • иметь возможность сравнить состояние текущее и на прошлой неделе;
  • иметь возможность учитывать используемые лицензии и следить за их превышением.


Решение:


Не секрет, что антивирус Касперского достаточно популярен, а в корпоративной среде используется централизованное управление с помощью Сервера администрирования. В Kaspersky Administration Kit 8.0 существует Реестр программ, собирающий необходимую нам информацию. Зачем, в таком случае, дублировать эту функцию и использовать что-то ещё? Осталось обработать уже имеющиеся данные.

Общий принцип: используя связку Apache+PHP+MySQL пишем скрипт, который загружает данные из БД Касперского в нашу таблицу по нажатию кнопки на главной странице. Через веб-интерфейс мы можем просмотреть состояние на каждый момент, в который производилась загрузка. Добавляем функции сравнения двух снимков состояний и анализ имеющихся лицензий.

Некоторые замечания: я использую FreeBSD, и мне потребовалась библиотека freetds для работы php-функции mssql_connect(). Сервер администрирования Касперского может использовать как полноценный MSSQL Server, так и свою СУБД, которая является тем же самым MSSQL, но Express Edition. Загрузка данных работает в любом случае, но в EE необходимо в SQL Server Configuration Manager включить сетевые службы и для TCP/IP указать нужный порт (например, 1433). Желательно, также, создать специального пользователя для подключения.

Домашняя страница программы: www.dcvetkov.net/monpo.html

Скрипты:


index.php: основной файл, в котором указываем параметры баз данных (mysql и mssql) и описываем html-шаблон. Мой дизайн максимально прост.
upload.php: скрипт загрузки данных. В нём описывается замена названий некоторых программ по нужному вам принципу. Я, например, удаляю из названий номера версий, чтобы одна и та же программа разной версии учитывалась как одна. Также я удаляю данные о драйверах и обновлениях.
compare.php: функции сравнения снимков состояний.
license.php: функции учёта лицензий.
license.txt: файл описания существующих лицензий.
logons.txt: файл соответствия имени компьютера и пользователя, который за ним работает. Для удобства анализа отчётов. Может быть пустым.
monpo.sql: — описание таблицы MySQL.
Tags:
Hubs:
Total votes 44: ↑38 and ↓6+32
Comments13

Articles