Laufende Windows-Rechner (SMB auf TCP/445) bestimmen:
Bash
#!/bin/bash
RED=$(printf "\033[31m")
GREEN=$(printf "\033[32m")
COLOR_RESET=$(printf "\033[39m")
SUBNET=10.2.34.
NAMES=(Adler Beich Biermann Gerber Ritter Schuster Gast)
HOSTS=(129 152 211 149 221 172 93)
for k in ${!NAMES[@]}; do
if nc -zw1 ${SUBNET}${HOSTS[$k]} 445 2>/dev/null; then
response="${GREEN}online${COLOR_RESET}"
else
response="${RED}offline${COLOR_RESET}"
fi
printf "%s\t%s\n" ${NAMES[$k]} "$response"
done
Alles anzeigen
Ich habe in diesem Fall die assoziativen Arrays von Bash 4.x nicht benutzt, weil diese die Reihenfolge der Schlüssel nicht erhalten.