1
0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__task-lalis/SOURCES/identPC.sh
Daniel Tartavel cea7e7d015 ça avance
2019-03-22 18:19:38 +01:00

115 lines
4.7 KiB
Bash
Executable File

#!/usr/bin/bash
######### Script d'etablissement de la fiche technique d'un PC #########
FILE="identification.txt"
usage()
{ echo ' Usage:'
echo ' -Argument 1: Entrer: p pour portable ou d pour desktop'
echo ' -Argument 2: Entrer: le numéro de série du PC'
echo ''
}
# test du nombre d'arguments < 2
#if [ "${#}" -lt 2 ]
#then usage
# exit 3
#fi
# test du type de PC (Portable ou Desktop)
if [ "${1}" = "p" ]
then echo '#*******************************************************#'
echo "# Portable numéro de série: ${2} "
echo '#*******************************************************#'
elif [ "${1}" = "d" ]
then echo '#*******************************************************#'
echo "# Desktop numéro de série: ${2} "
echo '#*******************************************************#'
fi
#*********** Identification PC *************
echo '' > $FILE
echo '/************** Identification PC **************/' >> $FILE
/usr/sbin/lshw -class system | sed -n '/description/p;/produit/p;/fabriquant/p;/numéro/p' >> $FILE
#*********** Identification BIOS *************
echo '' >> $FILE
echo ' /********** Identification BIOS **********' >> $FILE
/usr/sbin/dmidecode -t bios | sed -n '/Vendor/p;/Version/p;/Release/p;/Revision/p' >> $FILE
#*********** Identification CARTE MERE *************
echo '' >> $FILE
echo ' /********** Identification CARTE MERE **********' >> $FILE
/usr/sbin/lshw | grep -A 5 "description: Carte mère" >> $FILE
#*********** Identification CARTE GRAPHIQUE *************
echo '' >> $FILE
echo ' /********** Identification CARTE GRAPHIQUE **********' >> $FILE
/usr/sbin/lshw -class display | sed -n '/description/p;/produit/p;/fabriquant/p;/version/p' >> $FILE
#*********** Identification processeur *************
echo '' >> $FILE
echo ' /********** Identification processeur **********' >> $FILE
/usr/sbin/lshw -class processor | sed -n '/description/p;/produit/p;/fabriquant/p;/bits/p;/configuration/p' >> $FILE
#*********** Identification RAM *************
echo '' >> $FILE
echo ' /********** Identification RAM **********' >> $FILE
/usr/sbin/dmidecode -t memory | head -n 24 | sed -n '/Maximum/p' >> $FILE
echo '' >> $FILE
/usr/sbin/dmidecode -t memory | head -n 24 | sed -n '/Bank/p' >> $FILE
/usr/sbin/dmidecode -t memory | head -n 30 | sed -n '/Manufacturer/p;/Type/p;/Size/p;/Speed/p;/Serial/p' >> $FILE
echo '' >> $FILE
/usr/sbin/dmidecode -t memory | tail -n 11 | sed -n '/Bank/p' >> $FILE
/usr/sbin/dmidecode -t memory | tail -n 19 | sed -n '/Manufacturer/p;/Type/p;/Size/p;/Speed/p;/Serial/p' >> $FILE
#*********** Identification HDD *************
#echo '' >> $FILE
#echo ' /********** Identification HDD **********' >> $FILE
#/usr/sbin/lshw -class disk | head -n 13 | sed -n '/description/p;/produit/p;/fabriquant/p;/série/p;/taille/p' >> $FILE
#*********** Identification DVD *************
echo '' >> $FILE
echo ' /********** Identification DVD **********' >> $FILE
/usr/sbin/lshw -class disk | tail -n 14 | sed -n '/description/p;/produit/p;/fabriquant/p;/version:/p;/fonctionnalités:/p' >> $FILE
#*********** Identification réseau filaire *************
echo '' >> $FILE
echo ' /********** Identification réseau filaire **********' >> $FILE
/usr/sbin/lshw -class network | head -n 13 | sed -n '/description/p;/produit/p;/fabriquant/p;/numéro/p;/capacité/p' >> $FILE
#*********** Identification autre réseau *************
echo '' >> $FILE
echo ' /********** Identification autre réseau **********' >> $FILE
/usr/sbin/lshw -class network | tail -n 14 | sed -n '/description/p;/produit/p;/fabriquant/p;/numéro/p' >> $FILE
echo '' >> $FILE
echo ' /********** Identification USB et autre**********' >> $FILE
lsusb >> $FILE
#*********** Identification batterie *************
echo '' >> $FILE
echo ' /********** Identification Batterie **********' >> $FILE
/usr/sbin/lshw -class power | sed -n '/produit/p;/fabriquant/p;/capacité/p;/configuration/p' >> $FILE
echo '' >> $FILE
#*********** Test des disques durs *************
for DISK in `lsblk -dn -x NAME --output NAME`
do
echo '' >> $FILE
echo " /********** Test du disk #$DISK# **********" >> $FILE
/usr/sbin/smartctl -H /dev/$DISK| grep -c "PASSED"
if [ $? -ne 0 ]; then
/usr/sbin/smartctl -a /dev/$DISK >> $FILE
echo "############ Problème sur le disque $DISK ########################"
echo "############ Problème sur le disque $DISK ########################" >>$FILE
echo '' >> $FILE
else
/usr/sbin/smartctl -i /dev/$DISK >> $FILE
echo "############ Pas de problèmes détectés sur le disque $DISK ########################"
echo "############ Pas de problèmes détectés sur le disque $DISK ########################" >> $FILE
fi
done