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

Зачем все это?

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

Нашел одно решение на Хабре. Выполненное с использованием PowerShell. Позволяет собирать всю необходимую информацию об удаленных компьютера из окна Powershell. Хорошо оптимизирован, асинхронное выполнение запросов, идеальное решение если знаешь какие компьютеры надо опросить.

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

Результат

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

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

Принцип работы

Батник

Собирает инфу в переменные и передает скрипту php

PHP

Принимает пост переменные и добавляет или обновляет запись в БД

Web севрер

Читает данные БД и воспроизводит их в виде таблице

Исходники можно посмотреть на GitHub

Вывод

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

Результат работы скрипта
Результат работы скрипта

Комментарии (9)


  1. Shaz
    30.01.2022 23:28
    +2

    И зачем люди делали glpi с fusion-inventory?


    1. AlexGluck
      31.01.2022 01:43

      В своё время пришлось по всем компам пройтись и включить wmi. А надо было продавить с начала хороший ад с гпо.


      1. olegtsss
        31.01.2022 08:10

        «Принимает пост переменные и добавляет или обновляет запись в БД» — не забудьте про санитайзинг данных.


  1. KrasPvP
    31.01.2022 08:33

    а что вообще такое "вход"?

    я к тому, если ПК будет в спящем режиме, то после пробуждения отработает ли скрипт? это довольно странный вопрос и не факт, что критический, но у нас на старой работе некоторые менеджеры компы держали в спящем режиме по нескольку месяцев)


    1. Volzhanin94 Автор
      31.01.2022 08:35

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


  1. kiff
    31.01.2022 08:35

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

    В целом мне очень понравлся https://www.total-network-inventory.ru/. Рекомендую.


  1. halsbox
    31.01.2022 08:36
    +2

    Если кто захочет у себя это запустить, имейте в виду, там можно вот так делать:


    ?order=ASC; DROP TABLE pc; -- 


  1. slavius
    31.01.2022 11:54

    Было еще https://habr.com/ru/post/555224

    Если можно использовать сторонние программы я для этого пользую psexec и winaudit. http://www.parmavex.co.uk/winaudit.html • No setup • Save as csv, rtf and html • Send by e-mail • Database export • Command line • £0.00 • European Union Public License • Download[1.2MB] source code

    Может складывать в базы.


  1. slavius
    31.01.2022 12:09

    В Win7 был удобный инструмент - карта сети.

    Это не для громадных сетей, но работало.

    В Win10 такого нет:(

    Кто что использует?