Идентификаторы для инвентаризации ит оборудования это легко и просто. Срочная инвентаризация. Или хочу всё знать. Все, что нужно для учета компьютеров


С ростом компьютерного парка в организациях возрастает опасность забыть, какое периферийное устройство находится внутри той или иной рабочей станции, или вообще потерять одно из них. Потеря может произойти из-за халатности сотрудника отдела технического обеспечения или по злому умыслу работника, решившего улучшить быстродействие своего домашнего компьютера за счет фирмы. У начальника технической службы или системного администратора существует несколько путей для недопущения такого рода происшествий. Например, можно опломбировать корпуса системных блоков и проводить регулярную инспекцию целостности пломб. Можно производить опись компонентов каждое утро (или вечер). Также действенным может оказаться установка средств визуального наблюдения. Все эти методы имеют свои плюсы и свои минусы. Основным минусом этих средств является повышенная их трудоемкость, а также весьма серьезная затратная часть (средства визуального наблюдения, пломбы, увеличенное рабочее время для контроля). Подобные минусы отсутствуют у еще одного варианта учета - программного.

Система Total Network Inventory от Softinventive позволяет вести полный учет программного обеспечения, установленного на компьютере, а также осуществлять контроль аппаратной части компьютеров офисов, малых и больших корпоративных локальных сетей. Не сходя со своего места, администратор может просканировать сеть и получить исчерпывающую информацию о каждом компьютере. Никаких предварительно установленных модулей не требуется - они устанавливаются автоматически. Программа позволяет сканировать сеть как в реальном времени (немедленно), так и, используя скрипт, в момент подключения клиента к домену.

Total Network Inventory имеет как обязательный в наше время мастер, дающий пользователю при минимуме напряжения мозга получить весьма впечатляющий результат, так и режим ручного сканирования, позволяющий пользователю настраивать все параметры самостоятельно. Возможности сканера впечатляют. Сканирование ведется по трем видам информации: по оборудованию, по установленному программному обеспечению, а также по системной информации реального времени (запущенные в системе процессы, службы, общие ресурсы, переменные среды).

Внешний вид программы напоминает "Проводник", наглядно отображая в левой панели дерево локальной сети с разбивкой на группы. Название группы соответствует положению рабочей станции в иерархии сети либо выбирается пользователем вручную. При выборе компьютера в центральной части главного окна программы отображается информация о нем. Детализация о той или иной подсистеме выбирается на основании отмеченной категории в соответствующей панели, отображаемой справа. Интерфейс у программы масштабируемый и легко поддается настройке на свой вкус. Большое количество визуальных тем оформления, настраиваемые панели, инструменты, а также насыщенность клавиатурными сокращениями позволят даже самому привередливому пользователю адаптировать интерфейс программы под себя.

При первом запуске программы пользователю будет предложены варианты дальнейшей работы: запуск мастера сканирования сети, сканирования текущего компьютера или же открытие главного окна и дальнейшей работы. Основным режимом работы для системного администратора наверняка станет работа в главном окне. Однако, чтобы не вносить компьютеры вручную, на первом этапе можно использовать мастер сканирования сети.

Мастер предлагает два варианта работы: онлайн-сканирование и логон-скрипт. Каждый вариант сопровождается подробнейшим описанием, указывая, какие разрешения и политики безопасности должны быть включены. Какой путь выбрать, зависит от конкретной ситуации.

При сканировании компьютеров, используя логон-скрипт, администратор получает возможность добавить строку вызова программы-сканера в доменный логон-скрипт, позволяя собирать информацию о каждом компьютере, который подключается к домену, используя данный скрипт (при установленной и запущенной службе WMI). Мастер позволяет выбрать общую папку, куда помещаются файлы программы-сканера, и папку для сохранения результатов сканирования. Далее, модифицировав логон-скрипт, администратору остается только ждать, когда пользователи начнут подключаться к домену, и время от времени контролировать информацию, полученную с помощью программы.

Онлайн-сканирование имеет большее количество шагов для достижения результата. Этот тип сканирования подразумевает два варианта поиска компьютеров: "Сетевое окружение" и "Диапазон IP-адресов". В первом случае программа просматривает дерево компьютеров, видимых через сетевое окружение. Этот вариант позволяет администратору увидеть структуру своей сети Microsoft Windows (рабочие группы, домены) и визуально выбрать узлы для сканирования. Если же сетевое окружение отображается медленно, или у администратора есть несколько подсетей для сканирования, или с ними нет NetBIOS-соединения, следует выбрать второй путь - "Диапазон IP-адресов". Данный путь позволит задать один или несколько диапазонов адресов, по которым будет производиться сканирование. В каждом из вариантов нужно указать имя пользователя с соответствующими привилегиями (имеющего права работы с административными ресурсами).

Два варианта поиска компьютеров - "Диапазон IP-адресов" и "Сетевое окружение"

Результатом работы мастера будет список групп, доменов, узлов, а также подробнейшая информация о них. Дополнительно для каждого компьютера создается учетная карточка, в которой содержатся сведения о владельце и компьютере:

  • имя компьютера;
  • инвентарный номер;
  • зарегистрированный пользователь;
  • стоимость компьютера;
  • название организации;
  • дата оплаты и установки;
  • рабочая группа или домен компьютера;
  • IP-адрес;
  • персональные данные;
  • дополнительные информационные поля.

Программа может автоматически генерировать инвентарные номера для любого вновь найденного компьютера, а также позволяет создавать дополнительные информационные поля, содержащие информацию о периферии, подключенной к компьютеру (например, источник бесперебойного питания, сканер, фотокамера).

Полнота информации, собираемой Total Network Inventory, позволяет вести наблюдение за любой аппаратной или программной составляющей системы, отслеживая любые изменения и своевременно реагируя на них. Для эффективной работы с данными в программе предусмотрена панель категорий, дублируемая кнопками на панели инструментов. Пользователь, выбирая категорию, получает исчерпывающую информацию о ней. Например, при выборе подкатегории "процессор" из категории "оборудование" программа выдаст все о процессоре, начиная от его названия и заканчивая напряжением ядра и частотой работы кеш-памяти второго уровня.

Для упорядочивания всего этого океана информации в системе предусмотрен построитель отчетов. Используя меню "Отчеты" или нажав соответствующую кнопку на панели инструментов, пользователь получает доступ к инструментарию, связанному с отчетами. Построитель способен сводить в удобной форме данные на основе выбранных пользователем критериев. Критерии отбора в программе условно разделены на четыре основные группы: общая информация, оборудование, программы, другое. При переключении в режим построения отчетов администратору становятся доступны инструменты работы с отчетами, а также множественный выбор критериев в соответствующей панели. Благодаря этому у оператора программы Total Network Inventory существует множество возможностей для контроля текущей ситуации с технико-программной базой офисной или корпоративной сети. В зависимости от реалий той или иной фирмы программа предоставляет возможность воспользоваться либо предустановленными схемами отчетов, либо создать свою, наиболее полно отображающая требуемую картину с техникой. В меню "Отчеты" собраны схемы отображения отчетов. Они (отчеты) делятся на две группы: полные и краткие. Например, отчет по критерию "Компьютер и мат. плата" в полном виде занимает страницу и содержит подробную информацию. Это информация о системном блоке, материнской плате (производитель, имя, серийный номер, версия), информация BIOS (имя, производитель, дата выпуска, версия SMBIOS). В краткой же форме этот отчет занимает треть страницы и в нем сведена та же информация, но без конкретизации по датам, серийным номерам и прочему.

Построитель позволяет генерировать отчеты как для всей сети, так и для выбранных в панели "Обзор сети" компьютеров или групп. Вы можете включить в отчет любое количество компьютеров и категорий в любой комбинации, то есть выбрать несколько компьютеров из разных сетей или групп, сочетая это с любой комбинацией информационных категорий. Полученный отчет администратор может сохранить во внутреннем формате, а также в формате текстового файла ASCII, HTML-, CSV- и RTF-файла. В случае надобности отчет можно распечатать.

И, наконец, настройки программы. В зависимости от настроек безопасности сети, а также конфигурации сети программа позволяет настроить варианты соединения с удаленными станциями. Это может быть либо использование в соединении именованных административных каналов по протоколу SMB, либо подключение к службе WMI через протокол RPC, либо их комбинации. Также настройки позволяют администратору учесть наличие или отсутствие в сети DNS-сервера и определить, разрешать ли IP-адреса при сканировании или нет. Множество остальных настроек позволяют весьма гибко управлять теми или иными параметрами программы в зависимости от текущей надобности администратора или конфигурации локальной сети.

Итак, в деле удаленного наблюдения, упорядочивания и сохранения информации о технико-программной составляющей компьютерного парка организации данный продукт весьма преуспел. Он обладает разумной ценой, неплохим быстродействием, великолепным обработчиком собранной информации, а также всеми нужными инструментами для работы в сетях различной сложности. Мы уверены, что Total Network Inventory позволит сэкономить немало сил и нервов системному администратору.

  • IT-инфраструктура
  • Это именно история в стиле success story, a не инструкция по установке. Так как пошаговых how to в интернете и на данном сайте для этого продукта предостаточно. Но все они рассказывают про инвентаризацию ПК, а с серверами есть свои нюансы. GLPI не смотря на существующий серверный функционал и плагины специализируется на инвентаризации ПК. Но в умелых руках можно заточить его под нужды серверных Администраторов (сетевых между прочим тоже). Возможно используемые методы у программистов вызовут нарекания, но напомню сделано это админами и для админов.

    Предистория
    Наверное не нужно объяснять как важно иметь в оперативном доступе актуальную информацию про подопечный зоопарк техники. Особенно это становится важно когда количество начинает переваливает за сотню. Наверняка все проходят через exel файлик с необходимыми полями. С такой же вероятностью у всех возникало чувство отвращения от этого метода при забивании или модифицировании десятка строк.

    Проработав в одном сотовом операторе где количество серверов исчислялось 4-х значными числами и оценив прелести используемой там самописной системы для инвентаризации, я озадачился поиском подобного для моего нового работодателя. Подсказку кинул блог на хабре.

    В одной статье было упоминание про использования связки FusionInventory + GLPI для сбора информации по устанавливаемым серверам. В связи с большим уважением к остальным применяемым в статье технологиям я решил опробовать эту в нашей среде.

    Реализация
    Пару слов о продуктах:
    • GLPI - система для организации heldesk в предприятии с базой данных по оборудованию
    • FusionInventory - автоматизация сбора данных и выполнения задач
    Оба продукта Open Source, оба периодически обновляются и дополняются новыми фичами. Но от обоих продуктов нам понадобится только часть функционала:
    • Хранение основной информации по серверам и виртуальным машинам:
    • Автоматический сбор этих данных с серверов
    • Отслеживание запросов во внешние ТехПоддержки
    • Хранение информации о ТП (кто оказывает поддержку, на каком уровне и когда она кончиться)
    • Ассоциация серверов с бизнес сервисами предоставляемыми ИТ
    • Отслеживание местоположения сервера в стойке
    • Создание отчётов
    После изучения функционала и понимания что потребуется что нет, урезаем в интерфейсе всё лишнее. Это отлично отробатываеться через гибкую систему управления профилями. Создав профиль для администраторов серверов и внимательно пройдясь по доступным галочкам беспощадно выкосил весь неиспользуемый функционал. В таком виде вы и ваши коллеги не будете отвлекаться от основной задачи данного ресурса - кропотливый сбор информации.
    Поверхностный тюнинг
    Суровое наследство GLPI как helpdesk инструмента придётся вырезать залезая в код. Моих навыков в PHP на котором написана система хватает на интуитивное пониманием кода, но несмотря на это можно сделать достаточно много. Сперва рекомендую поправить локализацию для того чтобы элементы инвентаризации назывались не компьютерами, а серверами. Вроде не особо значимый пункт, но помогает в правильном позиционировании продукта внутри компании.

    Файл с русской локализации по умолчанию хранится здесь: /usr/share/glpi/locales/ru_RU.php. Сделайте бэкап и смело правьте названия.

    Следом рекомендую сменить страницу по умолчанию на список серверов. Это сократит на пару кликов доступ к самой востребованной информации и уберёт лишние вопросы:
    cp /usr/share/glpi/front/central.php /usr/share/glpi/front/central.php.b cp /usr/share/glpi/front/computer.php /usr/share/glpi/front/central.php
    Дальше определим набор полей которые мы хотим видеть для серверов. В нашем случае это вылилось в такой список:

    • Имя сервера
    • Серийный номер
    • Модель
    • Адрес консоли управления
    • Статус
    • Местоположение
    • Контакт ответственного за приложения на сервере: человек и подразделение
    Попробуем убрать лишнее с нашей вэбформы отображения сервера. Для этого нужно подредактировать класс computer: /usr/share/glpi/inc/computer.class.php . Находим функцию showForm(и комментируем вывод полей.

    При удачной компановке переносами оставшихся полей получаем подобную форму:

    Советую создать шаблоны с предварительно заданными полями для уменьшения отвращения от заполнения инвентаризации.

    Hint 1: Добавив пару строк в эту же функцию можно получить удобную ссылку на элемент в системе мониторинга nagios в котором есть обратная ссылка в инвентаризацию (см скриншот выше):
    echo ""; echo ""; echo "";
    Hint 2: Переименовав неиспользуемое нашей командой поле «инвентарный номер» в «адрес консоли» и сменив тип на url получили возможность прямо из списка серверов перейти на SP консоль. Помогает оперативно решать проблемы со сбойным сервером.

    Так же дабы не отвлекать наших администраторов лишними элементами рекомендую закомментировать данные вкладки в том же файле (часть из них может быть убрана зарезанием прав через профиль):
    # $this->addStandardTab("ComputerVirtualMachine", $ong, $options); # $this->addStandardTab("RegistryKey", $ong, $options); # $this->addStandardTab("Item_Problem", $ong, $options); # $this->addStandardTab("Link", $ong, $options); # $this->addStandardTab("Reservation", $ong, $options); # $this->addStandardTab("OcsLink", $ong, $options); # $this->addStandardTab("Computer_SoftwareVersion", $ong, $options); # $this->addStandardTab("Note", $ong, $options); # $this->addStandardTab("Document", $ong, $options);

    Сбор данных
    Для того чтобы не вбивать информацию по компонентам воспользовались плагином FusionInventory. Очень хорошая статья по его установке уже . Могу лишь добавить от себя что было изменено в нашем случае.

    Агенты ставить не хотелось в виду и так большого количества постороннего по на серверах. Тем более чаше всего достаточно одного запуска для сбора данных. Не каждый же день у вас меняется ОС или компоненты на сервере. Шара в сети (CIFS и NFS) и распакованный на ней дистрибутив агента FusionInventory под каждую ОС используемую в компании позволяет в одну команду собрать данные:

    • \\share\FusionInventory\Windows\fusioninventory-agent.bat
    • /net/share/FusionInventory/RHEL/fusioninventory-agent
    Как запустить данную процедуру массово в вашей компании решать вам самим. После запуска мы либо получим новый объект в инвентаризации либо обновим данные существующего (уникальность проверяется по серийнику/МАC/IP/имени) с забитыми данными:

    В настройках плагина FusionInventory отключаем сбор той информации которая вам не нужна.

    Hint: результат работы агента можно выгрузить в файл, а потом импортировать в GLPI. Данный механизм создаёт идиальный API для автоматической загрузки любых данных. Мы реализовали на этой возможности импорт данных по виртуальным машинам из нашей фермы VMware.
    У плагина FusionInventory для данных задач есть свой инструмент, но он добавляет компоненты к серверу, вместо создания полноценного элементы списка серверов. Что не так удобно. В последней версии вышедшей пару месяцев назад появился выбор, создавать элемент для виртуалок или компонент к ESXi серверу.

    Отслеживаем внешние заявки
    Так как админов в команде много, они периодически уходят в отпуск или болеют, нужно где то собирать информацию об активных заявках в ТП. Так же полезно знать какие проблемы были с данным сервером (а в нашем случае и со стороджами, свитчами и софтом).

    Решение заложено в GLPI - заявки, но в данном случае они подразумевают заявку наружу, а не внутрь ИТ команды. Для упрощения процедуры заявок было сделано аналогичное урезание функционала:

    Получаем список открытых или закрытых тикетов:

    Дополнение
    Собственно на этом инвентаризация серверов закончена, дальше в зависимости от необходимости дополняем функционал

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

    Инвентаризация сети – общее название для учета вычислительной техники и программ в вашей локальной сети. Инвентаризация сети также включает в себя контроль лицензий ПО. Таким образом, данная процедура – необходимое средство по контролю соответствия всего установленного программного обеспечения, с заданием «стандартного набора» для рабочего места.

    Как происходит инвентаризация сети?

    С использованием современных автоматизированных средств – специальных программ, процесс инвентаризации выполняется в полностью автоматическом режиме, и – что важно – без необходимости установки «агентского» (то есть, дополнительного) ПО на удаленные компьютеры. Ниже рассмотрены актуальные на сегодня версии подобных программ – серверного программного обеспечения, имеющего в том числе бесплатные лицензии, и, в некоторых случаях, с различным функционалом.

    Free 1

    Network Inventory Advisor от компании Clearapps – программа, обладающая 15-дневным бесплатным сроком использования. Доступна для скачивания по адресу: http://www.clearapps.ru/pc-inventory.html

    Программа, по анонсам самой компании, является универсальным средством инвентаризации любой локальной сети, с функционалом, описанным выше, включая множество возможностей по контролю лицензионной политики ПО предприятия.

    Помимо суммирующего отчета с детальной информацией о программном обеспечении рабочих станций, можно создавать отчеты, включающие список программ, группируемых как по названию, версии, так – разработчику, и т.д. Любой удаленной программе можно присвоить статус: разрешенная к применению, запрещенная, обязательная к установке. Можно получить и отчет со списком компьютеров, содержащих программное обеспечение без лицензий. И все это – за минуты.

    Информацию как по программному, так и аппаратному обеспечению, программа предоставляет администратору в виде отчетов. Задать можно любые, необходимые для вашего анализа, параметры поиска, по любым адресам сети. Для упрощения работы – уже составлены готовые шаблоны (шаблоны отчетов). А любой готовый отчет легко экспортировать в форматы: HTML, TSV, CSV, SQL, XML, также и легко – распечатать.

    Предустановленный отчет имеет готовую структуру, а пользовательский – составляется самостоятельно. Предустановленных отчетов – немало, и чаще всего, все, что нужно – правильно выбрать тип предустановленного. Пользовательские отчеты в программе имеют название «специальных».

    Специальный отчет

    Здесь вы легко выберете все узлы и параметры, затем, программа построит отчет по параметрам.

    Предустановленный отчет: отчет по антивирусам

    Данный отчет позволит быстро найти, например, на каких из компьютеров не установлено антивирусное обеспечение.

    В заключение, можно сказать: особенностью программы является мультиплатформенность в семействе систем Microsoft (есть версия даже для Win9x), инспектировать же – есть возможность любые рабочие станции (в том числе, BSD Unix, Linux).

    Free 2

    «Учет Программного Обеспечения» – сходная по функционалу программа, правда, не создающая отчетов с «железом». Основная ее функция – учет программного обеспечения, установленного на рабочих станциях локальной сети, необходимый, в частности, при инвентаризации программ и лицензий. Разработчики уверяют: программе – по силам и сеть больших предприятий.

    Программа «Учет Программного Обеспечения» – отечественная разработка, заточенная именно под учет лицензий. Инвентаризация и аудит ПО на компьютерах в локальной сети, здесь снабжается функцией по ведению баз данных учета.

    Здесь вы можете по сети (то есть – удаленно) отслеживать изменения списка установленного обеспечения. Узнать о типе установленной ОС, программах автозагрузки, обновлениях и так далее – все это позволит одна лишь программа, установленная на любом ПК в вашей локальной сети.

    Компания 10-Strike, изготовитель данной программы, предоставляет ее в 2-х версиях: бесплатной полностью (http://www.10-strike.com/rus/network-software-audit/download.shtml), и в pro-версии, имеющей, при этом, 30-дневный пробный период.

    Способы применения программы «Учет Программного Обеспечения»

    • Инвентаризация установленного ПО локальной сети. Можно: создать отчет по наличию определенных версий программ и их количеству на компьютерах. Также, легко создается отчет в том числе и по версиям всех операционных систем, включая: установленные обновления ОС, «заплатки». Аналогично можно проверить: наличие установленных кодеков, либо наличие программ в автозагрузке.

    Как найти определенные программы в компьютерах локальной сети (только для Pro):

    В приведенном выше примере, считаем количество установленных копий photoshop. Или, допустим, Winrar:

    • Аудит и контроль программного обеспечения. Можно отслеживать изменения в списке установленных программ, одновременно на всех компьютерах сети. Будет легко обнаружить и новые установленные программы, либо новые объекты автозагрузки:

    • Возможно использование автоматического средства контроля всех изменений на компьютерах вашей сети. Эта программа предлагает использовать фоновое сканирование всех компьютеров по расписанию, а оповещение об изменениях – может быть по email.
    • Контроль лицензий на установленное ПО. Вы можете отслеживать правильность всех используемых лицензионных ключей (правда, об алгоритме – в инструкции не сообщается).
    • Наконец, возможен экспорт баз данных этой программы в любую внешнюю БД, что также бывает полезно на практике (поддерживается формат Microsoft).

    Особенности версий программы:

    • Бесплатная версия имеет ограничения: позволяет просматривать программное обеспечение на не более чем 10 компьютерах. Бесплатная версия – не создает отчетов.
    • Платная версия называется Pro, и требует покупки лицензии, в зависимости от числа сканируемых компьютеров. Версия имеет мощный генератор готовых отчетов, позволяя контролировать все изменения ПО при последующих проверках. Демо-версия (30 дней) ведет работу с неограниченным числом компьютеров, после чего позволяет работe только с 3-мя компьютерами.

    Особенности работы программы:

    Программа устанавливается на один компьютер сети, не требуя установки агентов на компьютере пользователей.

    Изменения, полученные в отчетах, записываются в журнал. Список параметров, которого – настраивается.

    О достоинствах этой программы:

    Все данные собираются в данной программе при помощи WMI-технологии. Поэтому, не потребуется установка каких-либо дополнительных программ на компьютеры пользователей. Если же, применение WMI-технологии в данной сети – не возможно (иногда ограничения вносит политика безопасности, или Windows Home-версий), программа поддерживает еще два разных способа сбора информации с локальных ПК. Инвентаризационную базу данных программы можно вести, внося сведения об изменениях, даже для станций (компьютеров), не подключенных к сети.

    Программа пишет все данные в собственную инфо-базу, что позволяет администратору просматривать списки установленного ПО всех ПК в любой момент времени, в том числе, без подключения этих ПК к локальным сетям.

    Контроль и учет серийных номеров и лицензий осуществляется просто: вы вносите число уже имеющихся лицензий, и правильные значения ключей в программу. Затем, отслеживать как превышение числа копий программ, так и «левые», можно автоматически.

    Коротко – о технологии wmi

    Технология WMI - прежде всего, это расширенная, адаптированная под нужды Windows реализация одного из стандартов WBEM, принятого для многих операционных систем. В основе стандарта – универсальный интерфейс мониторинга (а еще – управления системами и компонентами) в распределенной среде с использованием ООП-технологий и протоколов уровня HTTP (HTML, XML).

    Используется объектно-ориентированный подход для представления всех компонентов системы, вне зависимости (без разделения) на аппаратную и програмную часть. В то же время, такая модель объектов является и расширяемой, что позволит программам, устройствам и драйверам добавлять в модель свои классы. Модель протокола WBEM носит название CIM.

    WMI, унаследованный от CIM, является также открытой и унифицированной системой, включающей интерфейсы доступа к параметрам как операционной системы, так и устройствам и приложениям, функционирующим в данной момент.

    Особенностью WMI считается то, что хранящиеся его объекты соответствуют так называемым динамическим ресурсам системы, то есть параметры всех ресурсов могут меняться, вот почему параметры объектов здесь не хранятся, а создаются, лишь – по запросу самих потребителей. Хранилище свойств WMI называется репозитарием, находится он в системной папке самой ОС Windows:

    %SystemRoot%\System32\WBEM\Repository\FS

    Получается, там где нет WMI - с успехом можно использовать ее открытый стандарт (то есть, WBEM).

    Технология WMI – на данный момент используется в: Windows Me/200х/XP или выше.

    В дословном переводе, WMI – инструментарий по удаленному управлению Windows. Любая программа учета программного обеспечения,работающая по WMI, использует только часть функций (выполняющих только лишь чтение данных, без изменения системных значений).

    На этом обзор технологии мы завершим.

    Non-free 1

    Network Asset Tracker - универсальное средство по инвентаризации вашей сети, позволяющее за один клик получать информацию о компьютерах данной сети. В отчете здесь вы увидите: во-первых, детальную информацию об операционных системах, включая время установки и регистрации, ключ, и т.д., информацию об оборудовании, а также, запущенных в данный момент процессах. Информация о любых приложениях, установленных на ПК сети, включая и лицензионные ключи, ими используемые – выводится менее, чем за минуты. Официальная страница программы: http://www.misutilities.com/network-asset-tracker-pro

    Network Asset Tracker также поможет отслеживать все изменения, как в оборудовании, так и в программах. Построитель отчетов с массой возможностей – экономит время при построении любых готовых отчетов и графиков. Отчет может экспортироваться в: HTML, Excel .xls, также формат CSV, или же, в RTF. К особенности данного обеспечения относится, в том числе, и возможность сканировать различные сетевые устройства, помимо ПК. В их числе: маршрутизаторы, свичи, LAN/WAN роутеры, сетевой принтер, и т.п.

    Программа Network Asset Tracker собирает информацию о всех компьютерах, подключенных к вашей сети, 3-мя из возможных способов:

    • удаленно, без установки дополнительных приложений на рабочие станции (протокол WMI);
    • используя установку на удаленные станции модуля (то есть, агента);
    • либо, применяя сценарий по подключению рабочей станции к домену сети.

    Полученная информация хранится в одном из 4-ех видов баз данных (что удобно для быстрого использования данных сторонней программой):

    1. MS Access
    2. Firebird
    3. Oracle
    4. MS SQL

    Для инспектирования «софта», вы запускаете только одну копию этой программы. Требуется установка (поддерживается Win 200х или выше). Network Asset Tracker удаленно читает ключи продуктов для большинства версий Microsoft Windows и Office, также для SQL Server и большого числа официальных программных продуктов иных фирм. Отслеживается: название/версия для установленного ПО, версия дополнений, и соответствие лицензионных ключей. Подробнее:

    1. информация об установленных ОС;
    2. тип, версия, ключ – для ОС;
    3. информация о: сервис-паках, хотфиксах;
    4. информация об общих ресурсах сети;
    5. возможен просмотр списка запущенных приложений (процессов);

    В программе, инспектируются ключи и версии в том числе и программного обеспечения «не Microsoft». Приложение наделено богатым функционалом: к примеру, есть поиск файлов в удаленном компьютере (для случая «том – не открыт для сети»). Все платные версии Network Asset Tracker, имеют в названии суффиксы «Pro».

    Решение проблем с WMI – наиболее «частые» вопросы

    Выше, рассмотрены 3 различных программы, предназначенных для инвентаризации сети. При том, что из них – каждая:

    • помогает вести учет программного обеспечения;
    • работает, используя WMI-технологию (или – как минимум, имеет возможность ее применения).

    Если рассматривать проблемы работы с WMI, как единое множество, его можно разбить на два класса:

    • Неверно настроенные права доступа аккаунта (то есть, тому, от имени кого запускается модуль, попросту недостаточно прав для выполнения запроса)
    • Проблемы с WMI, имеющиеся на наблюдаемой станции (агенте)

    Проверять работу WMI на каждом компьютере можно (и нужно), даже не дожидаясь возникновения проблем. Сама компания Microsoft для диагностики предлагает использовать инструмент WMIDIAG. Скачать его – по идее, можно тут: http://www.microsoft.com/downloads/. Скопировав на нужный компьютер, можно эту программу запустить (без установки). Может быть, вам даже не придется использовать никаких ключей (команд). Полное описание работы с программой – в справке по WMIDIAG.

    Для доступа к WMI – инфраструктуре, хоть локально, хоть удаленно, используется протокол DCOM. Уровень прав подключившегося пользователя (в нашем случае – сервера), определяется механизмом олицетворения и аутентификации DCOM. Уровни олицетворения могут иметь значения: Anonymous, Identify, также Impersonate и Delegate.

    Известно, что при уровне олицетворения ниже, чем Impersonate, никакие запросы удаленно обрабатываться не могут. Ну, а уровень выше, чем Impersonate, то есть Delegate – наоборот, использовать не рекомендуется (команды можно будет выполнять через цепочку нескольких компьютеров).

    Уровень олицетворения в DCOM, выбираемый по умолчанию, может зависеть от версии WMI – интерфейса на целевом компьютере. Его можно и изменить, то есть прописать явно, для этого существует только один ключ реестра локальной машины:

    SOFTWARE\Microsoft\WBEM\Scripting\Default Impersonation Level

    Однако, скорее всего, этого делать не придется: в исполняемых сценариях, нужный уровень олицетворения может быть указан в явном виде (обычно – в момент соединения с интерфейсом WMI).

    При работе WMIDIAG, создаются три текстовых файла, помещаемые по умолчанию в директорию %TEMP%:

    1. файл.log (информация о деятельности утилиты);
    2. файл.txt, содержащий отчет с предупреждениями/ошибками;
    3. файл.csv, который содержит статистику.

    На рисунке мы видим как раз содержимое.txt отчета, где WMIDIAG нам указывает возможный источник ошибок (в данном случае – это провайдер DLL, то есть отсутствие его регистрации в системе).

    Также, мы слукавим, если не скажем здесь о встроенном средстве тестирования интерфейса WMI – программе WBEMtest. Утилита – графическая, но сначала мы в консоли наберем слово wbemtest (с правами администратора, конечно), и увидим окно:

    Галочку «All Privileges» – мы «включаем», затем – нужно нажать «Connect».

    В поле пространства имен должен быть вписан rootCIMv2, жмем «Connect» второй раз.

    Таким образом, вы получите список всех классов, определенный в локальном репозитарии WMI (принадлежащих пространству имен CIMv2). Если вместо этого появилось бы сообщение об ошибке, мы бы сделали вывод, что такое пространство имен WMI – не зарегистрировано (зарегистрировано неправильно).

    Non-free 2

    Alloy Discovery – комплексное решение, предназначенное для инвентаризации сети с ПК под управлением систем Windows, также Mac OS Х, Linux. Программа работает с собираемой в сети информацией как о компьютерном оборудовании, так и программном обеспечении, и подходит для использования сетевыми администраторами и поставщиками ИТ-услуг. Раньше, продукт носил название Alloy Network Inventory, общее для линейки продуктов. Фирма-производитель сообщает, что их решения предназначаются организациям и предприятиям малого и среднего бизнеса.

    Официальная страница, подробно сообщающая о возможностях программы, находится здесь: . Основные же сведения – можно получить из вкладки «о Продукте».

    Программа предназначена для автоматического сбора и обработки любой информации о компьютерах, при этом используются различные методы аудита (либо – с применением аудит-агента, либо – без него). Существует возможность устанавливать аудит-агенты для систем Windows, Linux или Mac OS, во всех случаях возможен аудит компьютеров по расписанию.

    Удаленный аудит компьютеров внутренней сети – выполняется как по запросу, так и в автоматическом режиме (по расписанию). Выполнять аудит компьютеров, в данный момент не подключенных к сети, можно вручную (используется флэшь-накопитель).

    Анализировать собираемую информацию можно, используя различные методы ее фильтрации, также – группировки и сортировки всех данных. Можно включить встроенные алгоритмы по анализу потенциальных нарушений безопасности (выполняются на основе информации об автоматическом запуске приложений, и других свойств). Отслеживать все неполадки, и возможные проблемы в программном обеспечении, предполагается с использованием консолидированных журналов событий.

    Наконец, экспорт данных проведенной инвентаризации возможен в формат XML, CSV, HTML и Excel .xls.

    Текущая версия программы – 5.1.1.В версии 5.1 – доступны улучшения:

    • Безагентовый аудит для Linux и Mac OS X компьютеров;
    • Обнаружение и идентификация ПК с помощью протокола SNMP;
    • Безагентовый аудит по расписанию;
    • Автоматический сбор информации центра обеспечения безопасности MS Windows;
    • Возможность отображения данных в стандарте Юникод.

    И другое. Имеется набор «предварительно настроенных» внешних аудируемых программ, а предустановленные отчеты (например: «Топ 10 Программного Обеспечения») помогут упростить и ускорить работу администратора. Менять структуру одного из стандартных отчетов, либо создать шаблон отчета «с нуля» – позволит встроенная функциональность программы.

    Делаем выводы

    С любого компьютера локальной сети, информация может сниматься при помощи WMI-сервиса. Конечно, если на рабочих станциях – установлена Windows (начиная с Millenium), и соответствующим образом настроены права. Если, допустим, в сети есть компьютеры, где установлен Linux (или другая не-Windows система) – что ж, к вашим услугам – похожая функциональность, только потребуется установка «агентов».

    Аудит же для Linux и Mac OS «без агентов» – возможно, идет при использовании WBEM (известно, что WMI-протокол создавался на основе CIM – протокола работы для WBEM). А может быть, платные версии могут использовать что-то другое (фирмы – не раскрывают секретов). В конечном счете, аудит ПО возможен и без использования локальной сети (тогда, администратору придется вносить в базу данных все изменения, касающиеся «локальных» программ).

    Иногда, при использовании «бесплатных» решений, можно получить – ту же (правильнее сказать – «достаточную») функциональность. Коммерческий «софт» может быстрее работать в сети (используя патентованные алгоритмы) – в то же время, что вряд ли важно в случае сети с «несколькими» ПК. Выбор – за администратором данной локальной сети, предприятия, организации.

    IT-парк любой организации часто насчитывает не один десяток систем самой разной конфигурации. И всегда найдется парочка вольнодумцев, которые захотят развести начальство на внеочередной апгрейд или установить ПО для личных целей. Без системы учета и контроля админ рискует, как минимум, своей премией. Рассмотрим решения, позволяющие упростить эту задачу.

    WMI и Powershell

    В WinNT 4.0SP4 администраторы получили новый инструмент для централизованного управления и слежения за работой различных частей операционной системы - WMI (Windows Management Instrumentation, Инструментарий для Управления Windows). Правда, в первых версиях заложенных компонентов было немного (всего 15). Но в последующих Win2k+ их количество увеличивалось вместе с возможностями. Сегодня WMI доступен для всех версий ОС Windows, включая Se7en. Опрашивая различные WMIклассы локальной и удаленных систем, мы можем получить всю необходимую информацию по имеющемуся в компании программному обеспечению и оборудованию.

    В примерах предлагаю не использовать VBScript, JScript или другие скриптовые языки, уж слишком они громоздки и неудобны, тем более у нас уже есть роскошный PowerShell, способный выполнить за нас львиную долю работы (подробнее о PS читай в ][ 09.2009 и 05.2010).
    Для начала получим список BIOS на подчиненных компьютерах:

    PS> Get-WMIObject Win32_BIOS
    -computerName synack.ru

    Как ты понимаешь, после ‘-computerName’ указывается имя хоста. Хотя при опросе локальной системы этот параметр можно опускать, что мы и будем делать в дальнейшем для краткости. Написав простенький скрипт, легко передать Get-WMIObject список систем, с которых будет собираться информация. Результат при необходимости сохраняем в текстовый файл для дальнейшего анализа.

    Аналогично проводим опрос остальных параметров. Например, запрашиваем информацию о CPU:

    PS> Get-WMIObject Win32_Processor

    Полный список данных, как правило, не нужен, поэтому отбираем только необходимые параметры:

    PS> Get-WmiObject Win32_ComputerSystem | Select Manufacturer, Model

    Посмотрим, какая у нас материнская плата:

    PS> Win32_Baseboard | Select Manufacturer, Name, Product | ft -a

    Классы Win32_ComputerSystem, Win32_ComputerSystemProduct и Win32_ OperatingSystem позволят собрать общие данные по компьютеру и системе:

    PS> "127.0.0.1", "synack.ru", "pc01" | Check-Online |
    Foreach-Object { Get-WMIObject
    Win32_ComputerSystem -computerName
    $_ }

    Запрашиваем версию ОС:

    PS> Get-WmiObject Win32_OperatingSystem | Select CSName,Buil
    dNumber,ServicePackMajorVersion

    PS> Import-CliXML C:\check.xml |
    Out-GridView

    Полный список Win32_* классов и свойств доступен в документации MSDN «Win32_Classes» (http://msdn.microsoft.com/en-us/library/ aa394084%28v=VS.85%29.aspx). Альтернативный вариант - воспользоваться функцией поиска.

    К примеру, просмотрим список объектов, в именах которых присутствует слово disk:

    PS> Get-WmiObject -List | where {$_.
    name -match "disk"}

    Готовые утилиты и приложения

    Если хорошо поискать в интернете, можно найти не один десяток готовых WMI-скриптов на самых разных языках программирования, которые легко адаптируются под твои нужды.

    Мое внимание привлекло HTA-приложение Hardware Inventory (www.robvanderwoude.com/hardware.php) с веб-оболочкой. Просто вводим имя компьютера и получаем данные об установленном оборудовании. При необходимости можно отредактировать сырец в текстовом редакторе, дополнив его нужными параметрами (опрос WMI-объектов реализован на VBScript).

    Сторонними разработчиками создан ряд специальных командлетов, упрощающих написание скриптов. Скрипт Computer Inventory Script (CompInv), который доступен на сайте powershellpro.com , позволяет получить информацию о железе, ОС и сохранить все собранные данные в Excel’евский файл для дальнейшего анализа. После запуска скрипт задаст несколько вопросов, отвечая на которые, админ выбирает режим сбора данных. Список компьютеров для проверки определяется при помощи специального текстового файла, также скрипт может автоматически проверить все системы или серверы, входящие в домен. Как вариант - имя компьютера задается вручную. По умолчанию используется текущая учетная запись, но, ответив «Yes» на вопрос «Would you like to use an alternative credential?», можно указать требуемую учетную запись.

    Чтобы затем не запускать созданный скрипт самостоятельно, поручим это SchTasks. Например:

    > SchTasks /CREATE /TN CheckScript /TR "powershell.exe `
    -noprofile -executionpolicy Unrestricted `
    -file check.ps1" /IT /RL HIGHEST /SC DAILY

    В результате создается задание с названием CheckScript, которое будет ежедневно выполнять PS-скрипт check.ps1, причем с наивысшим приоритетом. Вместе с системой инвентаризации оборудования и установленных приложений NetPoint (www.neutex.net) предлагается набор PS-скриптов (GetNet*), предназначенных как раз для сбора определенного типа данных о подчиненных системах. Например, просмотрим наличие свободного места на харде:

    PS> Get-NetLogicalDisk -DriveType "Local Disk"
    | where { $_.FreeSpace / $_.Size -lt .10 } | % {
    $_.ComputerSystemName }

    Теперь попробуем собрать информацию об установленных программах:

    PS> Get-NetProgram -System synack.ru -Uninstalled $False
    | % { $_.DisplayName } | sort -unique

    Всего в поставку входит 20 командлетов. Доступна бесплатная версия NetPoint Express Edition, которая работает в 32/64-битных WinXP/2k3/2k8/Vista/Se7en, ее можно применять в сетях любого размера. Для установки NetPoint понадобится наличие PS 2.0, IIS и SQL-сервера (достаточно Express Edition).

    Кстати, список установленных программ можно получить, просто прочитав нужную ветку реестра:

    PS> Get-ItemProperty HKLM:\SOFTWARE\Microsoft\
    Windows\CurrentVersion\Uninstall\* | Format-Table
    DisplayName,Publisher | Out-GridView

    Командлет Out-GridView выводит данные в отдельном окне с возможностью поиска и сортировки.

    Минусы использования скриптов

    Если сбор данных при помощи WMI/PowerShell довольно прост, то все отчеты и изменения в конфигурациях приходится контролировать вручную. Конечно, можно усложнять свои скрипты, пытаясь автоматизировать процесс, но не каждый захочет тратить на это время. Здесь стоит напомнить, что Microsoft предлагает необходимую функциональность в SCCM (System Center Configuration Manager), о котором мы уже писали в номерах 08.2009, 09.2009 и 01-02.2010. Но в тех случаях, когда в распоряжении админа находятся также *nix системы, всевозможные роутеры и прочее оборудование, которое необходимо учитывать, WMI - уже не помощник. Кроме того, остается проблема визуального представления данных и отчетов. Здесь придется прибегнуть к сторонним программам (в том числе распространяемым под свободными лицензиями), благо, есть из чего выбирать.

    Система инвентаризации Myzci

    Многие, кто пробовал систему инвентаризации zCI (zci.sf.net), находили ее довольно удачным решением, но ей не хватало возможности заносить данные вручную и локализованного интерфейса.

    Конечно, это не критические моменты, но есть и другие мелочи. Например, нельзя удалить устройство через веб-интерфейс - необходимо вручную составить SQL-запрос на очистку данных из таблиц. Система инвентаризации MyZCI (sf.net/projects/myzci) является форком zCI. Разработкой занимается Юрий Винник, он довел zCI до нужных кондиций: интерфейс переведен на русский и украинский языки, добавлены новые поля в таблицы (например, размещение компьютера) и упрощено управление.

    Для работы MyZCI потребуется любой вебсервер с поддержкой PHP (с PECL, PHP Extension Community Library) и MySQL.

    Распаковываем архив myzci-1.2.1.zip в корневой каталог веб-сервера и в файле zciconfig.php указываем параметры доступа к MySQL:

    $ sudo nano zciconfig.php
    return dbx_connect(DBX_MYSQL,"local
    host","zci","zci","passwd");

    Чтобы создать таблицы в БД, используем скрипт mysqlscript.sql, находящийся в каталоге engine. Записи внутри нужно привести в соответствие с данными:

    $ sudo nano mysqlscript.sql
    create database zci;
    ...
    grant all on zci.* to
    "zci"@"localhost" identified by
    "passwd";
    # Если не планируется доступ к БД с
    других систем, последнюю строку комментируем
    # grant select,delete,insert,update
    on zci.* to "zci"@"%" identified by
    "zci";

    Локализация интерфейса производится установкой переменной “$Lang” в значение “ru” в файле langconfig.php.

    Для сбора информации в Windows-системе используется Windows Script Host, в Linux - lshwclient на Java. Все компоненты находятся в подкаталоге add-ons и engine. Здесь же лежат MS Windows Scripting Host 5.6 и MS WMI Core 1.5, которые необходимы для работы клиентской части в Win95/98/NT4. Перед развертыванием в файлах takedata.js и lshwclient.java следует изменить значение переменной MyZCIpath и MyZCIserver, чтобы она указывала URL сервера.

    Процесс настройки клиентской части на конечных системах упрощен. Так, скрипт install.sh, используемый при установке в Linux, проверяет наличие пакетов lshw, jdk и read-edid (инфа о мониторе) и при их отсутствии выдает пояснительное сообщение. Далее происходит сборка Java-клиента и установка задания cron. После развертывания MyZCI нужно подключиться к серверу с удаленной системы и зарегистрировать компьютер, нажав соответствующую ссылку на главной странице. Информация о новой системе должна появиться в базе MyZCI. Скачиваем с главной страницы архив с клиентской частью и запускаем установщик.

    После чего скрипты начнут отсылать данные на сервер. Интерфейс предельно прост и позволяет выводить детальную информацию о железе, вносить и редактировать данные о компьютерах, группировать, искать системы по определенному критерию (например, тип видеокарты и монитор), отслеживать изменения.

    Меню администратора позволяет определять статус (закреплен, аренда) и местонахождение системы.

    Система OCS Inventory NG

    Решение OCS Inventory NG (OCSNG, Open Computers and Software Inventory New Generation, ocsinventory-ng.org) позволяет произвести инвентаризацию комплектующих и программного обеспечения, установленных на компьютерах в локальной сети, и отслеживать их изменения, периодически получая данные о конфигурации систем. Еще одной полезной функцией является возможность удаленной установки программ и выполнения команд. Для сбора информации на клиентские компьютеры устанавливается программа-агент.
    Агент доступен практически для всех версий Windows от 95 до 2k8R2, Linux, Mac OS X, *BSD, Solaris, IBM AIX и HP-UX. Все собранные данные агенты отправляют на сервер управления (management server) в виде XML-потока, сжатого при помощи библиотеки Zlib. Для передачи используется стандартный протокол HTTP/HTTPS, поэтому проблем с firewall’ом обычно не возникает. При помощи агентов реализована функция "IP discovery", которая помогает находить все сетевые и периферийные устройства, работающие в локалке, в том числе те, на которые нельзя установить агента (свитчи, принтеры, web-камеры и т.д.) Агенты сканируют сеть в поисках подобных устройств и отправляют сведения о них на сервер для анализа.

    Версия для Windows написана на C++, *nix вариант - на Perl и С.

    Серверная часть OCSNG включает в себя четыре компонента, которые необязательно должны быть установлены на одном сервере. Это СУБД (MySQL) для сбора данных, а также вебсервер, который может играть одну из трех ролей:

    • Служба связи - обеспечивает связь по протоколу HTTP между сервером базы данных и программами-агентами (Apache 1.3.X/2.X с интегрированным Perl, в Debian/Ubuntu пакет libapache-dbi-perl);
    • Служба развертывания - хранение установочных файлов программ-агентов (любой веб-сервер с поддержкой SSL);
    • Консоль управления - просмотр собранных данных в браузере (веб-сервер с поддержкой PHP с ZIP и GD).

    Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением Win2k/XP/2k3, Linux, *BSD, Solaris, IBM AIX и MacOS X.

    Установка Ocsng

    Нужный пакет имеется в репозиториях большинства дистрибутивов, хотя обычно это не самая актуальная версия. Самостоятельная сборка из исходных текстов при внимательном подходе не должна вызвать трудностей. Установочный скрипт setup.sh, находящийся внутри архива, проверит наличие требуемых компонентов и выдаст рекомендации по устранению проблем, если в этом будет необходимость.
    В Debian/Ubuntu для ручной сборки нужно накатить пакеты:

    $ sudo apt-get install libapache2-mod-perl2
    libdbi-perl libapache-dbi-perl libdbd-mysqlperl
    libsoap-lite-perl libxml-simple-perl
    libnet-ip-perl libcompress-zlib-perl php5-gd

    И XML::Entities из хранилища CPAN:

    $ sudo cpan -i XML::Entities

    В процессе установки будут созданы все необходимые конфигурационные файлы и алиасы для веб-сервера. Так как файлы, которые могут распространяться при помощи OCSNG, часто имеют большой размер, следует установить нужные значения переменных post_max_size и upload_max_filesize в файлах /etc/php5/apache2/php.ini (по умолчанию - 8 и 2 Мб) и ocsinventory-reports.conf. После всех настроек вызываем браузер и запускаем установочный скрипт http://localhost/ocsreports/install.php, где указываем параметры доступа к БД. В процессе установки для доступа к базе ocsweb будет создана учетная запись «ocs» с паролем «ocs». Если доступ к базе не ограничен локальной системой, в целях безопасности дефолтный пароль следует изменить. Для установки агента в Linux потребуется наличие некоторых модулей Perl (XML и Zlib) и dmidecode.

    $ sudo apt-get install libcompress-zlib-perl libnet-ipperl
    libnet-ssleay-perl libwww-perl libxml-simple-perl
    po-debconf ucf dmidecode pciutils

    После чего агент устанавливается стандартным для Perl’овых приложений способом:

    $ tar xzvf Ocsinventory-Agent-1.1.2.tar.gz
    $ cd Ocsinventory-Agent-1.1.2
    $ perl Makefile.PL
    $ make
    $ sudo make install

    Далее скрипт начнет задавать ряд вопросов по размещению конфигурационных файлов. Вводим данные сервера, создаем тэг (для группировки систем), активируем задачу для cron. По окончании настройки собранные данные о конфигурации компьютера отправляются на сервер. Если связь установлена и получаем ответ «Success!», установку агента можно считать законченной. Его данные появятся в веб-консоли, в разделе «Все компьютеры ». В каталоге /var/lib/ocsinventory-agent будет создан XML-файл, содержащий текущую конфигурацию компьютера. Если же соединения не произошло, запусти агент в режиме отладки:

    $ ocsinventory-agent -l /tmp –debug --server http://ocsng-server/ocsinventory

    Обычно полученной информации хватает для диагностики ошибок. Агент для Windows может быть установлен несколькими способами. Самый простой - вручную или с помощью прилагающегося logon скрипта.

    После инсталляции сервера установочный файл агента можно импортировать в базу OCSNG. Просто выбираем вкладку «Агент» и указываем месторасположение файла, после чего он будет доступен с любого компьютера сети. Установка стандартна: на последнем этапе сообщаем имя или IP-адрес OCSNG сервера, и, чтобы сразу же сформировать и отправить отчет, устанавливаем флажок «Immediately launch inventory». Далее агент прописывается в автозагрузку и стартует в качестве сервиса.

    Работа с интерфейсом OCSNG

    Интерфейс локализован, поэтому, чтобы разобраться с его использованием, много времени не понадобится. По умолчанию на вкладке «Все компьютеры » показаны семь основных характеристик клиентских машин.

    Список «Add column» позволяет легко добавить еще до 23 полей. Очень удобно, что данные поддаются ручному редактированию. Также следует отметить легкий поиск и удаление дубликатов систем.

    Как уже говорилось ранее, в OCSNG заложена возможность установки приложений и запуска скриптов (bat, vbs и т.п.) Такая функциональность сильно выручает. Создаем пакет в Deployment - Build и заполняем поля New package building: название, Priority (порядок установки) и действие в Action. Предусмотрено три варианта:

    • Store - копировать на целевую систему;
    • Execute - копировать и выполнить с командой;
    • Launch - копировать и запустить.

    Параметры в User notifications позволяют вывести предупреждение пользователю и разрешить ему отменять задачу.

    После создания пакета его следует активировать в Deployment - Activate. Вводим URL сервера и нажимаем «Отправить». Выбираем компьютер, на который будем устанавливать пакет, переходим в меню Customization и нажимаем ссылку Add package. Указываем пакет и запускаем процесс нажатием Affect. Состояние задачи выводится в Customization, общая статистика доступна в таблице Activate.

    В OCSNG инициатором соединения выступает агент, который подключается к серверу раз в сутки, отправляет информацию о состоянии и получает задания. Если созданный пакет необходимо установить раньше, на клиенте следует принудительно запустить команду ocsinventory-agent.

    Заключение

    После настройки и заполнения базы данных в системе инвентаризации ты будешь постоянно иметь под рукой актуальную информацию о текущем состоянии компов и сможешь отслеживать изменения. Отчеты, которые она генерирует, дают возможность быстро определить конфигурацию типового компьютера, используемого в организации, что сослужит хорошую службу при планируемом апгрейде или смене ОС.

    Локализация OCSNG/GLPI

    Интерфейс OCSNG локализован, но все же есть небольшие проблемы, приводящие к тому, что русскоязычные названия программ, установленных в Windows, отображаются некорректно.

    Дело в том, что в OCSNG изначально используется кодировка ISO-8859-1 (для отображения CP1251), в GLPI - UTF8. При импорте данных OCSNG -> GLPI также возникают проблемы с кодировками.

    Известно два пути решения:

    1. На лету при экспорте менять данные и используемые шрифты. Чтобы сделать это, нужно поправить файл export.function.php и при помощи пакета ttf2pt1 создать новые шрифты, поддерживающие UTF8.
    2. Изначально научить OCSNG работать с UTF8. Для этого предложены патчи и пересобранные установочные файлы для Windows. Скачать их можно с ftp://linvinus.ru/ocs. Здесь же находятся готовые deb-пакеты для Ubuntu/Debian.

    Кроме того, в файле inc/ocsng.class.php следует изменить строку «$this->dbenc="latin1";» на «$this->dbenc="utf8";» и в /etc/php5/apache2/ php.ini проверить установку «default_charset = "utf-8"».

    Links

    • Полный список Win32_* классов можно найти в документации MSDN «Win32_Classes» - msdn.microsoft.com
    • Сайт проекта NetPoint - neutex.net
    • Сайт проекта MyZCI - sf.net/projects/myzci
    • Сайт проекта zCI - zci.sf.net
    • Сайт проекта OCSNG - ocsinventory-ng.org

    Проект GLPI

    GLPI (Gestion Libre de Parc Informatique, glpi-project.org) - еще один проект, который пользуется заслуженной популярностью у админов. Кроме задач по учету компьютеров и комплектующих, он позволяет хранить данные по остальному «хозяйству», включая расходные материалы. В отличие от OCSNG, администратор самостоятельно наполняет базу устройств, используя локализованный веб-интерфейс.
    Но проблема эта решается за счет использования плагина, интегрирующего GLPI с OCSNG. Поэтому их часто устанавливают вместе. Для включения поддержки необходимо перейти в «Установки — Общие» и переключить «Активировать режим OCSNG» в значение «Да». После этого в меню появится новая вкладка «Режим OCSNG», в которой можно синхронизировать данные.

    На основе GLPI легко организовать службу технической поддержки пользователей, что очень удобно, ведь вместо звонка юзер оставляет заявку, которая регистрируется системой. Затем IT-подразделение ее обрабатывает. Это дисциплинирует пользователей - они перестают звонить по мелочам, а у админов появляется база обращений для отчета о проделанной работе. Но возможности GLPI этим не ограничиваются. Он позволяет создать базу знаний, состоящую из статей, вести учет поставщиков, договоров. Система снабжена большим количеством самых разных отчетов с возможностью экспорта результата в файл формата PDF, CSV или SLK. Поддерживается синхронизация календаря по протоколам iCal, Webcal.

    Функци ональность легко расширяется за счет плагинов, доступных на сайте проекта (plugins.glpi-project.org). Кроме OCSNG можно импортировать данные с сервера Cacti или Nagios.

    Пакет GLPI имеется в репозитариях основных *nix дистрибутивов. Установка при помощи исходных текстов стандартна для приложений, написанных на PHP и требующих наличия веб-сервера и MySQL.

    • Tutorial

    Доброго дня почтенной публике.

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

    Отчего-то мои уважаемые коллеги считают, что инвентаризация ит-оборудования должна отвечать на вопрос «какая начинка внутри компьютера?» или нечто вроде того. Для решения этой задачи привлекаются всякие системы вроде Aida, ведутся совершенно дикие способы учета и мониторинга и так далее. а между тем отношения с бухгалтерией портятся, оборудование теряется, админ носится с выпученными глазами по офису и ничего не может найти.

    Парни, открываю страшную тайну: никому вообще нет дела до того, что установлено внутри компьютера. Никого, абсолютно никого не интересует весь тот объем шлака, который выдают автосборщики информации, никому не интересно то, что хранит обычный админ в своих учетных таблицах. Почему? Потому, что бизнес думает в рублях, ему нет никакого дела до мегабайт и мегагерц, потому, что если оборудование до сих пор находится в эксплуатации, его конфигурация наверняка достаточна для решения задач, которые на нем решаются (а если нет, то отслеживание и управление конфигурацией совершенно точно осуществляется не в рамках процесса инвентарного учета).

    И тут возникает вопрос: а что же ожидает бухгалтер от ИТ-подразделения? Ответ прост, их интересует всего лишь одно: на месте ли предмет с инвентарным номером ABC1234? Несколько более продвинутого бухгалтера может также заинтересовать, соответствует ли всё ещё инвентарному номеру ABC1234 то изделие, которому этот номер был присвоен? Другими словами, не пытаются ли нам выдать микроволновку LG за дисковое хранилище HP EVA P6000? Иногда нас еще волнует вопрос, соответствует ли изделию с этим инвентарным номером заранее известный нам заводской номер - этот вопрос мы тоже решим. Следует также понимать, что упомянутая микроволновка от упомянутого дискового хранилища с точки зрения бухгалтера отличается именно что инвентарным номером (ну там есть еще стоимость, амортизация и так далее, но, по счастью, это уже не айтишная головная боль). А это понимание нас приводит к дополнительному бонусу: мы легким движением руки можем выстроить прекрасные отношения не только с бухгалтерией, но и с тем подразделением, что учитывает шкафы, столы и стулья, предоставив им удобный инструмент для работы. Кстати, заодно мы решим еще одну задачу: облегчение идентификации оборудования, принадлежащего вашей компании - это поможет вашим коллегам из сторонних организаций легко определить, кто забыл ноутбук в их переговорке.

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

    А, и еще я предполагаю, что у вас установлен Microsoft Office. Всю работу мы будем делать именно в нем.

    Итак, наш первый шаг - изготовление правильной инвентарной этикетки.

    Правильная инвентарная этикетка это то, чего как правило нет нигде. Как делают инвентарную этикетку, если вообще ею заморачиваются? Пишут туда то, что не нужно, не пишут то, что нужно, изготавливают ее неподобающим инструментом (например, ленточным принтером LetraTag - вещь прикольная, только вот не контролирует уникальность вводимых данных и изготовить на ней пару тысяч этикеток без ошибок невозможно. Хоть раз, да облажаешься.)

    Правильная инвентарная этикетка, с моей точки зрения, должна содержать:
    1. Краткое название объекта хранения (чтоб ни у кого не возникало соблазна при увольнении, например, наклеить инвентарник от дорогого ноутбука на дырокол).
    2. Собственно, инвентарный номер объекта
    3. Машиночитаемый инвентарный номер - здесь уместен и достаточен только штрихкод. Я видел предложение кодировать информацию QR-кодом, оно ужасно, и я быстро объясню, почему: это решение не предполагает быстрого и массового ввода информации в компьютер. Сканер баркодов представляет собой с точки зрения компьютера usb-клавиатуру, считывание баркода приводит к отправке в компьютер символьной последовательности закодированного текста, как если бы его набрали руками на клавиатуре и нажатию кнопки Enter. Соответственно, при желании можно идти по офису с ноутбуком, к которому подключен сканер бар-кодов, снимать код за кодом и получить на выходе инвентарную таблицу. Будете использовать QR-коды - такого у вас не получится. Ну сосканируете вы код телефоном, ну распознаете, а что дальше?
    4. Логотип компании

    Сейчас мы это все и сделаем, причем не потратим ни копейки на софт для того, чтобы сделать действительно годную штуку.

    Для начала мы получаем в бухгалтерии таблицу с инвентарными номерами и описанием позиций. Не смущаемся, что там много текста в описаниях, он нам нужен, чтобы понимать, о чем идет речь, но печатать на этикетках мы будем свое и сами.
    Важно: то, что мы получили инвентарную таблицу от бухгалтерии в электронном виде, дает нам 100% гарантию того, что мы будем делать этикетки с
    заведомо правильными инвентарными номерами.
    Не менее важно: убедитесь, что инвентарные номера не содержат кириллицы. Если содержат - решите этот вопрос, пока не начали делать всё остальное.

    Итак, исходный вид таблицы (описания позиций взяты из реальной жизни, инвентарные номера и логотип компании - нет, но это неважно):

    Таблица хороша, будем ее дорабатывать. Введем еще несколько колонок:
    Line 1 - сюда мы впишем тип устройства (ноутбук, МФУ, сервер или что там у вас еще есть)
    Line 2 - сюда мы впишем марку и модель устройства (например HP Elitebook 6930p)
    Barcode - сюда мы вставим баркод-представление нашего инвентарного номера. Об этом чуть ниже.
    Sheet - не менее важный параметр. Он нужен для того, чтобы легко находить нужную этикетку на этикеточном листе. Если вы решитесь делать все с нуля по моему рецепту, у вас образуется прорва листов, на которых будут некоторым образом упорядоченные этикетки. Проблема в том, что оборудование разбросано по офису абсолютно хаотичным образом, и, подходя к очередному устройству, вы вряд ли захотите перелопачивать все свои 50-60 листов по 48 этикеток на листе. Позаботьтесь о себе заранее, укажите, на каком листе у вас находится нужная вам этикетка: первые 48 записей - лист 1, с 49 по 96 - лист 2 и так далее. Уверен, справитесь.

    Самый важный момент - как же транслировать инвентарный номер в баркод-представление.

    Чуть не забыл: к этому моменту у вас под рукой уже должны быть инвентарные этикетки, на которых мы все и будем печатать. Я использую этикетки Avery L6009-20, чего и вам желаю. Они имеют оптимальный размер (45.7 x 21.2 мм), они прочные, они хорошо клеятся и хорошо проходят через лазерный принтер. С моей точки зрения, идеал. Вы можете использовать другие размеры, в этом случае делайте соответствующие поправки при создании макета.

    Итак, Avery Wizard для Microsoft Office установлен, открываем MS Word, в нем уже появилось меню Avery c единственной кнопкой:

    Нажимаем ее, запускаем плагин, нажимаем очевидное «Далее». В меню выбора этикеток находим нужный нам сорт L6009:

    В следующем окне выбираем «Слияние данных из существующего файла», жмем «Далее».

    В следующем окне находим и выбираем выбираем созданный нами файл Excel, нажимаем «Далее»

    В следующем окне выбираем очевидный «Лист1$» или «Sheet1$», не забываем поставить чекбокс, что первая строка содержит заголовки:

    И в результате получаем окно верстки наклейки. По сути, это все то же окно Microsoft Word с практически всеми инструментами верстки текста. В правой части окна верстки имеется список полей таблицы, двойной щелчок вставляет нужное нам поле данных в нужное место этикетки.

    Чтобы сэкономить время верстающим, сразу дам оптимальные величины:
    Первая строка – поле Line1: Шрифт Arial, высота шрифта 8пт.
    Вторая строка – поле Line2: Шрифт Arial, высота шрифта 8пт.
    Третья строка – инвентарный номер: Шрифт Arial полужирный, высота шрифта 10пт.
    Четвертая строка – баркод-представление инвентарного номера. Шрифт Barcode, высота шрифта 18пт. Обратите внимание, что во время верстки эта строка выглядит ужасно. Этого не надо бояться, так и должно быть.
    Слева остается полно места для размещения логотипа.

    Итак, вот наш макет:

    И мы в одном шаге от победы.
    Нажимаем «Далее», нажимаем «Готово», плагин далее сам раздраконит наш файл данных и подготовит листы с этикетками.

    Печатаем этикетки на обчном лазерном принтере, получаем этикеточные листы. Не забываем эти листы пронумеровать. Хотите, можете сделать это через добавление колонтитулов с номером страницы, не хотите - надпишите каждый лист ручкой. Будете делать колонтитул - проконтролируйте, чтоб он не сдвинул содержимое вниз.

    Итак, вот у нас этикетки:

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

    Да, кстати: о том, куда именно наклеивать номера. У себя я использую два варианта: либо так, чтоб этикетка была легкодоступна, но не бросалась в глаза, либо рядом с заводской табличкой с маркой и моделью оборудования, заводским номером и тому подобной информацией.

    Первое удобно тем, что инвентарник можно можно легко считать, второе - тем, что нужно меньше вертеть изделие при его инвентаризации: считываем не только инвентарный номер, но и заводской. Да-да. Не все знают, но практически все производители дублируют написание заводского номера баркодом, что изрядно облегчает жизнь специалисту, ответственному за инвентаризацию.

    Итак, у нас есть чудесные инвентарные этикетки, мы оклеили ими все, до чего смогли дотянуться в нашей организации, при помощи сканера баркодов мы установили соответствие инвентарных номеров заводским - там, где это можно сделать. Мы молодцы? Да. Можно остановиться? Да, но можно сделать и еще лучше.

    Сейчас мы можем быстро проинвентаризировать все офисное имущество, но еще не можем ответить на вопрос «где что лежит?».

    Давайте сделаем так, чтобы и это было возможно.

    Берем в руки план офиса - нас в нем интересует все вообще: как расположены рабочие места, где комнаты печати, где складские помещения, где что еще.

    Взяв план, берем карандаш и начинаем нумеровать все, что видим. У себя я применяю следующую схему:
    Location/Room/Place
    Где:
    Location - трехбуквенная аббревиатура офиса. Например, MSW - Москва, SPB - Питер, NSK - Новосибирск и так далее.
    Room - номер помещения
    Place - номер места в помещении. Это может быть номер стола, за которым сидит работник, номер полки на складе, номер шкафа и так далее.

    В результате у нас получается нечто вроде MSW/123/15A

    Полученные номера сводим в табличку Excel - в ней будет всего четыре колонки:
    Address - адрес рабочего места
    Barcode - баркод-представление адреса
    Comment - текстовый комментарий для себя любимого. Я в это поле пишу фамилию работника, если речь идет об адресе рабочего места и прочие комментарии, если это требуется обстоятельствами.
    Sheet - номер этикеточного листа, мы это уже проходили.

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

    Формат наклейки: наклейка белого цвета Avery Zweckform №3659 (97x42.3мм)
    Расположение и формат надписей на наклейке:
    1. Первая строка - логотип компании
    2. Вторая строка – описание типа места (рабочее место, складское место, складское помещение и т.п.) Шрифт Arial, высота шрифта 11пт.
    3. Третья строка – идентификатор рабочего места (вот это вот MSW/123/15A ). Шрифт Arial, полужирный, высота шрифта 14пт.
    4. Четвертая строка – баркод-представление идентификатора места. Тип кодирования CODE128. Шрифт – Barcode, высота шрифта 18пт.
    5. Пятая строка – контактная информация службы ИТ-поддержки.

    Заметили?

    У наших сотрудников прямо перед глазами появились телефон и е-мейл адрес хелпдеска, причем практически на халяву. И теперь никто не сможет сказать, что не знал, куда звонить - мы позаботились.

    А заодно мы пронумеровали все рабочие места, и теперь любой работник может объяснить, где он находится, не прибегая к языку жестов, HR-служба сможет нам давать заявки на организацию рабочих мест для новых работников, не прибегая к рассказам про «это через стол от Любочки», а новый работник хелпдеска не будет бродить по всему офису в поисках того, кто его позвал, он просто спросит номер рабочего места и посмотрит в поэтажный план, чтобы понять, куда ему идти.

    Я намеренно не рассказываю о том, каким софтом пользоваться для сбора и анализа данных. Это может быть и Access, и Excel, и модуль учета 1С, и что угодно еще.
    Все, что мы сейчас сделали, может быть интегрировано в любую существующую систему управления активами.

    Проведя первичный ввод данных, если мы этого еще не делали, мы получаем таблицу, в которой есть соответствие инвентарного номера, заводского номера, адреса установки, ФИО пользователя - этого достаточно, чтоб уверенно беседовать с бухгалтерами и отвечать на их каверзные вопросы.

    В дальнейшем надо просто поддерживать информацию в актуальном состоянии. Задача не из тяжелых.

    И, резюмируя:

    1. Для управленческого учета вообще не имеют значения начинка компьютеров и характеристики периферии. Имеют значение только инвентарный номер, ФИО материально ответственного лица, местонахождение и, факультативно, заводской номер изделия.
    2. Баркоды рулят. Все остальное - не рулит. Из баркодов рулит кодировка Code128.
    3. Если что-то можно баркодировать, это нужно баркодировать.
    4. Чтобы получить профессионально изготовленные этикетки, надо всего лишь купить этикетки. Софт покупать не надо.
    5. Баркод-сканер ускоряет работу в тысячи раз. Даже самый дешевый.
    6. При условии, что вы поддерживали инвентарную ведомость в актуальном состоянии, годовую инвентаризацию вы сможете провести практически с той скоростью, с которой вы в состоянии перемещаться по офису. Задиктовывать вслух инвентарные номера и забивать их в компьютер руками вам больше не придется.

    В этом году я проводил инвентаризацию. Over 9000 позиций - нашлось все, работа заняла два дня на обход и еще пару дней на поиски того, что не обнаружилось сразу, вроде ноутбуков по домам и в запертых кабинетах, оборудования в технологических помещениях и т.п.

    В общем, я доволен.

    Чего и вам желаю.