

The only other variable you may want to change is $DoNotLoadOfflineProfiles. If you change the name of $wmiCustomClass, you will need to modify the report so it queries the correct view. The SSRS report I will provide queries against. Make sure the name you choose does not already exist in the Configuration Manager database. Whatever this variable is set to, is the name of the view that will be created in the Configuration Manager database. The most important variable is $wmiCustomClass. The report will be included in the download at the end of this post.īefore getting into the steps to implement the solution, I wanted to point out the five (5) variables in the PowerShell script you can change. I also created a custom SSRS Report so the client could actually see the data in an easily readable format. Once it was in WMI, I extended the MECM Hardware Inventory to read in this data. This list was then added to a custom WMI class. My solution was to create a PowerShell script that read HKEY_USERS to gather the list of installed applications.

How do you inventory applications that are stored in a user's profile? Microsoft Endpoint Configuration Manager (SCCM/MECM) does not inventory user applications because the registry entries are stored in HKEY_CURRENT_USER, not HKEY_LOCAL_MACHINE Microsoft Teams is also a user based application. This is because Zoom is a user based application, meaning it is installed in the user's profile in the AppData folder, and not in Program Files. When I checked the SCCM/MECM inventory, it did not show Zoom installed on any client, even though users were running it. Zoom is not an approved application for the client. Recently I was in a meeting with a client and we were discussing users that had installed Zoom on their machine.
