Размышления по автоматизации сбора данных о компьютерах


Если не были назначены ответственные за ведение базы СВТ в подразделениях, то администратору самому придется заполнять эту базу.

Если у вас большое количество СВТ, то сбор информации для заполнения базы довольно кропотливая работа.

Что можно сделать для автоматизации этой работы.

На просторах Интернета можно найти не один десяток WMI скриптов, которые можно адаптировать под свои нужды.

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

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

2. Статья на Хабр "Инвентаризация компьютеров в домене. Лень-двигатель прогресса". Рассматривается создание скрипта на PowerShell.
Ссылка на страницу: https://habr.com/ru/post/124386/ от 18 июля 2011.

3. Статья "Срочная инвентаризация. Или хочу всё знать" от 17 февраля 2012 г. Рассматривается встроенная в Windows команда SYSTEMINFO.
Дает информацию о всей системе в удобной форме. Но не бегать же по всей организации и запускать эту команду на каждом компьютере.
Это может быть не возможно даже из-за установленной у вас политики домена.
На помощь может прийти пакет PS-TOOLS. ССылка на скачивание: https://download.sysinternals.com/files/PSTools.zip В этом пакете нас интересует программа PSEXEC.EXE. Эта программа позволяет выполнять команды на удаленных компьютерах, например
psexec.exe @c:\ip-list.txt -d -n 12 systeminfo > \\share\audit\%COMPUTERNAME%.txt
т.е. она может выполнить команду SYSTEMINFO на списке (ip-list.txt) удаленных компьютеров. В результате выполнения мы получим в расшаренной папке \\share\audit\ файлы с именами %COMPUTERNAME%.txt
Для более расширенного получения информации, можно к этой программе прикрутить EVEREST. Можно использовать и условно-бесплатную программу Siw. Параметры запуска программы можно посмотреть здесь
Вот несколько примеров ее использования:
psexec.exe @c:\comp-list.txt -d -n 12 [путь]\siw /shortReport /log=\\share\audit\%COMPUTERNAME%.html
Создает html файлы с именами компьютеров в формате короткого отчета в расшаренной папке.
psexec.exe @c:\comp-list.txt -d -n 12 [путь]\siw /log:html=%COMPUTERNAME%.html /s:0x40100001 /h:46 /n:68
Можно выводить информацию и в других форматах.
Вообщем почитайте всю статью.

4. Скрипт на VBScript от Павла Железнова. Скрипт позволяет собрать средствами WMI и VBScript средения о компьютере(invert_comp.vbs).
Немного доработанный мною скрипт, позволяющий задать список компьютеров в файле и добавлены классы W32_DesktopMonitor и W32__PnPEntity (invert_comp_spisok.vbs). Скрипт выводит список файлов в формате csv (имя_компьютера.csv).
Скрипт invert_comp_report.vbs формирет веб-страницу из файлов csv.
Скачать архив invert_comp.zip

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