generell ist es natürlich möglich Skripte zu schreiben die all Deine Rechner abklappern und Seriennummern einsammeln, solange diese vorhanden sind.
Es ist nicht generell so, dass jedes Gerät seine Seriennummer irgendwie dem Windows System verfügbar macht. Eigentlich macht das fast keine Hardware.
Mainboards und USB-Massenspeicher sind da die Ausnahmen.
Wenn Du die Seriennummer nicht im Gerätemanager findest, wird das Gerät auch keine liefern.
Hier mal ein Beispiel wie man an Seriennummern von Laufwerken kommt:
ForEach ($Device in $Devices){
gwmi win32_volume | Select-Object DriveLetter,SerialNumber
}
Die Seriennummer vom BIOS ist z.B. so zu bekommen:
gwmi win32_bios | fl SerialNumber
Dafür müssen aber wie gesagt die Geräte die SN liefern und Du musst wissen wo diese Informationen sind.
Eventuell kannst Du mit dem WMI-Explorer suchen wo Du die SN findest.
https://github.com/vinaypamnani/wmie2/releases
Die Beispielskripte sind recht einfach dann mit einer Schleife zu versehen und mit AD-Anbindung kann man dann auch Clients aus dem AD abfragen und dann entsprechende Seriennummern einsammeln.
Einfacher geht das natürlich mit z.B. einem SCCM. Aber auch hier. Der SCCM kann nur Informationen sehen, die auch da sind ;)