Find Installed Software using SCCM CMPivot

In this post I will show you how to find installed software using SCCM CMPivot. Using the CMPivot you can find specific software installed on computers and export the results as well.

I have been exploring the CMPivot queries from sometime and I find it very interesting. The amount of information that you can gather from remote machines is simply awesome. If you are interested in exploring CMPivot, you can check out all my ConfigMgr CMPivot queries.

Alright a bit of introduction about CMPivot if you are using it for the first time. CMPivot is a utility that provides access to real-time state of devices in your environment. When you run a CMPivot query, it immediately runs a query on all currently connected devices in the target collection and returns the results. To learn more about CMPivot, refer CMPivot for real data in Configuration Manager.

There are many alternate methods to find installed softwares from computers however using SCCM CMPivot makes it bit easier. Finding the installed softwares from computers is something that is done in every software audit. On corporate computers you are not allowed to install any new softwares unless it is approved by business. So basically you got the idea why finding the installed softwares from computers is critical.

Before you run the CMPivot query, ensure the devices are online. Now in some cases not all computers in the SCCM device collection are online due to users located in different time zones. The CMPivot query will attempt to run on all devices but in case the device is offline or not contactable, you would get to know about it in the query output.

Find Installed Software using SCCM CMPivot

Let’s find installed software using SCCM CMPivot query. Launch the SCCM console and go to Assets and Compliance > Overview > Device Collections. Choose the device collection against which you want to run the CMPivot. Right click the device collection and click Start CMPivot.

Find Installed Software using SCCM CMPivot
Find Installed Software using SCCM CMPivot

In the CMPivot tool, select the Query tab. If you run the InstalledSoftware query, it lists all the softwares installed on every computer in the device collection. The output is going to be definitely longer and you might have to export the list to a CSV file and review the results.

Find Installed Software using SCCM CMPivot
Find Installed Software using SCCM CMPivot

Find all Installed Softwares from Specific Computer with CMPivot

In some cases you need to find all installed softwares from a specific computer. If you want to find the installed softwares from a specific device or computer, then you use the below query.

InstalledSoftware | Where Device == 'device name'

The above query finds the installed softwares for the specified device. In addition to the product name, the output also contains the Publisher information, Product Version and Software Code.

Find Installed Software using SCCM CMPivot
Find Installed Software using SCCM CMPivot

Using CMPivot find Specific Installed Software on Specific Device

Often we are asked to find a specific installed software from a remote computer. Now that we know how to query installed softwares, it’s the matter of refining our above query and finding the product name.

Use the following query to find specific installed software (example Visual Studio Professional 2019) on specific computer.

InstalledSoftware | where Device == 'CORPPRO01' and ProductName == 'Visual Studio Professional 2019'

Make sure you replace the product name with one that you want to find and device name as well.

Find Specific Installed Software on Specific Device
Find Specific Installed Software on Specific Device

If you are not sure about the product name, you can change the operator to ProductName contains.

For example, if you want to find installed softwares that contain Studio in Product Name you can use the below query.

InstalledSoftware | where Device == 'CORPPRO01' and ProductName contains 'Studio'
Find Specific Installed Software on Specific Device
Find Specific Installed Software on Specific Device

Find Installed Software using Publisher Name with CMPivot

You can also run a SCCM CMPivot query to find installed software using Publisher name. If you are sure about the Publisher name use the == scalar operator otherwise you can use the Contains scalar operator.

For example, the below CMPivot query finds the installed software whose Publisher name contains VMware.

InstalledSoftware | where Device == 'CORPPRO01' and Publisher contains 'Vmware'
Find Installed Software using Publisher Name
Find Installed Software using Publisher Name

In addition to the above methods there are several alterations that you do in the query and find the installed software information. I hope this post helps in finding the installed softwares from your computers. If you have any questions, feel free to add them in comments section.

Need Assistance?

Send us a message or post your question in forums.

1 thought on “Find Installed Software using SCCM CMPivot”

  1. The last time I’ve tried it, it didn’t work because we allow to run only signed scripts in our environment. Not sure if there is a fix for this now? I basically use the Scrips option to run live queries and find the info I need.

    Reply

Leave a Comment