Seite 1 von 1
opsi-admin Methode für Mac-Adresse und Hostname
Verfasst: 16 Nov 2017, 15:10
von dropped91
Hallo,
gibt es eine Möglich mir eine Liste der Clients und dazugehörige Mac-Adresse auszugeben?
Das ganze ist ja im configed hinterlegt.
Ich habe eine Methode gefunden, um mir jeweils alle Mac's auszugeben:
opsi-admin -d method host_getObjects | grep "hardwareAddress" | cut -c 26-42
Und eine Methode um alle Clients auszugeben:
opsi-admin -dS method host_getIdents
Was ich gerne als Ausgabe in einer Datei hätte:
MAC-Adresse;Hostname
Hat da jemand eine Idee?
Beste Grüße
dropped
Re: opsi-admin Methode für Mac-Adresse und Hostname
Verfasst: 17 Nov 2017, 10:42
von n.wenselowski
Hi,
bei meinen
Versuchen mit jq neulich habe ich etwas ähnliches gemacht, nur dass ich statt der MAC den Wert von
lastseen ausgeben lasse.
Gruß
Niko
Re: opsi-admin Methode für Mac-Adresse und Hostname
Verfasst: 21 Nov 2017, 21:19
von GEI
Hallo,
Ich habe eine Methode gefunden, um mir jeweils alle Mac's auszugeben:
opsi-admin -d method host_getObjects | grep "hardwareAddress" | cut -c 26-42
...
Was ich gerne als Ausgabe in einer Datei hätte:
MAC-Adresse;Hostname
über eine Schleife? langsam, aber einfach...
Code: Alles auswählen
#!/bin/bash
PATH=/sbin:/bin/:/usr/sbin/:/usr/bin
MAILTO="opsi-admin@gei.de"
OPSICLI="opsi-admin -dS method"
for client in $($OPSICLI getClientIds_list) ; do
echo "$($OPSICLI getMacAddress $client);$client"
# echo "$($OPSICLI getHost_hash $client | grep hardwareAddress | cut -d'=' -f2 );$client"
done
Beide Varianten sind funktionabel, der Aufruf würde mit 'name.sh > mac-id.list' erfolgen.
Ich fand es früher mal sehr hilfreich, sich mit ''opsi-admin -dS method list" und einem anschließenden grep/less durch die über 470 Methoden zuwühlen... (siehe auch
http://download.uib.de/opsi4.0/doc/html ... cture-opsi )
Gruß aus BS
Detlef
Re: opsi-admin Methode für Mac-Adresse und Hostname
Verfasst: 24 Nov 2017, 16:34
von dropped91
Hi,
für alle die es interessiert:
final_file=mac.txt
target_path=/home/opsiproducts/generate_mac
opsi-admin -d method host_getObjects | grep -E 'hardwareAddress|ident' | awk '{print $3}' | sed 's/"//g' | sed 'N;s/\n//g' | sed 's/,/;/g' | sed 's/.$//' > $target_path/$final_file
Gruß
dropped