Inventário de Hardware
Publicado por Alexandre Martins da Cunha (última atualização em 23/11/2018)
[ Hits: 7.561 ]
Download 1542877802.inventariohw3.4.sh (versão 2)
Precisei esses dias de um inventário de hardware (principalmente, quantidade de memória, quantidade de slots e quais em uso) e não achei nada que fosse aplicado direto pelo terminal, para rodar nas estações.
Eis a saída do mesmo:
=========================================================
= Informações de inventário - 20/02/2017 00:55 =
=========================================================
Nome do computador: quarto
1 - SISTEMA
1.1 Informações do Sistema Operacional:
- Arquitetura: x86_64
- Versão do Kernel: 4.9.0-0.bpo.1-amd64
1.2 Informações da Distribuição:
- Distribuição: Debian
- Versão: 8.7
- Codinome: jessie
2 - REDE
2.1-Informações Placa de Rede (eth0):
- Endereço IPv4: 192.168.1.12
- Endereço MAC: 1c:1b:0d:92:9d:8f
3 - HARDWARE
3.1 Processador
- Fabricante: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
- Modelo: Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
- Velocidade (MHz): 3655MHz
- Cache: 6144 KB
3.2 Memória
- Máximo Suportado: 64 GB
- Número de Slot(s): 4
- Quantidade Instalada: 7941MB
- Slot(s) em Uso: 8192
3.3 Discos
3.1- Disco sdb
- Tamanho : 2,7 TiB
- Tabela de partição : gpt
Partições:
- Nome : sdb1
- Tamanho : 3001GB
- Tipo : ntfs
3.1- Disco sdc
- Tamanho : 1,8 TiB
- Tabela de partição : msdos
Partições:
- Nome : sdc1
- Tamanho : 2000GB
- Tipo : ntfs
3.1- Disco sda
- Tamanho : 465,8 GiB
- Tabela de partição : msdos
Partições:
- Nome : sda1
- Tamanho : 367MB
- Tipo : ntfs
- Nome : sda2
- Tamanho : 126GB
- Tipo : ntfs
- Nome : sda3
- Tamanho : 126GB
- Tipo : btrfs
- Nome : sda4
- Tamanho : 248GB
- Tipo : ntfs
Versão 2 - Enviado por Alexandre Martins da Cunha em 22/11/2018
Changelog: Histórico:
#
# v1.0 2017-01-10, Alexandre Cunha:
# - Versão inicial
#
# v2.0 2017-02-09, Alexandre Cunha:
# - Acresentado suporte a discos
# - Acresentado suporte a partições
#
# v3.0 2017-02-20, Alexandre Cunha:
# - Programa reescrito do zero
# - Refinado o código
# - Uso de variáveis BD e funções(discos, particoes e interfacesRedes)
#
# v3.1 2017-03-20, Alexandre Cunha:
# - Pequenos Ajustes
#
# v3.2 2017-11-06, Alexandre Cunha:
# - Modificado o suporte a Rede para o Debian 9
#
# v3.3 2018-01-10, Alexandre Cunha:
# - Corrigido bug nos discos
#
# v3.4 2018-11-22, Alexandre Cunha:
# - Corrigido bug partição não formatada ou desconhecida
# - Alinhamento da variável BD a direita.
# Licença: GPL.
Download 1542877802.inventariohw3.4.sh
#!/bin/bash
#
# Inventário de Hardware.sh - Gera o inventário de Hardware
#
# Site : http://ittisolucoes.com.br
# Autor : Alexandre Cunha (Cunha A.M) <alexandremartinscunha@yahoo.com.br>
# Manutenção: Alexandre Cunha (Cunha A.M) <alexandremartinscunha@yahoo.com.br>
#
# -------------------------------------------------------------
# Este programa cria um arquivo com o nome da máquina data e hora, anexando os dados refernetes a configuração do hardware
# -------------------------------------------------------------
#
#
# Histórico:
#
# v1.0 2017-01-10, Alexandre Cunha:
# - Versão inicial
#
# v2.0 2017-02-09, Alexandre Cunha:
# - Acresentado suporte a discos
# - Acresentado suporte a partições
#
# v3.0 2017-02-20, Alexandre Cunha:
# - Programa reescrito do zero
# - Refinado o código
# - Uso de variáveis BD e funções(discos, particoes e interfacesRedes)
#
#
# Licença: GPL.
if [ $(id -u) != 0 ] ; then
echo "Você precisar ser root para rodar esse script"
exit 1 ;
fi
function interfacesRede(){
interfacesRede=`ifconfig | cut -d" " -f1 | grep -v "lo"`
numero=1
for interfacesNome in $interfacesRede
do
echo "2.$((numero++))""-Informações Placa de Rede ($interfacesNome):" >> $BD
echo " ""- Endereço IPv4: "`ifconfig $interfacesNome | grep 'inet end' | awk '{print $3}'` >> $BD
echo " ""- Endereço MAC: "`ifconfig $interfacesNome | grep HW | cut -c48-` >> $BD
echo "" >> $BD
done
}
function particoes(){
particoes=`fdisk -l | grep /dev/ | grep -v Disco | grep $1 | cut -d" " -f1 | cut -d"/" -f3`
numero=1
for particao in $particoes
do
echo " "" ""- Nome : " $particao >> $BD
capacidade=`parted /dev/$particao print | grep $particao | cut -d" " -f3`
tipo=`parted /dev/$particao print | grep -v File | grep -v Disk | grep -v model | grep -v Sector | grep -v Partition | grep -v model | cut -d" " -f14`
echo " "" ""- Tamanho : " $capacidade >> $BD
echo " "" ""- Tipo : " $tipo >> $BD
echo " " >> $BD
done
}
function discos(){
discos=`fdisk -l | grep Disco | cut -d" " -f2 | cut -d"/" -f3| sed 's/://g'`
numero=1
for disco in $discos
do
echo "3.$((numero++))""- Disco $disco " >> $BD
capacidade=`fdisk -l | grep Disco | grep -e $disco | cut -d" " -f3` >> $BD
escala=`fdisk -l | grep Disco | grep -e $disco | cut -d" " -f4 | sed 's/,//g'` >> $BD
echo " ""- Tamanho : "$capacidade $escala >> $BD
echo " ""- Tabela de partição : "`parted /dev/$disco print | grep "Partition Table" | cut -d" " -f3` >> $BD
echo " ""Partições:" >> $BD
echo " " >> $BD
particoes $disco
done
}
BD=`hostname`.$(date +%d-%m-%Y-%H:%M).log
echo "" >> $BD
echo "=========================================================" >> $BD
echo "= Informações de inventário - `date +'%d/%m/%Y %H:%M'` =" >> $BD
echo "=========================================================" >> $BD
echo "" >> $BD
echo " Nome do computador: `hostname`" >> $BD
echo "" >> $BD
echo "1 - SISTEMA" >> $BD
echo "" >> $BD
echo "1.1 Informações do Sistema Operacional:" >> $BD
echo " ""- Arquitetura: "`uname -m` >> $BD
echo " ""- Versão do Kernel: "`uname -r` >> $BD
echo "" >> $BD
echo "1.2 Informações da Distribuição:" >> $BD
echo " ""- Distribuição: "`lsb_release -i | cut -d: -f2` >> $BD
echo " ""- Versão: "`lsb_release -r | cut -d: -f2` >> $BD
echo " ""- Codinome: "`lsb_release -c | cut -d: -f2` >> $BD
echo "" >> $BD
echo "2 - REDE" >> $BD
echo "" >> $BD
interfacesRede
echo "3 - HARDWARE" >> $BD
echo "" >> $BD
echo "3.1 Processador" >> $BD
echo " ""- Fabricante: "`cat /proc/cpuinfo | head -n 31 | grep 'model name' | cut -d : -f2` >> $BD
echo " ""- Modelo: "`cat /proc/cpuinfo | head -n 31 | grep 'model name' | cut -d : -f2` >> $BD
echo " ""- Velocidade (MHz):" `cat /proc/cpuinfo | head -n 31 | grep 'cpu MHz' | cut -d : -f2 | cut -d . -f1`"MHz" >> $BD
echo " ""- Cache: "`cat /proc/cpuinfo | head -n 31 | grep 'cache size' | cut -d : -f2 ` >> $BD
echo "" >> $BD
echo "3.2 Memória" >> $BD
echo " ""- Máximo Suportado: "`dmidecode -t memory | grep 'Maximum Capacity'| cut -d : -f2` >> $BD
echo " ""- Número de Slot(s): "`dmidecode -t memory | grep 'Number Of Devices' | cut -d : -f2` >> $BD
echo " ""- Quantidade Instalada: "`free -m | grep 'Mem:' | awk '{print $2}'`"MB" >> $BD
echo " ""- Slot(s) em Uso: "`dmidecode -t memory | grep 'Size' | grep -v "No Module Installed" | cut -d" " -f2` >> $BD
echo "" >> $BD
echo "3.3 Discos" >> $BD
echo "" >> $BD
discos
echo ""
echo "Gerado Inventário $BD"
sleep 2
cat $BD
Ubuntu - Removendo kernels antigos
Script Backup ultimo arquivo criado em um diretorio feito TAR direto para DAT
Script para configurar Vivo 3G sem pppconfig e wvdial
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
How can I remove duplicate MSG files from my folders effectively? (0)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









