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

Я хотел бы найти производителя, модель и серийный номер различных машин Windows (XP, Vista, 2003, 2008) и Linux (Ubuntu, Debian, Fedora) через программное решение.

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

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

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

6 ответов

Решение

Для Windows вы можете использовать быстрый скрипт powershell для завершения WMI, что-то вроде этого:

function Get-Inventory([string] $computer = '.')
{
    $data = ""|select name, vendor, model, serial
    $bios = get-wmiobject 'win32_BIOS' -computername $computer
    $comp = get-wmiobject 'win32_computersystem' -computername $computer
    $data.name = $comp.Name
    $data.vendor = $comp.manufacturer
    $data.model = $comp.Model
    $data.serial = $bios.SerialNumber
    return $data
}

Если вы передадите этот текстовый файл со списком всех ваших компьютеров, вот так:

get-content 'mycomputers.txt' | foreach-object{Get-Inventory}

в итоге вы получите хорошую таблицу компьютеров и деталей оборудования. If you need to archive the data, use the export-csv cmdlet to dump the output straight to a file.

Тогда для Linux я бы сказал, посмотрите на dmidecode, который довольно часто предустановлен или может быть легко установлен из репозитория дистрибутива.

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

Существует отличное (хотя и коммерческое) решение, которое делает именно это (необработанный текст будет в формате csv, я считаю), называемое снимком ISI: http://www.isiisi.com/snapshot.htm

Он получит всю эту информацию и очень быстро.

Я упоминаю об этом, потому что вы сказали "если есть решение перед сборкой"....

Изменить: Также проверьте / proc / cpuinfo и lsattr -El sys0

Посмотрите на SpiceWorks. SpiceWorks использует WMI и SSH для сбора этой информации с компьютеров Windows, Mac и Linux. Не сценарий, а полное решение, включающее локальную базу данных для того, что вы ищете здесь. Стоит взглянуть хотя бы.

Я думаю, что вы можете использовать WMI для получения информации о Windows, вы можете получить информацию удаленно, если у вас есть права администратора.

Для жестких дисков в Linux вы должны иметь возможность использовать такой инструмент, как smartctl, включенный в библиотеку smartmontools, чтобы получить необходимую информацию, например, это то, о чем сейчас сообщает мой диск:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar SE Serial ATA family
Device Model:     WDC WD800JD-22LSA0
Serial Number:    WD-XXXXXXXXXXXX (obscured by me)
Firmware Version: 06.01D06
User Capacity:    80,026,361,856 bytes

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

Другие вопросы по тегам