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

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

Сразу хочу предупредить, что все изложенное ниже это не вычитанный в книгах best practice, а выжимка моего, порой не всегда удачного опыта. Поэтому с благодарностью приму конструктивную критику.


Итак, начнем. Зачем ИТ-службе нужно вести свой учет компьютерного оборудования? Ведь вся компьютерная техника учитывается на счетах организации и данные об оборудовании уже есть в бухгалтерской системе. Зачем тогда отвлекать технических специалистов от разработки софта/администрирования систем/ремонта оборудования и грузить их «бухгалтерской» работой?
Дело в том, что собранные в бухгалтерской системе данные не спасут вас от проблем, например, при вирусной атаке.


«Заразить компьютер в корпоративной сети, поднять привилегии, получить доступ к домену администратора и одной кнопкой остановить деятельность компании любого размера» - так описал специфику работы вируса WannaCry его автор.


Чтобы остановить этого проныру как минимум нужно знать местоположение зараженных компьютеров . В бухгалтерской системе будет указана кладовая, в которой числится компьютер, и пользователь (но это не точно). Фактическое местоположение компьютера и его IP-адрес вы не узнаете.


Чем больше времени будет потрачено на выяснение, в какому закутке стоит зараженная машина, тем ниже шансы остановить распространение вируса и деградацию инфраструктуры. Как вы понимаете, финансовые и репутационные потери от остановки бизнес-процессов будут на порядок выше затрат на ведение учета ИТ-оборудования. Впрочем, wannacry это еще цветочки. Есть угроза и посерьезней…


Помните старую шутку, что зима в Россию всегда приходит неожиданно, поэтому коммунальные службы не успевают к ней подготовиться? Аналогичная беда с подготовкой бюджета на следующий год – вроде все знают о сроках, но почему-то заявки на замену техники подают в самый последний момент. И крайним обычно остается ИТ-специалист, отвечающий за распределение оборудования – не предусмотрел, не предпринял должные меры, не проявил настойчивости и т.д. и т.п. Если вирусная атака может обойти вас стороной, то наезды из-за не вовремя выделенной техники точно прилетят вам в голову.


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


Чем еще поможет налаженная система учета ИТ-оборудования? Тем, что на любой, даже самый каверзный вопрос руководства вы сможете дать ответ уже через 5-15 минут, а не в «завтра с самого утра». Например, финансовый директор спрашивает: «сколько принтеров у нас в кладовке, сколько в ремонте, сколько у пользователей, сколько было утилизировано в этом году, в каких отделах принтера простаивают?» . Если у вас учитываются стадии жизненного цикла ИТ-оборудования, то на все (!) эти вопросы вы дадите ответ в течении 15 минут . В противном случае придется собирать данные из разных источников в течении 2-3 часов (если не больше).


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


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

  1. определить границы учетной системы;
  2. разработать справочник категорий оборудования;
  3. разработать модель жизненного цикла;
  4. определиться с правилами идентификации оборудования;
  5. разработать атрибутную модель.

Шаг 1. Определить границы учетной системы

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


По моему опыту чаще всего в «застревают в бутылочном горлышке» компьютеры и оргтехника. Реже всего комплектующие и расходные материалы (как правило по ним хватает данных складского учета).

Шаг 2. Разработать справочник категорий оборудования

Чтобы было удобнее формировать отчеты, каждую группу техники нужно разделить по категориям . Например, вы решили наладить учет пользовательского оборудования. Берем группу «компьютеры». Из каких категорий она будет состоять? Персональный компьютер, ноутбук, планшет и т.д. Затем берем следующую группу – «устройства отображения» и делим на категории ее. В итоге у вас получится примерно вот такой справочник категорий:



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

Шаг 3. Разработать модель жизненного цикла оборудования

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


Советую начать с простой модели и детализировать ее по мере необходимости:


Событие Статус Что отслеживает статус?
Новое оборудование поступило на склад, неиспользуемое оборудование вернулось на склад Хранение на складе Отслеживает фактический складской запас
Оборудование передано ИТ-специалистам для настройки, ремонта, апгрейда Настройка/Ремонт Отслеживаем нагрузку на персонал ИТ-службы
Оборудование передано пользователю Эксплуатация Отслеживаем фактическое количество техники в работе
Пользователь уволился, но оборудование осталось на рабочем месте (ждут нового сотрудника) Хранение в подразделении Отслеживаем скрытые резервы
Оборудование снято с рабочего места, как непригодное к эксплуатации Подготовка к утилизации Отслеживаем хлам, который нужно утилизировать
Передали оборудование на утилизацию подрядчику Утилизация Отслеживаем выполнение договора на утилизацию

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

Шаг 4. Определить способ идентификации оборудования

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


Способ идентификации Преимущества Недостатки
Бирка с номером. На оборудование приклеивается бумажная бирка с учетным номером или учетный номер наносится маркером. Низкие затраты на расходные материалы и оборудование для маркировки Достаточно высокие трудозатраты на актуализацию данных и учет перемещений оборудования. Низкая износостойкость бумажных бирок.
Серийные номера производителя. Используются нанесенная при изготовлении оборудования этикетка с SN и штрихкодом. Нет затрат на оборудование и расходные материалы для маркировки Не подходит для идентификации «самосборных» ПК. Высокие трудозатраты на актуализацию данных и учет перемещений, т.к. серийные номера находятся в труднодоступных местах.
Этикетка со штрих-кодом. На оборудование наносится износостойкая этикетка с учетным номером и штрих-кодом. Низкие затраты на оборудование для маркировки и расходные материалы. Сокращение трудозатрат на актуализацию данных и учет перемещения оборудования. Явных недостатков не выявил.
RFID-метка. На оборудование наносится радиометка. Высокая стоимость оборудования и расходных материалов. Невозможность идентифицировать оборудование без использования RFID-сканера.
Штрих-код + RFID. На оборудование наносится радиометка с напечатанным на ней штрих-кодом и учетным номером Значительное сокращение трудозатрат на инвентаризацию и учет перемещения большого количества оборудования. Высокая стоимость оборудования и расходных материалов.

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

Шаг 5. Разработать атрибутную модель

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

  • Общепринятое наименование производителя и модели оборудования . Обратите внимание, что в накладных наименования производителя и модели могут быть искажены. Старайтесь записывать именно общепринятые наименования, чтобы техническую информацию о модели было проще найти на сайте производителя.
  • Номенклатурный номер , под которым модель оборудования заведена в справочнике материалов бухгалтерской системы. Его стоит учитывать для быстрого поиска однотипного оборудования.
  • Инвентарный номер , присвоенный оборудованию при постановке на бухгалтерский учет. Его стоит учитывать для поиска оборудования в бухгалтерской базе. Обратите внимание, что по правилам бухгалтерского учета инвентарный номер может быть одинаковым у нескольких устройств (например, у ПК, монитора и принтера в составе лабораторной установки). Кроме этого, инвентарный номер обязательно присваивают только основным средствам, т.е. оборудованию стоимостью выше 40 000 рублей (подробнее в ПБУ 5/01, ПБУ 6/01). Поэтому у подавляющего количества компьютерной техники в вашей организации инвентарного номер может и не быть. Взамен его может использоваться сложно-составной номер, например <номер кладовой>/<количество этой номенклатуры на учете в кладовой>.
  • Учетный номер , присвоенный ИТ-подразделением при принятии оборудования на обслуживание. Во многих организациях ИТ-службе удобнее присваивать оборудованию свой ID, чем использовать инвентарные номера.
  • Серийный номер , присвоенный производителем оборудования. Стоит учитывать на случай гарантийного ремонта и как запасной идентификатор при невозможности определить инвентарный/номенклатурный/учетный номера оборудования.
  • Почтовый адрес здания, название или номер строения (если по одному адресу находится несколько строений), номер кабинета (или название участка и строительные оси здания, если это производственное помещение). Такой набор реквизитов поможет найти технику, в каком бы закутке она не находилась.
  • Подразделение, в котором работает пользователь, ФИО и телефон пользователя . Контакты пользователя нужны чтобы получить физический доступ к оборудованию. Подразделение, вам пригодится для группировок в отчетах и для выхода на руководителя, если пользователь окажется недоступен. Также полезно знать табельный номер и … дату увольнения пользователя. По табельному номеру удобно строить сводные отчеты, если нужно посмотреть, какие еще ТМЦ числятся за сотрудником. Дата увольнения поможет выявить бесхозное оборудование.
    В моей практике был забавный случай. На небольшом заводе начальник одного из подразделений несколько недель добивался выделения ему более производительного компьютера. Бюджета на технику не было, поэтому приняли решение поискать простаивающую технику в подразделениях. Два дня поисков и более мощный компьютер нашли … в кабинете этого начальника, за соседним столом. Компьютер остался после увольнения сотрудника. О том, что это более производительная машина проситель не знал. А ИТ-службу не предупредили об увольнении пользователя этого компьютера.
  • Технические атрибуты , по которым вы сможете принять решение о модернизации оборудования. Например, такие:

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


В зависимости от интерфейса учетной системы на первичную регистрацию каждого устройства потребуется 5-10 минут, на актуализацию данных 1-2 минуты. Предположим у вас в организации 350 пользователей, устройств для учета 1 000 штук. В год заменяется 20% парка техники (из расчета срока службы 5 лет), 10% парка проходит ремонт и модернизацию. Значит каждый год вам нужно будет:

  • внести в систему 200 новых записей (200x10 = 2000 минут);
  • два раза обновить статусы у 200 новых устройств (200x2x2 = 800 минут);
  • два раза обновить статус у 200 выводимых из эксплуатации устройств (200x2x2 = 800 минут);
  • два раза обновить статусы у 100 попавших в ремонт устройств (100x2x2= 400 минут).

Итого вы потратите 4 000 минут в год. Накинем еще 10% на непредвиденные перемещения. Получим 4 400 минут в год или 17 минут в день. Полагаю, это вполне приемлемые трудозатраты для поддерживания в актуальном виде системы учета на 1 000 единиц техники.


К тому же их можно сократить до 10-12 минут: технические атрибуты забирать из SCCM, данные о пользователе из кадровой системы. Но это вопросы архитектуры, их я планирую раскрыть во второй части статьи. Также во второй части я покажу, как оперативно организовать внедрение спроектированной системы учета. Пока же давайте сделаем паузу.


Прошу дать в комментариях обратную связь. Это поможет мне подробнее раскрыть интересующие вас вопросы при подготовке продолжения статьи.

Теги: Добавить метки

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

4 месяца назад Лицензия: Условно-бесплатная Язык: Русский ОС: 7/8/8.1/10 Размер: 15.47 МБ

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

Год назад Лицензия: Условно-бесплатная Язык: Русский ОС: XP/Vista/7/8/8.1/10 Размер: 38.92 МБ

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

Год назад Лицензия: Условно-бесплатная Язык: Русский ОС: XP/Vista/7/8/10 Размер: 38.08 МБ

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

2 года назад Лицензия: Условно-бесплатная Язык: Русский ОС: XP/Vista/7 Размер: 61.27 МБ

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

2 года назад Лицензия: Условно-бесплатная Язык: Русский ОС: 7/8/10 Размер: 26.57 МБ

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

4 года назад Лицензия: Условно-бесплатная Язык: Английский ОС: XP/Vista/7 Размер: 1.93 МБ

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

5 лет назад Лицензия: Условно-бесплатная Язык: Русский ОС: XP/Vista/7 Размер: 7.48 МБ

Программа для учета компьютерной техники в организации. Поддерживается загрузка данных из AIDA32 и ASTRA. Допускается создание нескольких отчетов - Паспорт компьютера (Арматурная карточка), Отчет о р...

​​Программа учета.

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

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

Ведение учета компьютерной технике предоставляется из себя следующее:

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

Чтобы предоставить инвентаризацию компьютеров, а так же и вашего программного обеспечения, данная программа форматирует любые отчеты, для учета компьютеров. Работа с отчетами разрешает по детально проанализировать всё состояние применяемой компьютерной техники и загруженного программного обеспечения в очень качественном а так же и количественном отношениям. Нужные формы отчетов предоставляют уникальную возможность производить учет всех лицензий на установленное программное обеспечение. Все документы ведения учета компьютерной техники изменяются в формате -(HTML) ,а потом автоматически запускаются в имеющимся на вашем компьютере браузере. Кроме того, все документы можно открывать в любой из программ Word или Excel.

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

Эта уникальная программа для ведения учета, имеет такие виды запуска:

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

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

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

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

Размер: 1 МБ
Интерфейс: Русский
Платформа: Windows XP/Vista/7/8

Программа для отчетности телефонов, компьютеров, оргтехники!

Новое в категории "Учет компьютеров":

Бесплатная
Hardware Inspector 5.2.2 является программой по автоматизированному инвентаризации и удобному учёту компьютерной техники или другого оборудования в организациях. Программа Hardware Inspector поможет в работе администраторам сети, руководителям отделов компьютеризации и другим ответственным лицам.

Бесплатная
Учет оргтехники 5.2.268 Free является базой данных по инвентаризации компьютеров (также возможен учёт сетевых концентраторов и копиров) на фирме или предприятии. Приложение «Учет оргтехники» будет особенно полезно системным администраторам, для выполнения задач по систематизации учёта компьютерной техники.

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

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

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

Бесплатная
UltimateZip 6.0.2.6 является бесплатным архиватором нового поколения. Программа UltimateZip имеет возможность упаковывать в архивы: Tar-GZip, Zip, Tar-BZip2, Blak Hole, Tar, Cabinet, GZip, Jar и Lha.

Бесплатная
PrintStore 1.05 является программой, которая осуществляет учёт техники и расходных материалов. Программа PrintStore также позволяет организовать учет всей офисной техники, компьютеров или мебели.

Бесплатная
HardInfo 1.0.0.0 является программой для учета наличия компьютеров, а также автоматического учета какой-либо другой компьютерной техники или комплектующих. Программа HardInfo ориентирована для работы системных администраторов, IT-специалистов и других ответственных лиц.

Бесплатная
CompExplorer 1.5.0.0 light – это программа, которая проведёт автоматизированный учёт и инвентаризацию компьютерной техники. Программа CompExplorer также может проводить учёт и инвентаризацию и другого оборудования на предприятиях.

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

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.