To synchronously query the Microsoft System Center Configuration Manager 2007 client Windows Management Instrumentation (WMI), you use a ManagementObjectSearcher object.

To read a lazy property from a Configuration Manager 2007 object that is returned in a query, you get the object instance, which in turn retrieves any lazy object properties from the SMS Provider.

To perform a synchronous query

  1. Set up a connection to the Configuration Manager 2007 client WMI namespace. For more information, see How to Connect to the Configuration Manager Client WMI Namespace by Using System.Management.

  2. Create a ManagementObjectSearcher collection, and specify a WQL query.

  3. Iterate through the ManagementObjectSearcher collection to view the ManagementObject for each WMI object that is returned by the query.


The following C# code example queries for the single SMS_Client object that is on a Configuration Manager 2007 client.

For information about calling the sample code, see How to Call a WMI Class Method by Using System.Management.

C#  Copy Code
public void QueryObjects(ManagementScope scope)
		ManagementObjectSearcher s = new ManagementObjectSearcher
			((scope), new WqlObjectQuery("SELECT * FROM sms_client"));

		foreach (ManagementObject o in s.Get())
			// There is only one instance of SMS_Client, so this should enumerate only once.
			Console.WriteLine("Client version: " + o["ClientVersion"].ToString());
	catch (System.Management.ManagementException e)
		Console.WriteLine("Failed to make query: ", e.Message);

This example method has the following parameters:

Parameter Type Description



A valid connection to the SMS Provider.

Compiling the Code






Robust Programming

The exception that can be raised is System.Management.ManagementException.

See Also

Send comments about this topic to Microsoft.