Geräteliste mit Seriennummer generieren

Hallo zusammen,

gibt es eine Möglichkeit eine Liste der eingebundenen Geräte inkl. Seriennummer zu generieren und auszugeben? Der Export über OPSI oder die Konsole ist dort nur mit MAC-Adresse möglich.

Grüße

Julian

Weißt du ob/dass diese Seriennummer in OPSI irgendwo vorhanden ist?

Gruß

Nein, es gibt keine Spalte mit Seriennummer (welche ich einblenden könnte).
Ich konnte die Seriennummern bisher nicht finden. Vielleicht geht es per SSH-Befehl?
Eigentlich müsste das doch eine Softwareverteilung liefern können?

https://forum.opsi.org/viewtopic.php?t=2077
Hast du das schon gefunden? Hilft das vielleicht weiter?

Vermutlich ist das ne Herstellerspezifische Sache, befürchte ich.

Danke für den Hinweis.
So wie das aussieht muss der Befehl per SSH auf dem OPSI-Server ausgeführt werden?
Ich muss mich da langsam rantasten, da alles für mich neu ist und ich bisher nur opsi-configed auf dem Admin-PC verwendet habe. Ich denke eine Schulung für Administratoren wäre ganz gut.
Scheinbar bekommt man mehr Hardware-Informationen, wenn das „hwinvent“ Paket auf den Clients installiert ist.

1 „Gefällt mir“

Hallo! Ich hab mir das jetzt auch mal angeschaut. Mit dem Opsi-Befehl auditHardwareOnHost_getObjects kann man alle Daten auslesen.
Also: opsi-admin -dS method auditHardwareOnHost_getObjects [ ]
Am besten die Datei an der Shell in eine Datei schreiben.
(Sowas wie opsi-admin -dS method auditHardwareOnHost_getObjects [ ] > hardware.txt)
Fürs Filtern bitte in die Opsi-Doku schauen oder selbst was erfinden :wink:

Wenn man es z.B. mit Powershell laden möchte hab ich hier ein kurzes Skript zusammen gebastelt. Die Informationen sind am Schluss in der Variable $Depot und deren Inhalt auf h:\hardware.txt abgelegt. Einfach Powershell öffnen, Code starten, root-Passwort eingeben und die Datei erscheint nach ein paar Minuten.
Die Datei zu Filtern usw. ist natürlich eine andere Sache…

$plinkPath ="\\Backup\opsi_depot_rw\Update71\exe\plink.exe"
$opsiAPIurl ='https://10.1.0.2:4447/rpc'
$pass = Read-Host 'Bitte das root Passwort eingeben' -AsSecureString
$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($pass)
$OSpw = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($Ptr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeCoTaskMemUnicode($Ptr)
$Ptr = $false
$kdnUser = Invoke-Expression('echo y |&$plinkPath 10.1.0.1 -l root -pw $OSpw ”head /etc/kdn.user”') *>&1
if($kdnUser-match "Using keyboard-interactive authentication"){
    Write-Host "Zugriff auf den paedML-Server nicht möglich, falsches Passwort? Bitte Skript neu starten!"
}
$opsiSecret = Invoke-Expression('echo y |&$plinkPath 10.1.0.1 -l root -pw $OSpw ”head /etc/schoolopsiadmin.secret”')
Write-Host "$puffer Ihre MLI Nummer: " -NoNewline
Write-Host "$kdnUser`n" -ForegroundColor Magenta
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("schoolopsiadmin:$opsiSecret"))
$Headers = @{Authorization = "Basic $encodedCreds"}
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
$Depot = (Invoke-RestMethod -uri $opsiAPIurl -Headers $Headers -method post -body (ConvertTo-Json(@{ method = "auditHardwareOnHost_getObjects";params = @();id = 1 }))).result
Set-Content -Value $Depot -Path h:\hardware.txt
1 „Gefällt mir“

Danke für die sehr umfangreiche Lösung @J.Albani
Leider ist die .txt-Datei leer. Kann das an dem fehlenden „hwinvent“ Package liegen?