Pull to refresh

Ещё один способ автоматизации инвентаризации

Reading time2 min
Views21K
Представьте себе, что у вас есть небольшой офис из 150 ПК на Windows, а руководство возжелало провести полную инвентаризацию существующего парка. Предположим что у вас для этих задач есть несколько сотрудников техподдержки. Как бы вы поступили?

Первое что приходит в голову — вручить техподам ручку и блокнотик и послать «в поля». Идея хороша, но упирается в «стоимость простоя» и полное отсутствие лояльности у сотрудников по отношению к техподдержке.

Что же делать и как быть в такой ситуации? Ещё один рецепт под катом

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

В руки взял удобный язык автоматизации AutoIt 3.3.8.1 (Скачать можно отсюда), в ноги клавиатуру, и понеслось. Для сбора отчётов мы будем использовать уже проверенное годами решение на базе Aida64 Business Edition Trial (Скачать можно отсюда) Использование Aida64 в наших целях лицензионного соглашения не нарушает.

Алгоритм работы оказался достаточно банален и надёжен, без костылей и извращений —
Создаём временную папку -> Копируем с «шары» и распаковываем необходимые компоненты -> Запускаем сборщик отчётов в текстовом режиме -> Копируем отчёт на «шару» для отчётов -> Удаляем следы с компьютера

Код «клиентской» части написанной на AutoIt. Здесь его выкладывать не буду, уж очень некрасиво он здесь смотрится в тексте, выложу на PasteBin — вот ссылка



Компилируем его компилятором идущим в комплекте с AutoIt. Называется компилятор - «Aut2exe v3 — AutoIt Script To Exe Converter». Не забываем поставить галку — «Console?», чтобы скрипт мог использовать вывод в StdOut. Также можно иконку свою смастерить.



Скомпилированный код отлично запускается и работает на локальной машине, но как же нам запустить его на всех компьютерах в сети? На помощь нам приходи великий и ужасный Марк Руссинович с одной из его утилит PsExec (взять можно здесь) Она позволяет, используя обычный текстовый список компьютеров, запустить нашу софтинку на каждом из них. Но главный её плюс — для её работы требуются только локальные права администратора на удалённом ПК, а эти права у техподов всегда есть.

Команда для запуска этого конвейера —
psexec.exe @computerlist.txt -u домен\имя_техпода -p пароль -c -f имя_нашего.exe
computerlist.txt — файл со списком компьютеров к которым будет обращение (должен лежать в рабочей директории)
домен\имя_техпода и пароль — доменная учётка сотрудника техподдержки от чьего имени будет производится запуск нашего exe'шника
имянашего.exe — скомпилированный AutoIt скрипт (должен лежать в рабочей директории)

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

P.S. Список компьютеров в сети мы можем взять использую консольную команду NET VIEW, на выходе мы получим имена компьютеров в сети, останется только выделить нужные нам и скопировать в список для PsExec
Tags:
Hubs:
-1
Comments17

Articles

Change theme settings