Поиск производителя оборудования, модели и серийного номера?
Я хотел бы найти производителя, модель и серийный номер различных машин 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.