Общие сведения об инвентаризации программного обеспечения. Ставим на учет железо и софт


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 ещё не изобрели, а многообразие средств удалённого управление столь велико, что не уместится в рамки этой статьи. Тем более это дело вкуса.

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

  • Вести общую базу всего оборудования компании;
  • Отслеживать замену комплектующих;
  • Создавать отчеты для замены старого оборудования.
Рекомендован при совпадении любого из условий:
  • Рабочих станций от 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%-й предоплате.

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

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

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

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

Итак, в скрипт были внесены следующие изменения:
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 машинах.

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

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

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

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

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

Free 1

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

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

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

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

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

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

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

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

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

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

Free 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

%SystemRoot%\System32\WBEM\Repository\FS

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

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

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

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

Non-free 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SOFTWARE\Microsoft\WBEM\Scripting\Default Impersonation Level

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

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

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

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

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

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

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

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

Non-free 2

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

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

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

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

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

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

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

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

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

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

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

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

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: