1
0

Add dmidecode2dokuwiki.sh

This commit is contained in:
2026-01-22 10:27:00 +01:00
commit 0ac1a672b9

81
dmidecode2dokuwiki.sh Normal file
View File

@@ -0,0 +1,81 @@
#!/bin/bash
# Vereist root
if [[ $EUID -ne 0 ]]; then
echo "Dit script moet als root worden uitgevoerd."
exit 1
fi
# Helperfunctie
get_dmi_value() {
dmidecode -t "$1" | grep -m1 "$2" | cut -d: -f2- | xargs
}
# ======================
# SYSTEEMINFORMATIE
# ======================
MANUFACTURER=$(get_dmi_value system "Manufacturer")
PRODUCT_NAME=$(get_dmi_value system "Product Name")
SERIAL_NUMBER=$(get_dmi_value system "Serial Number")
# BIOS
BIOS_VERSION=$(get_dmi_value bios "Version")
BIOS_DATE=$(get_dmi_value bios "Release Date")
# CPU
CPU_MODEL=$(dmidecode -t processor | grep -m1 "Version:" | cut -d: -f2- | xargs)
CPU_SOCKETS=$(dmidecode -t processor | grep "Socket Designation:" | wc -l)
# Geheugen (GB)
MEMORY_MB=$(dmidecode -t memory | grep "Size:" | grep -v "No Module Installed" | awk '{sum += $2} END {print sum}')
MEMORY_GB=$((MEMORY_MB / 1024))
# ======================
# SCHIJFINFORMATIE
# ======================
DISKS=$(lsblk -d -o NAME,MODEL,SIZE,ROTA,TYPE | grep -E "disk")
DISK_COUNT=$(echo "$DISKS" | wc -l)
# ======================
# DOKUWIKI OUTPUT
# ======================
cat <<EOF
^ Eigenschap ^ Waarde ^
| Hostname | $(hostname -f) |
| ip address | $(ip address|grep "inet "|cut -d " " -f 6|grep -v 127.0) |
| Fabrikant | $MANUFACTURER |
| Productnaam | $PRODUCT_NAME |
| Serienummer | $SERIAL_NUMBER |
| BIOS-versie | $BIOS_VERSION |
| BIOS-datum | $BIOS_DATE |
| CPU-model | $CPU_MODEL |
| CPU-sockets | $CPU_SOCKETS |
| Totaal geheugen | ${MEMORY_GB} GB |
| Aantal schijven | $DISK_COUNT |
^ Schijf ^ Model ^ Grootte ^ Type ^
EOF
# ======================
# SCHIJFINFORMATIE
# ======================
DISKS=$(lsblk -d -P -o NAME,MODEL,SIZE,ROTA,TYPE)
DISK_COUNT=$(echo "$DISKS" | grep -c 'TYPE="disk"')
while read -r LINE; do
eval "$LINE"
[[ "$TYPE" != "disk" ]] && continue
if [[ "$NAME" == nvme* ]]; then
DISK_TYPE="NVMe"
elif [[ "$ROTA" == "0" ]]; then
DISK_TYPE="SSD"
else
DISK_TYPE="HDD"
fi
echo "| /dev/$NAME | ${MODEL:-Onbekend} | $SIZE | $DISK_TYPE |"
done <<< "$DISKS"