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

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

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

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

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

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-мя из возможных способов:

  • используя установку на удаленные станции модуля (то есть, агента);

Полученная информация хранится в одном из 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). А может быть, платные версии могут использовать что-то другое (фирмы – не раскрывают секретов). В конечном счете, аудит ПО возможен и без использования локальной сети (тогда, администратору придется вносить в базу данных все изменения, касающиеся «локальных» программ).

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

Добрый день!
Начну без прелюдии!

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

Итак, в скрипт были внесены следующие изменения:
1. Отключены все диалоговые окна, так как процесс работы скрипта был утомительным ибо если компьютер из списка не доступен (а таких было много) приходилось часто щелкать мышью
2. Вывод недоступных компьютеров в отдельную папку в виде файла с именем этого компьютера (вывести в отдельный файл списком не получилось)
3. Выполнения скрипта для каждого компьютера из списка представленного тхт файлом
4. Добавление версии установленной программы
5. Отключение вывода не очень нужной для меня информации

"настройки для инвентаризации программ
Const UPDATES = False "не учитывать обновления
Const TITLE = "Инвентаризация установленных программ" "заголовок диалоговых окон
Const DATA_DIR = "soft\" "каталог для сохранения отчетов + "\" в конце
Const Error_Dir = "Error\" " Каталог для файлов ошибок
"Const DATA_DIR = "\\SRV\Invent\soft\" "сетевой ресурс для сохранения отчетов + "\" в конце

"настройки для инвентаризации обновлений
"Const UPDATES = True "учитывать только обновления
"Const TITLE = "Инвентаризация установленных обновлений" "заголовок диалоговых окон
"Const DATA_DIR = "updates\" "каталог для сохранения отчетов + "\" в конце
"Const DATA_DIR = "\\SRV\Invent\updates\" "сетевой ресурс для сохранения отчетов + "\" в конце

"прочие настройки
Const DATA_EXT = ".csv" "расширение файла отчета
Const SILENT = False "тихий режим отключен, будет запрошено имя компьютера
"Const SILENT = True "режим отчета о локальном компьютере без вывода диалогов
Const HEAD_LINE = True "выводить заголовки в первой строке CSV-файла

"не завершать скрипт аварийно
On Error Resume Next

"== ВЫПОЛНЕНИЕ

"Указываем файл-источник и необходимые переменные
Set FSO = CreateObject("Scripting.FileSystemObject")
Set File = FSO.GetFile("Указать место откуда брать список компьютеров")" Список компьютеров
Set TextStream = File.OpenAsTextStream(1)
Str = vbNullString

"Начало цикла перебора комьютеров

While Not TextStream.AtEndOfStream

"глобальные переменные
Dim comp, wmio

"узнать имя локального компьютера
Dim nwo
Set nwo = CreateObject("WScript.Network")
comp = LCase(nwo.ComputerName)

"запросить имя удаленного компьютера
If Not SILENT Then
comp = TextStream.ReadLine()
"проверить доступность компьютера
If Len(comp) > 0 And Unavailable(comp) Then


Set TextStream1 = FSO1.CreateTextFile(Error_Dir & comp,True) "Создаем файл с именем недоступного компьютера

TextStream1.Close
comp = ""

End If
End If

"провести инвентаризацию
If Len(comp) > 0 Then InventSoft

"если ошибка
If Len(Err.Description) > 0 Then

Set FSO1 = CreateObject("Scripting.FileSystemObject")
Set TextStream1 = FSO1.CreateTextFile(Error_Dir & comp & Err.Description,True) "Создаем файл с именем недоступного компьютера

End If
" Конец цикла
Wend

TextStream.Close

"== ПОДПРОГРАММЫ

"обращение к WMI оформлено в подпрограмму, чтобы можно было корректно обработать возможную ошибку
Sub InventSoft

"подключить реестр удаленного компьютера через WMI
Set wmio = GetObject("WinMgmts:{impersonationLevel=impersonate}!\\" & comp & "\Root\default:StdRegProv")

"создать файл отчета
Dim fso, tf
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(DATA_DIR) Then
If Not SILENT Then MsgBox "Не найден каталог для сохранения отчета:" & vbCrLf & DATA_DIR, vbExclamation, TITLE
Exit Sub
End If
Set tf = fso.CreateTextFile(DATA_DIR & comp & DATA_EXT, True)

"записать заголовки столбцов
If HEAD_LINE Then tf.WriteLine "Название и Версия"

"искать программы и оформить текст для отчета
Dim s
s = ExtractSoft("SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\")
If Len(s) > 0 Then tf.Write s

"для 64-битных систем есть еще другой ключ! (32-битные программы на 64-битной системе)
s = ExtractSoft("SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\")
If Len(s) > 0 Then tf.Write s

"закрыть файл отчета
tf.Close

"проверить указанный ключ реестра; вернуть строку для записи в файл отчета
Function ExtractSoft(key)

"получить коллекцию
Const HKLM = &H80000002 "HKEY_LOCAL_MACHINE
Dim items
wmio.EnumKey HKLM, key, items
If IsNull(items) Then
ExtractSoft = ""
Exit Function
End If

"отобрать нужные элементы
Dim s, item, ok, name, publ, inst, x, prev
s = "" "результат накапливать в строке
For Each item In items

Ok = True "флаг продолжения

"название, пропускать пустые и повторяющиеся
prev = name
wmio.GetStringValue HKLM, key & item, "DisplayName", name
If IsNull(name) Or Len(name) = 0 Or name = prev Then
ok = False
Else "не допускать символ ";"
name = Replace(name, ";", "_")
End If

"отделить заплатки, по значению параметра ParentKeyName = "OperatingSystem"
If ok Then
wmio.GetStringValue HKLM, key & item, "ParentKeyName", x
"для программ
If UPDATES Then
If IsNull(x) Or x <> "OperatingSystem" Then ok = False
"для обновлений
Else
If Not IsNull(x) And x = "OperatingSystem" Then ok = False
End If
End If

"Версия
If ok Then
wmio.GetStringValue HKLM, key & item, "DisplayVersion", publ
If IsNull(publ) Or Len(publ) = 0 Then publ = "-"
End If

"If ok Then s = s & name & ";" & publ & ";" & inst & vbCrLf
If ok Then s = s & name & publ & ";" & vbCrLf

Next
ExtractSoft = s

"проверить доступность компьютера в сети; вернуть True, если адрес недоступен
Function Unavailable(addr)
Dim wmio, ping, p
Set wmio = GetObject("WinMgmts:{impersonationLevel=impersonate}")
Set ping = wmio.ExecQuery("SELECT StatusCode FROM Win32_PingStatus WHERE Address = "" & addr & """)
For Each p In ping
If IsNull(p.StatusCode) Then
Unavailable = True
Else
Unavailable = (p.StatusCode <> 0)
End If
Next
End Function

Вот собственно и все. Сердечно благодарю автора скрипта Павела Железнова. Думаю в полной мере назвать эту статью плагиатом нельзя, и надеюсь это будет кому-то полезно.

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

Теги: инвентаризация, скрипты

Позволит вам:

  • Вести общую базу всего оборудования компании;
  • Отслеживать замену комплектующих;
  • Создавать отчеты для замены старого оборудования.
Рекомендован при совпадении любого из условий:
  • Рабочих станций от 50;
  • Серверов от 25.

Цена

Windows Server - 5 000 рублей, UNIX - 7 000 рублей.

Хотите дешевле? Пожалуйста! Ниже описан пакет услуг. Вы можете исключить из него несколько пунктов и получить скидку.

Или наоборот - добавить дополнительные пункты, и цена станет больше.

В стоимость входит:

  • Сборка RAID ;
  • Установка, настройка и обновление операционной системы;
  • Настройка сервера инвентаризации;
  • Добавление в систему имеющееся оборудование;
  • Обучение базовому обслуживанию (добавление новых устройств);
  • Настройка автоматического резервного копирования.

Читайте также

Сервер. Для компании, где работает до 15 человек, чаще всего, достаточно сервера класса micro (от 8 000 рублей). В компаниях от 15 человек или при активной работе с сервером необходимо оборудование более высокого класса (от 80 000 рублей). Также есть варианты аренды сервера (от 700 рублей в месяц).

Программное обеспечение. На базе UNIX программное обеспечение приобретать не нужно, так как большинство дистрибутивов распространяется бесплатно. В случае с Windows необходимо приобрести лицензию на Windows Server (около 30 000 рублей) + Windows Server Call на каждого сотрудника (около 1 000 рублей за пользователя).

Консультации по выбору оборудования или программного обеспечения осуществляю бесплатно.

Если сервер находится за пределами Санкт-Петербурга, возможен вариант удаленной настройки. В данном случае, работы проводятся по 100%-й предоплате.

Включает следующие проверки:

  • Журналов событий на предмет ошибок;
  • Наличие свободного дискового пространства;
  • На вирусы;
  • Нормальной работы всех сервисов;
  • Выполнение резервного копирования.
Также возможен вариант удаленной поддержки. 17 февраля 2012 в 14:50

Срочная инвентаризация. Или хочу всё знать

  • Системное администрирование

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

Что мы хотим?

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

Способ первый, без затрат.

Хотим мы получить инфу о начинке системных блоков организации, например для составления плана модернизации. Вы слышали про встроенную в Windows команду SYSTEMINFO? А она очень полезная. Даст вам информацию о всей системе в удобоваримом виде:
Имя узла: VIRTUAL-PC Название ОС: Microsoft Windows 7 Версия ОС: 6.1.7601 Service Pack 1 сборка 7601 Изготовитель ОС: Microsoft Corporation Параметры ОС: Рядовая рабочая станция Сборка ОС: Multiprocessor Free Зарегистрированный владелец: virtual Зарегистрированная организация: Код продукта: ****************** Дата установки: 12.03.2011, 5:28:25 Время загрузки системы: 15.02.2012, 13:21:15 Изготовитель системы: innotek GmbH Модель системы: VirtualBox Тип системы: X86-based PC Процессор(ы): Число процессоров - 1. : x64 Family 6 Model 15 Stepping 11 Genuin eIntel ~2574 МГц Версия BIOS: innotek GmbH VirtualBox, 01.12.2006 Папка Windows: C:\Windows Системная папка: C:\Windows\system32 Устройство загрузки: \Device\HarddiskVolume1 Язык системы: ru;Русский Язык ввода: en-us;Английский (США) Часовой пояс: (UTC+04:00) Волгоград, Москва, Санкт-Петербург Полный объем физической памяти: 631 МБ Доступная физическая память: 248 МБ Виртуальная память: Макс. размер: 1 655 МБ Виртуальная память: Доступна: 1 056 МБ Виртуальная память: Используется: 599 МБ Расположение файла подкачки: C:\pagefile.sys Домен: *********** Сервер входа в сеть: \\SERVER Исправление(я): Число установленных исправлений - 54. Сетевые адаптеры: Число сетевых адаптеров - 2. : Intel(R) PRO/1000 MT Desktop Adapter Имя подключения: Подключение по локальной сети DHCP включен: Нет IP-адрес : 192.168.16.170 : Intel(R) PRO/1000 MT Desktop Adapter Имя подключения: Подключение по локальной сети 2 DHCP включен: Нет IP-адрес : 192.168.19.1 : ****::25e7:a222:dc08:****

Просто и понятно.
Но не бегать же по всей фирме запуская консоль и копируя вывод команды в текстовик на какой-нибудь шаре. У нас в компании такое в принципе невозможно, политиками запрещено пользователям запускать CMD, а при использовании «Запуск от имени» все переменные окружения летят в тартарары. Что делать? ВАШЕМУ ВНИМАНИЮ PS-TOOLS !
А конкретнее входящяя в её состав утилита psexec.exe. Но не PSEXEC-ом единым жив человек, вывода на экран нам мало, нам бы это ещё и сохранить всё это безобразие, да желательно с комфортом.
Всё предельно просто:
  • Создаём шару с правами на запись всем подряд, а то мало ли какие урезанные права у рабочих станций (sic! Именно станций, потому как права пользователей этих станций нам не интересны, всё будем делать от своего имени). Ну например \\share\audit\
  • Рисуем файлик в нашими айпишниками. Дело в том, что psexec по неясным причинам не понимает диапазоны адресов типа 192.168.0.1-192.168.0.254 или 192.168.0.0/24. Его, конечно, можно обмануть и подсунуть подобное, но это не стабильно и вредно, ниже объясню почему. Я пользуюсь OO Calc для создания списка IP-адресов. В итоге получаем текстовик (.txt) с примерно таким содержимым:
    192.168.0.1 192.168.0.2 ... 192.168.0.254
    192.168.16.255 - широковещательный и не нужно его использовать. Так же из списка можно исключить адреса оборудования и серверов к которым Вы подключаться не хотите. Можно использовать и список с именами компов, но я так не делаю.
Далее, открываем cmd и пишем:
psexec.exe @c:\ip-list.txt -d -n 12 systeminfo > \\share\audit\%COMPUTERNAME%.txt

ip-list.txt - это текстовик с ip-адресами.
-d - значит, что psexec не будет ждать пока команда исполнится, а просто запустит systeminfo как демон и отключится от клиента.
-n 12 - это период ожидания ответа клиента (вообще-то правельнее СЕРВЕРА, но так и запутаться недолго), у меня 12 секунд. Если за это время не удастся подключится, то psexec его пропустит. Для пустых IP это не нужно, а вот ко всяким сетевым принтерам и т.п. psexec может пытаться подключится долго и нудно.
Когда скрипт отработает, в \\share\audit\ мы получим кучу текстовиков названых по именам компьютеров в сети. Что с ними дальше делать я попозже расскажу.
Всем хорош этот способ и быстр и прост, но есть у него и недостатки.
  • Тут информация только по содержимому коробки системного блока и чуть-чуть по Windows.
  • Хотя установленные программы хранятся внутри системного блока про них тоже ничего не выводится
  • Даже по внутренностям мало информации, например нет ничего про тип оперативной памяти, только объём. Да и процессор освещён весьма скудно.

Хочу ВСЁ знать

И когда уже недостаточно только отчёта встроенной утилиты на помощ приходит AIDA64 от FinalWire. это тот же EVEREST только уже купленный другой компанией и которому было возвращено историческое название.
В принципе можно обойтись покупкой Business Edition и установкой на все станции. потом разрешить им обмениваться информацией и подключатся друг к другу на коком-нибудь порту, после чего клепать отчёты из приятного интерфейса. Но, во-первых это не тру, а во-вторых с автоматизацией процесса могут возникнуть заминки.
Я обхожусь Extreme Edition, всё то же самое но без сетевых отчётов.
Что бы начать вкушать плоды автоматизации нужно несколько несложных операций.

Теперь используя всё тот же psexec.exe пришем простенький скрипт который будет запускать AIDA на рабочих станциях с нужными нам параметрами:

psexec.exe @c:\ip-list.txt -d -n 12 \\share\audit\aida\aida64.exe /R \\share\audit\%COMPUTERNAME% /TEXT /CUSTOM \\share\audit\aida\aida64.rpf

Параметр /R <путь> - означает что аида не будет выводить отчёт на экран, а будет складывать его по указанному пути. %computername% - это переменная окружения cmd и на каждом компьютере где мы будем запускать Aida она будет соответствовать имени компьютера. Можно использовать любую другую переменную, но так удобнее всего.
Параметр /TEXT - предопределит тип создаваемого отчёта и автоматически подставит нужное расширение файла, поэтому после %computername% не нужно ставить.txt (%computername%.txt) иначе получим %computername%.txt.txt
Параметр /CUSTOM - даёт понять AIDA откуда брать список нужных компонентов отчёта.
Вот и всё. Запускаем эту строку в CMD и смотрим как в шару складываются очень подробные отчёты включающие в себя полную информацию по всей периферии.

В домене

Я добавил исполнение этого скрипта (без части с psexec) в Startup Scripts в политиках домена.
Это было бы не правильно без некоторой доработки, в итоге скрипт в политиках выглядит так:
if not exist \\share\audit\%COMPUTERNAME%.txt (\\share\audit\aida\aida64.exe /R \\share\audit\%COMPUTERNAME% /TEXT /CUSTOM \\share\audit\aida\aida64.rpf) else exit

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

Разбор полученных логов

Я сохраняю отчёты в простом текстовом виде так как пользуюсь для их разбора и анализа bash скрипты, а шара для хранения отчётов хранится на linux машине. По этому если я хочу узнать обо всех машинах: их имя,ip и mac, количество установленной памяти, то делается примерно следующее:
iconv -f cp1251 ./*.txt | egrep -i "Имя компьютера|с ip|с mac|Тип ЦП|Системная память"
Это простейшая обработка, но когда освою парсинг XML на каком-нибудь языке, конечно перейду на отчёты в этом формате.

Лирика

Можно обсудить ещё и возможность удалённого включения рабочих станция, да и управление компьютерами по сети не последний вопрос. Но ничего универсальнее Wake On Lan ещё не изобрели, а многообразие средств удалённого управление столь велико, что не уместится в рамки этой статьи. Тем более это дело вкуса.
  • 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 позиций - нашлось все, работа заняла два дня на обход и еще пару дней на поиски того, что не обнаружилось сразу, вроде ноутбуков по домам и в запертых кабинетах, оборудования в технологических помещениях и т.п.

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

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