Antes que nada gracias a todos por responder.
Les cuento que estuve investigando un poco y me encontré con
WMI, que tiene clases de todo tipo como para lo que yo buscaba.
En un principio me pareció increible porque lo podía implementar muy fácil desde .NET y realmente parecía cubrir todas mis expectativas, así que me puse a codear el programita este via C# y por desgracia a medida que iba implementando los distintos métodos empecé a darme cuenta de que no conseguia recuperar el valor de muchas propiedades (volvian null) o en otros casos con información erronea.
En fin, estoy bastante confundido porque la implementación esta parece ser la via más directa y fácil de lograr lo que busco pero como decía no he podido sacarle provecho y no veo donde me estoy equivocando.
Acabo de descargar el paquete que menciona Delfino y creo que no me va a quedar otra que empezar de cero, lo peor es que de lo poco que he visto de Delphi ya no me acuerdo de nada, pero bueno, habrá que ponerse a leer
Gracias de nuevo y cualquier otro aporte es bienvenido.