Инвентаризация компьютерной техники в сети

Инвентаризация компьютерной техники в сети это прича прич. Сколько сломано копий и написано статей. И все как то не так. А как так ?

Проблема: нужно провести инвентаризацию в локальной сети оборудования. Бегать по всем компьютерам не хочеться ( хотя иногда быстрей получиться) Инвентаризация это не одноразовый процесс, её нужно повторять периодически, не реже чем раз в год, а в связи с регулярными увольнениями персонала , то раз в месяц не помешает, но одно дело когда вся инвентаризация сводиться к нажатию пары кнопок и небольшому редактированию полученных отчетев и совершенно другое когда ты месяц пытаешься "свести все до кучи". Время - экономим время.

Из учета того что я люблю Linux, а большинство рабочих станций под windows встает вопрос: Как из-под Linux провести инвенторизацию компьютерной техники. Подратив один рабочий день и много много нажатий кнопок в google я нашел следующий вариант, на мой взлят просто великолепный. Чем же он так хорош. Мы получаем гибкий и мощный инструмент, который не зависит от платформы и пропритарного ПО.

Итак: - WMI. Под Linux естественно со скрипом, но всеже можно. При подробном рассмотрении проекта zenoss оказалось , что в состав пакета входит утилита wmic написанная на python. Её исходники можно скачать тут - wmi-1.3.13.tar.bz2. Распоковать ( я использовал mc по причине природной лени) и скомпилировать make находясь под рутом из главного каталога проекта. Файл был положен в /bin. При компиляции пришлось доставить automake2, нужную версию указыват скрип при компилировании.

А дальше из коммандной строки нужно выполнить запрос:

wmic -U domen/user%password //hostname "select * from Win32_BaseBoard"

где domen,user,password соответственно домен, пользователь который имеет права администратора для доступа к хосту и пароль. * можно заменять конкретными параметрами через запятую а после from указать нужный нам раздел.

Class WMI

Win32_ComputerSystem

Win32_BaseBoard

От каждого объекта мы возьмём по 4 основных поля. Где то их будет меньше где то чуть больше. Из учета того что объектов больше 20 то значимых полей более 80, что более чем достаточно для создания "паспорта" системного блока. Остальную информацию не трудно собрать, а вот вопрос в её целесообразности стоит остро.

И как бы мы не сканировали сеть, все равно это только заготовка для настоящей инвентаризации. Нужно все равно пройти проверить серийные номера и инвентарные номера. Также есть проблема сканирования компьютеров на которых стоит и настроен файерволл. Есть устройства которые невозможно просто просканировать. Так что ножками придется все равно идти.

Но прежде чем производить инвентаризацию нужно получить список компьютеров в сети. В этом нам поможет другая свободная программа nmap.