Click here to Skip to main content
12,756,447 members (33,369 online)
Click here to Skip to main content
Add your own
alternative version


28 bookmarked
Posted 17 Aug 2004

WQL DataProvider for ADO.NET

, 1 Sep 2004
Rate this:
Please Sign up or sign in to vote.
WQL DataProvider for ADO.NET


WQL DataProvider is an ADO.Net data provider, so you can use it just like usual MS SQL DataProvider, but for WQL (WMI + SQL = WQL). This DataProvider supports SELECT, ASSOCIATORS and REFERENCES queries. Doesn't support event queries.

How to use it..

using WQLData;
WQLConnection connection = new WQLConnection(
    server, doamin, user, password));
DataSet dataSet = new DataSet("WQLDataSet");
WQLDataAdapter adapter = new WQLDataAdapter(
    "SELECT * FROM Win32_LogicalDisk", WQLContext.Connection);
adapter.Fill(dataSet, "LogicalDisks");

Demo application - WQL Analyzer

Using "WQL Analyzer" you can :
  • browse classes, properties, qualifiers;
  • run WQL queries (locally or remotely);
  • save results as XML or HTML;
  • connect to remote computer;
  • export class description to XML or HTML;
  • automatically generate the "SELECT" query (double click on class name);

Some WQL Examples :

Query :

FROM Meta_Class 
WHERE __DYNASTY = "CIM_PhysicalCapacity" 

Result :


Query :

SELECT DeviceID, FileSystem, Size, FreeSpace, 
    Compressed, Description, MediaType
FROM Win32_LogicalDisk
WHERE MediaType = 12

Result :

C:NTFS12068872192185409536FalseLocal Fixed Disk12
D:NTFS12068872192185409536FalseLocal Fixed Disk12
O:NTFS12068872192185409536FalseLocal Fixed Disk12

Analyzer also supports ASSOCIATORS and REFERENCES queries. For example :

ASSOCIATORS OF {Win32_LogicalDisk.DeviceID="C:"}
WHERE ClassDefsOnly

REFERENCES OF {Win32_NetworkAdapter.DeviceID="0"} 
WHERE resultclass = Win32_NetworkAdapterSetting requiredQualifier = Dynamic

Note : Analyzer doesn't support Event queries

Current version support some extension (not supported in stantart WQL)

Invoke method :
CALL [\\server\root\cimv2:Win32_Process.Handle="2236"].Terminate(Reason=0)
Update property :
UPDATE Win32_Environment      
SET VariableValue = 'Hi2'      
WHERE __PATH='\\EPNL007\root\cimv2:Win32_Environment.Name="Test",

SELECT TOP 50 __PATH, Logfile, RecordNumber, EventType,InsertionStrings, 
  Message, SourceName, TimeGenerated
FROM Win32_NTLogEvent     
WHERE  Logfile = 'Application'

Order By :
SELECT __PATH, Caption, ExecutablePath, CreationDate,KernelModeTime, 
  ProcessId, ParentProcessId, Priority, ThreadCount, VirtualSize
FROM Win32_Process      

Run Query on remote computer

Export Classes descriptions to XML or HTML


You can configure the error logging in WQLAnalyzer.exe.config. Application uses log4net library for logging in.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Maxim Kazitov
United States United States
No Biography provided

You may also be interested in...

Comments and Discussions

Question2TB virtual disk Pin
nhchmg27-Jun-11 21:17
membernhchmg27-Jun-11 21:17 
GeneralCan't execute and build in on Windows 7 Pin
jeronevw2-Aug-10 9:38
memberjeronevw2-Aug-10 9:38 
GeneralLimitations with WQL query syntax Pin
daluu30-Jun-09 21:04
memberdaluu30-Jun-09 21:04 
Question__PATH In Query Pin
billz@edpi.com13-Sep-08 6:54
memberbillz@edpi.com13-Sep-08 6:54 
GeneralHelp me Pin
dharani24-Nov-04 0:36
memberdharani24-Nov-04 0:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170217.1 | Last Updated 2 Sep 2004
Article Copyright 2004 by Maxim Kazitov
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid