Levantamento detalhado de hardware

As melhores opções divididas entre um software multiplataforma e os recursos nativos de cada sistema para realizar o levantamento detalhado de hardware em um laboratório que consigam ler as tabelas DMI (Desktop Management Interface) do BIOS/UEFI.

1 – Sugestão de Software: OCSI Inventory NG ou GLPI

Se você busca uma solução profissional para inventário de rede (com suporte a Windows e Linux), o GLPI (com o agente GLPI-Agent) é o padrão da indústria.

  • Vantagens: Funciona em ambos os sistemas, detecta detalhes profundos (número de slots, tipo de RAM, barramentos PCIe) e centraliza tudo em uma interface web.
  • Relatório: Permite exportar tabelas completas de todos os computadores do laboratório para PDF ou Excel de uma só vez.

2 – Levantamento via Recursos Nativos

Se você prefere não instalar um servidor de inventário e quer extrair as informações diretamente de cada máquina, utilize os comandos abaixo.

No Windows (PowerShell / CMD)

O Windows possui o msinfo32(GUI), wmic ou Get-CimInstance (Terminal).

  • Para a Placa-mãe:
    • Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer, Product, SerialNumber, Version | Format-Table
    • wmic baseboard get manufacturer, product, version, serialnumber /format:list
  • Para Slots de Memória (Quantidade e Tipo):
    • Get-CimInstance Win32_PhysicalMemoryArray | Select-Object MemoryDevices, @{n=”MaxCapacityInGB”;e={$_.MaxCapacity / 1MB}}
    • Get-CimInstance Win32_PhysicalMemory | Select-Object BankLabel, Capacity, Speed, ConfiguredClockSpeed, DeviceLocator | Format-Table
    • wmic memphysical get memorydevices, maxcapacity
    • wmic memorychip get devicelocator, capacity, speed, configuredclockspeed, manufacturer /format:list
  • Para Slots de Expansão (PCI/PCIe):
    • Get-CimInstance Win32_SystemSlot | Select-Object SlotDesignation, CurrentUsage, Description | Format-Table
    • wmic sysslot get slotdesignation, currentusage, description

Como gerar PDF:

  1. Pressione Win + R, digite msinfo32 e dê Enter.
  2. Vá em **Arquivo > Exportar** (salva como .txt) ou **Arquivo > Imprimir** e selecione “Microsoft Print to PDF”.

Outros comando para estudar:

  • pnputil
  • dxdiag
  • systeminfo
  • Get-PhysicalDisk

No Linux (Terminal)

No Linux, a ferramenta mais completa é o `dmidecode`, que lê diretamente o hardware.

  • Informações da Placa-mãe:
    • sudo dmidecode -t baseboard
  • Slots de Memória e Capacidade Máxima:
    • sudo dmidecode -t memory
  • Slots de Expansão (PCIe):
    • sudo dmidecode -t slot

Como gerar PDF:

  1. A forma mais limpa é usar o comando `lshw`, que já possui saída em HTML (que você pode imprimir como PDF no navegador): sudo apt install lshw -y && sudo lshw -html > hardware.html
  2. Depois, abra o arquivo `hardware.html` no Chrome/Firefox e use o atalho `Ctrl + P` para **Salvar como PDF**.

3 – Resumo de Comandos Úteis

ComponenteComando Windows (CMD/PS)Comando Linux (Terminal)
Placa-mãewmic baseboard get productsudo dmidecode -t 2
Processadorwmic cpu get namelscpu
RAM (Slots/Tipo)wmic memorychip list fullsudo dmidecode -t 17
Slots Expansãowmic path win32_bus get devicenamesudo dmidecode -t 9

Dica de Ouro:

Para um levantamento rápido e visual em máquinas individuais sem instalar nada complexo, o software CPU-Z (Windows) e o CPU-X (Linux) são idênticos e mostram abas específicas para “Mainboard” e “Memory”. No Windows, o CPU-Z gera um relatório em texto/HTML que pode ser impresso em PDF.

Para compilar as informações sobre levantamento de hardware em ambientes Windows e Linux, utilizei como base as documentações oficiais das ferramentas de gerenciamento de sistemas (WMI para Windows e DMI para Linux), além dos manuais de softwares de código aberto amplamente utilizados para inventário de TI.

4 – Scripts

Para Windows

Script PowerShell: Gerador de Inventário de Hardware:

# Define o caminho do arquivo de saída
$reportPath = "$env:USERPROFILE\Desktop\Inventario_Hardware.html"

# Estilo CSS para o relatório (Melhorado para leitura técnica)
$style = @"
<style>
    body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 30px; background-color: #f0f2f5; color: #333; }
    h1 { color: #1a3a5a; border-bottom: 3px solid #1a3a5a; padding-bottom: 10px; }
    h2 { background-color: #1a3a5a; color: white; padding: 8px 15px; border-radius: 5px; margin-top: 30px; }
    table { border-collapse: collapse; width: 100%; background: white; margin-bottom: 20px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
    th { background-color: #2c3e50; color: white; padding: 12px; text-align: left; text-transform: uppercase; font-size: 0.9em; }
    td { padding: 10px; border-bottom: 1px solid #eee; }
    tr:hover { background-color: #f1f1f1; }
</style>
"@

# 1. Coleta de dados da Placa-mãe
$baseboard = Get-CimInstance Win32_BaseBoard | 
             Select-Object Manufacturer, Product, Version, SerialNumber | 
             ConvertTo-Html -Fragment -PreContent "<h2>Informações da Placa-Mãe</h2>"

# 2. Coleta de Slots de Memória (Capacidade Máxima Suportada)
$memPhysical = Get-CimInstance Win32_PhysicalMemoryArray | 
               Select-Object MemoryDevices, @{Name="Capacidade Máxima (GB)"; Expression={[Math]::Round($_.MaxCapacity / 1MB, 0)}} | 
               ConvertTo-Html -Fragment -PreContent "<h2>Capacidade Física da Placa (Slots)</h2>"

# 3. Detalhes dos Pentes de Memória Instalados
# Nota: Usamos SMBIOSMemoryType para identificar DDR3/DDR4 corretamente
$memChips = Get-CimInstance Win32_PhysicalMemory | 
            Select-Object DeviceLocator, 
            @{Name="Capacidade (GB)"; Expression={[Math]::Round($_.Capacity / 1GB, 0)}}, 
            @{Name="Velocidade (MHz)"; Expression={$_.Speed}},
            @{Name="Fabricante"; Expression={$_.Manufacturer}} | 
            ConvertTo-Html -Fragment -PreContent "<h2>Pentes de Memória Instalados</h2>"

# 4. Slots de Expansão (PCI/PCIe) - Corrigido
$pciSlots = Get-CimInstance Win32_SystemSlot | 
            Select-Object SlotDesignation, CurrentUsage, Description | 
            ConvertTo-Html -Fragment -PreContent "<h2>Slots de Expansão (PCI/PCIe)</h2>"

# 5. Informações do Gabinete e Chassi
$systemEnclosure = Get-CimInstance Win32_SystemEnclosure | 
                   Select-Object Manufacturer, @{Name="Tipo de Chassi"; Expression={$_.ChassisTypes}} | 
                   ConvertTo-Html -Fragment -PreContent "<h2>Informações do Gabinete</h2>"

# Montagem do arquivo final
$htmlBody = @"
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Inventário de Hardware - $(hostname)</title>
    $style
</head>
<body>
    <h1>Relatório de Levantamento de Hardware</h1>
    <p><strong>Hostname:</strong> $($env:COMPUTERNAME)</p>
    <p><strong>Gerado em:</strong> $(Get-Date -Format "dd/MM/yyyy HH:mm:ss")</p>
    <hr>
    $baseboard
    $memPhysical
    $memChips
    $pciSlots
    $systemEnclosure
</body>
</html>
"@

# Salva o arquivo com codificação UTF8 para evitar erros de acentuação
$htmlBody | Out-File $reportPath -Encoding utf8

Write-Host "---------------------------------------------------"
Write-Host "Relatório gerado com sucesso!" -ForegroundColor Cyan
Write-Host "Local: $reportPath" -ForegroundColor Green
Write-Host "---------------------------------------------------"

Para Linux

Script Bash: Gerador de Inventário Linux

#!/bin/bash

# Define o arquivo de saída
OUTPUT_FILE="relatorio_hardware.html"

# Estilo CSS para o relatório
STYLE="
<style>
    body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 40px; background-color: #1a1a1a; color: #e0e0e0; }
    h1 { color: #00bcff; border-bottom: 2px solid #00bcff; padding-bottom: 10px; }
    h2 { color: #f39c12; margin-top: 30px; background: #333; padding: 10px; border-left: 5px solid #f39c12; }
    pre { background-color: #2d2d2d; border: 1px solid #444; padding: 15px; border-radius: 5px; overflow-x: auto; color: #9cdcfe; font-size: 14px; }
    .timestamp { font-size: 0.9em; color: #888; }
</style>
"

# Início do HTML
echo "<html><head><meta charset='UTF-8'><title>Relatório de Hardware Linux</title>$STYLE</head><body>" > $OUTPUT_FILE
echo "<h1>Relatório de Levantamento de Hardware - Linux</h1>" >> $OUTPUT_FILE
echo "<p class='timestamp'>Gerado em: $(date '+%d/%m/%Y %H:%M:%S')</p>" >> $OUTPUT_FILE

# 1. Informações da Placa-mãe
echo "<h2>Informações da Placa-mãe</h2><pre>" >> $OUTPUT_FILE
sudo dmidecode -t baseboard >> $OUTPUT_FILE
echo "</pre>" >> $OUTPUT_FILE

# 2. Slots de Memória e Capacidade Máxima
echo "<h2>Slots de Memória e Capacidade Máxima</h2><pre>" >> $OUTPUT_FILE
sudo dmidecode -t memory >> $OUTPUT_FILE
echo "</pre>" >> $OUTPUT_FILE

# 3. Slots de Expansão (PCIe)
echo "<h2>Slots de Expansão (PCIe)</h2><pre>" >> $OUTPUT_FILE
sudo dmidecode -t slot >> $OUTPUT_FILE
echo "</pre>" >> $OUTPUT_FILE

# Fim do HTML
echo "</body></html>" >> $OUTPUT_FILE

echo "Concluído! O relatório foi gerado em: $OUTPUT_FILE"

Ilustrações

SVG REPO
Disponível em: https://www.svgrepo.com/svg/366188/hardware-detect
Acesso em: 05 mai. 2026.

Referências

MICROSOFT – Computer System Hardware Classes
Disponível em: https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/computer-system-hardware-classes
Acesso em: 05 mai. 2026.

SAVANNAH – Projeto Dmidecode
Disponível em: https://www.nongnu.org/dmidecode/
Acesso em: 05 mai. 2026.

DIE – Linux man page
Disponível em: https://linux.die.net/man/8/dmidecode
Acesso em: 05 mai. 2026.

EZIX – Hardware Lister (lshw)
Disponível em: https://project.ezix.org/wiki/HardwareLiSter
Acesso em: 05 mai. 2026.

Rolar para cima