Aufgrund wiederkehrender Notwendigkeit aus dem
SQL-Server direkt auf Systeminformationen zugreifen zu müssen, habe ich beschlossen da ganze einmalig möglichst umfassend umzusetzen.
Als universellste Lösung erschien es mir über eine Extended Stored Procedure (xp_wmiv3) auf
WMI durchzugreifen.
In der derzeitigen Version wird noch auf eine Feldtypisierung verzichtet, alle Spalten kommen als Charfelder.
In einer Desktopversion für Clientdatasets habe ich die Typisierung bereits umgesetzt, wenn für xp_wmiv3 Interesse bestehen sollte würde ich dies nachrüsten.
Die
DLL's für 32-bit und 64-bit können hier
http://bummisoft.de/download/XP_WMI.zip heruntergeladen werden.
Installation per:
Code:
EXEC sp_addextendedproc xp_wmiv3, '<Your Path>\XP_WMIV3_DLL.dll'
Deinstalltion per:
Code:
EXEC sp_dropextendedproc xp_wmiv3
Beispielaufrufe:
Code:
exec xp_wmiv3 'SELECT * FROM Win32_Volume'
exec xp_wmiv3 'SELECT * FROM CIM_Userdevice where Name like "%HID%"'
Create table #tmp(Domain varchar(255),Name varchar(255),Sid varchar(255))
insert into #tmp Exec xp_wmiV2 'SELECT Domain,SID,Name FROM Win32_UserAccount where Status ="OK"'
Select * from #tmp
Drop Table #tmp