ConfigMgr Console Queries: Serial Number

To create a query in ConfigMgr, open the console and navigate to Monitoring > Queries. Queries allow you to run simple WQL queries again the database. I will illustrate how to make one by creating one that searches for a device serial number.

You can create the query by using the same information that is used to create collections.

Creating the Query

Select “Create Query” from the ConfigMgr ribbon. Give your query a name. You also have the option of limiting a query to a particular collection, either by specifying it directly, or prompting the user for it.

When you click “Edit Query Statement”, you are greeted with the same wizard that is using to construct collection queries:

This first screen is where you tell ConfigMgr what information to display. Since I am finding a computer name using the serial number, those are the two fields I have chosen. When you click the add button, you are greeted with the screen to pick the attribute:

Simply find the attributes that you want to display. If you’re writing a query that will return multiple objects, you want to set the “Sort” option on at least one of them so that you get a sorted list.

Next, we move to the criteria tab. Again, it functions just like building a collection:

Now, the big question here is how do we get this to prompt for a value. Here is what the serial number criteria looks like as a query without the prompt (I entered a value of 1 so that I could apply the query):

select SMS_R_System.Name, SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber

from  SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId

where SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber = “1”

To make it prompt, simply change the where clause after the equal sign to:

##PRM:SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber##

It’s basically what the where clause is looking for, bracketed by ## and PRM:, so our query becomes:

select SMS_R_System.Name, SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber 

from  SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId

where SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber = ##PRM:SMS_G_System_SYSTEM_ENCLOSURE.SerialNumber##

After that is set up, you can execute it and get your info:

Returns:

Share:

Facebook
Twitter
LinkedIn

Contact Us

Name
=
On Key

More Posts

Endpoint Management

How to Prevent a Stryker Attack

The Stryker breach did not happen because of advanced hacking. It happened because one privileged account was enough to take control. A compromised global administrator can: Shut down access Push malicious changes Wipe devices Lock users

Read More »