Encontrando fabricante de hardware, modelo e número de série?

7

Gostaria de encontrar o fabricante, modelo e número de série de várias máquinas Windows (XP, Vista, 2003, 2008) e Linux (Ubuntu, Debian, Fedora) através de uma solução de software.

Atualmente, nosso inventário de hardware está desatualizado, por isso, gostaria de obter uma maneira rápida e rápida de obter essas informações por meio de uma solução de software (não é necessário abordar todos os computadores para ler o adesivo).

Eu gostaria de roteirizar isso de forma ideal, não exigiria nenhum aplicativo de terceiros, se idealmente ele seria independente, por isso é facilmente transportável.

Alguma ideia de como isso pode ser feito melhor? Se houver uma solução pré-construída (livre) idealmente, eu gostaria que ela fosse reportada em texto bruto ou em um banco de dados MySQL. Idealmente, uma pequena ferramenta autônoma, eu não quero instalar coisas em cada PC. Como mencionado acima, estou perfeitamente feliz em fazer o script usando ferramentas de sistema operacional pré-construídas. Eu sei que isso é possível, já que vi outros aplicativos relatando essas informações (embora em pacotes massivos com outras coisas que eu não preciso, por exemplo, Spiceworks).

    
por Adam Gibbins 05.05.2009 / 23:02

6 respostas

5

Para o Windows, você pode usar um script PowerShell rápido para finalizar o WMI, algo assim:

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
}

Se você alimentar um arquivo de texto listando todos os seus computadores, assim:

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

você vai acabar com uma boa tabela de computadores e detalhes de hardware. Se você precisar arquivar os dados, use o cmdlet export-csv para despejar a saída diretamente em um arquivo.

    
por 14.05.2009 / 19:33
6

Para o Linux, eu diria dmidecode, que é muitas vezes pré-instalado ou pode ser facilmente instalado a partir do repositório da distribuição.

Isso gerará um relatório de texto simples de todo o hardware do sistema, incluindo números de série.

    
por 05.05.2009 / 23:08
3

Existe uma solução excelente (embora comercial) que faz exatamente isso (o texto bruto seria o formato csv, eu acredito), chamado ISI Snapshot: link

Ele receberá toda essa informação e muito rapidamente.

Eu mencionei porque você disse "se houver uma solução de pré-compilação" ...

Editar : Verifique também / proc / cpuinfo e o lsattr -El sys0

    
por 05.05.2009 / 23:08
1

Dê uma olhada no SpiceWorks . A SpiceWorks usa WMI e SSH para coletar essas informações de máquinas Windows, Mac e Linux. Não é um script, mas uma solução completa, incluindo um banco de dados local para o que você está procurando aqui. Vale a pena dar uma olhada pelo menos.

    
por 06.06.2009 / 20:35
0

Acho que você pode usar WMI para obter informações sobre o Windows, pode obter informações remotamente se você tiver privilégios de administrador.

    
por 06.05.2009 / 00:32
0

Para discos rígidos no Linux, você deve ser capaz de usar uma ferramenta como o smartctl incluído na biblioteca smartmontools para obter as informações que deseja Por exemplo, isso é o que meu disco informa atualmente:

=== 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

A partir dessa informação, você pode facilmente fazer o script para enviá-lo de volta usando o netcat para um servidor remoto que o adiciona em um banco de dados MySQL.

    
por 06.05.2009 / 02:29