寻找硬件制造商,型号和序列号?

我想通过软件解决schemefind各种Windows(XP,Vista,2003,2008)和Linux(Ubuntu,Debian,Fedora)机器的制造商,型号和序列号。

目前我们的硬件库存已经过时了,所以我想通过一个软件解决scheme快速获得这些信息(所以我不需要每台计算机都能读取贴纸)。

我想编写这样一个理想的脚本,它不需要任何第三方应用程序,如果它理想是独立的,所以它很容易移植。

任何想法如何做到最好? 如果有理想的预构build(免费)解决scheme,我希望报告为原始文本或MySQL数据库。 理想情况下,一个小的独立工具,我不想在每台PC上安装的东西。 如上所述,虽然我很高兴使用预build的操作系统工具来编写脚本。 我知道这是可能的,因为我已经看到其他应用程序报告这些信息(虽然在与其他的东西,我不需要例如Sp​​iceworks大量大宗包装)。

对于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 cmdlet将输出直接转储到文件。

对于Linux,那么我会说dmidecode,这是经常预安装的,或者可以很容易地从发行版的存储库安装。

这将生成系统上所有硬件(包括序列号)的纯文本报告。

有一个很好的(虽然是商业的)解决scheme,完全是这样的(原始文本将是csv格式我相信),称为ISI快照: http : //www.isiisi.com/snapshot.htm

它会很快得到所有的信息。

我提到它是因为你说“如果有一个预先构build的解决scheme”….

编辑 :另外检查/ proc / cpuinfo和lsattr -El sys0

看看SpiceWorks 。 SpiceWorks使用WMI和SSH从Windows,Mac和Linux机器收集这些信息。 不是一个脚本,而是一个完整的解决scheme,包括一个本地数据库,你在这里寻找什么。 值得一看,至less。

我想你可以使用WMI来获取Windows信息,如果你有pipe理员权限,你可以远程获取信息。

对于Linux上的硬盘驱动器,您应该可以使用Smartmontools库中包含的smartctl之类的工具来获取所需的信息,例如,这是我的驱动器当前报告的内容:

 === 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数据库中的远程服务器。