How to: Get Reports on MSIX/APPX App Inventory in SCCM
Managing an infrastructure doesn’t only require updating software, creating OS deployments, or applying GPOs (Group Policy Object).
Another important aspect that plays a major role in infrastructure management are: REPORTS. Particularly when making a decision about the infrastructure, having a reliable report is very convenient, so there are many of them present in SCCM (most recently known as MECM).
Although software reports are common, with the arrival of new technologies such as MSIX and APPX, getting the right reports could be a complicated process. To help you solve this obstacle, let's look into various options to create a report of MSIX and APPX packages in SCCM (MECM).
Something to note: The reports will differ between standard packages ( MSI/EXE) and the new MSIX/APPX. At this time, there's a lack of distinction between MSIX and APPX applications. In case this is needed, the only way to achieve this is to browse each application AppxManifest.xml and figure out which is which.
MSIX/APPX Pre-built report in SCCM
SCCM has a pre-built report that shows information related to MSIX/APPX apps that have been installed on client devices.
To access the report:
Custom Queries in SCCM for MSIX/APPX
If the default report is not suitable for your needs, SCCM also offers the WMI class SMS_G_System_WINDOWS8_APPLICATION to create custom queries.
Let’s have a look at two examples of how this WMI class can be used.
1. Custom Query Report: Get all MSIX/APPX apps
To get all the MSIX/APPX apps with the WMI class:
You have now created the query. This one shows all the distinct MSIX/APPX applications in the infrastructure with the following details:
- Application Name
- Family Name
- Full Name
When you execute the query, the output should look like this:
2. Custom Query Report: Provide the number of devices with MSIX/APPX apps installed
A common query that is helpful in managed infrastructures is finding the number of devices that have a specific application installed.
This can be easily found with MSIX/APPX apps. All you have to do is repeat the same steps mentioned above, but make a quick change on Step 6. When you reach Step 6, paste the following code:
select SMS_R_System.Name, SMS_R_System.Client from SMS_R_System inner join SMS_G_System_WINDOWS8_APPLICATION on SMS_G_System_WINDOWS8_APPLICATION.ResourceID = SMS_R_System.ResourceId where SMS_G_System_WINDOWS8_APPLICATION.ApplicationName = "microsoft.windowscommunicationsapps"
What we are doing is an inner join between the SMS_G_System_WINDOWS8_APPLICATION and SMS_R_System WMI classes on ResourceID.
We are then showing only the systems where an MSIX/APPX application with the name microsoft.windowscommunicationsapps is present.
In the end, when the query is executed, it should produce something like this:
Using Database Search to Gather Data in SCCM
If you want to go deeper and don’t want to use any of the SCCM pre-built reports or custom queries, you could always browse the SCCM database and perform queries directly through it.
For some, creating queries directly in the database is easier because it uses MS SQL, unlike SCCM queries which require WQL (WMI Query Language).
The SCCM database provides the v_GS_WINDOWS8_APPLICATION view, which outputs all of the needed details about MSIX/APPX applications from the infrastructure.
A simple query like:
Select * from v_GS_WINDOWS8_APPLICATION, shows all the inventoried applications in the database.
You can also create larger and more complex queries using this same option.
SCCM provides multiple options when it comes to getting data about MSIX/APPX applications in your infrastructure.
You can use pre-built reports, custom queries and even search the database yourself to get the information that you need.
We hope you found this information useful, we'd love to read your thoughts and suggestions in the comments below.