Das LINQ-Beispiel von gerade eben erinnerte mich an ein Beispiel, dass mir mein Kollege Stefan erstellt hat. Damit kann man mittels WMI ebenfalls in einer sql-artigen Abfrage alle möglichen Dinge aus dem System erfragen. In dem untigen Beispiel wird für jeden im System installierten SQL-Server ein Fenster mit der Versionsnummer angezeigt.

Anleitung: Einfach GetVersion.vbs, kontrollieren, ob wirklich drin steht, was es soll, und dann in "getVErsion.vbs" umbenennen. Ausführen durch Doppelklick:

On Error Resume Next
set wmi = GetObject("WINMGMTS:\\.\root\Microsoft\SqlServer\ComputerManagement")
If err.number <> 0 THEN
MsgBox "WMI Klasse root\Microsoft\SqlServer\ComputerManagement nicht vorhanden – Es ist kein MS SQL Server 2005 installiert!"
Else
for each prop in wmi.ExecQuery("select * from SqlServiceAdvancedProperty where SQLServiceType = 1 AND PropertyName = 'VERSION'")
MsgBox prop.ServiceName & " " & prop.PropertyName & ": " & prop.PropertyStrValue, vbOKOnly, "SQL Server"
next
End If