Назад | Перейти на главную страницу

Ищете производителя оборудования, модель и серийный номер?

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

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

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

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

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

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

Для 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}

вы получите красивую таблицу компьютеров и деталей оборудования. Если вам нужно заархивировать данные, используйте командлет export-csv, чтобы выгрузить вывод прямо в файл.

Существует отличное (хотя и коммерческое) решение, которое делает именно это (я считаю, что исходный текст будет в формате csv), который называется ISI Snapshot: 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.