I recently had to identify the easiest way to accurately query machines that had more than one piece of software installed, and make a collection from them. Lists information about the USB devices found on Configuration Manager clients through Asset Intelligence. HKLM:\software\microsoft\windows\current version\uninstall HKLM:\software\wow6432node\microsoft\windows\current version\uninstall. Also when using your script to uninstall Dell SupportAssist as a test I get the following error: Microsoft VBScript runtime error: Object not a collection. You can use membership rules to add specific attributes or a set of attributes from the list of WMI tables. 2023 Quest Software Inc. All rights reserved. The least important reason is that its not very fast. The view can be joined with other views by using the ResourceID column. More info about Internet Explorer and Microsoft Edge, https://msendpointmgr.com/2020/05/26/automated-3rdparty-patch-remediation-in-intune-with-azure-automation/. To expand on my comments in an alternate way to handle the problem at hand: The answer is to simply "expand" the dictionaries like pointed out by @TheIncorrigible. Your results show at the bottom. I'm not a VBS person by any stretch as you can tell! The view can be joined with other views by using the ResourceID column. The following query lists all files that have been metered through software metering rules and sorted first by NetBIOS name, and then by product name, and then by file name. Fill in Name field (e.g. You can also use the Windows Installer APIs to get this info as well. The view can be joined with other views by using the ResourceID column. Lists information about the memory found on Configuration Manager devices. The view can be joined with other views by using the ResourceID column. The view can be joined with other views by using the ResourceID column. SCCM Report of Most Installed Applications. Lists information about shared folders found on client computers. Lists information about parallel ports found on Configuration Manager clients. Navigate to \ Assets and Compliance \Overview\ Device Collections. Home SCCM Find Installed Software using SCCM CMPivot. Using indicator constraint with two variables, Minimising the environmental effects of my dyson brain. Lists information about the name and version of Configuration Manager client components found on clients. What is the difference between Applications and Software in the SCCM world? The issue now is the tons of variations of MSI GUID's for the same product (even the same version!). Lists the inventory classes and properties used by Configuration Manager hardware inventory. select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System where SMS_R_System.Name in (select SMS_R_System.Name from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName like "Microsoft Deployment Toolkit%") and SMS_R_System.Name in (select SMS_R_System.Name from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName like "Windows Assessment and Deployment Kit%") -. What would help is a dynamic query on installed applications just like we use for our requirement rule. If you enjoyed this post consider sharing it on, "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", # Excplicitly set default param to True if used to allow conditionals to work, # Check if running with Administrative privileges if required, "Finding all user applications requires administrative privileges", "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", # Retreive globally insatlled applications, # Run manual GC to allow hive to be unmounted, # Find installed applications installed globally and inside all user profiles (default behavior) and export to a CSV, # Find installed applications within user profiles, # Find installed applications within the current user profile. The v_GS_SoftwareFile and v_SoftwareProduct views are joined by the ProductID column, and the v_GS_LOGICAL_DISK and v_R_System views are joined to v_GS_SoftwareFile by using the ResourceID columns. Lists information about user profiles found on client computers including the path to the profile, roaming preferences and more. The view can be joined with other views by using the ResourceID column. Lists the server features that are installed on Windows Server computers. Lists information about the BIOS found on Configuration Manager clients. Lists information about the network item found on Configuration Manager clients, and organized by ResourceID and then by GroupID. Lists information about Windows Embedded devices, including the model name of the device. One which checks for App1 only and other which checks for App2 only. Why is this application still showing in the Resource Explorer list when if you look at the machine, it's clearly not installed? If you are interested in exploring CMPivot, you can check out all my ConfigMgr CMPivot queries. This includes information about remaining charge, reported errors, power management capabilities and more. In the results, see the column name. There are many products used to assemble installers that dont build Windows Installer packages. The view can be joined with other views by using the ResourceID column. Lists all system console usage information for Configuration Manager clients found through Asset Intelligence by polling the Windows System Security Event Log. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. Lists user account information for the modern Windows applications found on client computers. Is there a way to make this easier and quicker? This view can be joined with other views by using the ResourceID column. Both views can be joined together by using the GroupID column and joined to the v_ResourceMap discovery schema view by using the ResourceType column. I'm not the OP but my example would be the current Chrome vulnerability. The view can be joined with other views by using the ResourceID column. Queries such as "select * from Win32_Product where (name like 'Sniffer%')" require WMI to use the MSI provider to enumerate all of the installed products and then parse the full list sequentially to handle the "where" clause. We also need to update these versions. Many hardware inventory views are created in Configuration Manager by default, and many more can be enabled or creating classes by using the hardware inventory classes dialog box, accessible from client settings. Both come from hardware inventory though so until the systems perform their hardware inventory and send this to the site, the site is unaware of any changes and thus the collections can't reflect the changes and neither can resource explorer as resource How to handle a hobby that makes income in US, Recovering from a blunder I made while emailing a professor. I basically use the Scrips option to run live queries and find the info I need. Check out the Run Time (ms) taken to complete the Full evaluation of the Google Chrome collection, and the Run Time is 1218. The view can be joined with other views by using the ResourceID column. Are you talking The view is also listed and described in the Asset intelligence views in Configuration Manager topic. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. Start CMPivot - Get Installed Applications list using SCCM CMPivot Query 1 To get the application installed on the device or in the collection, You just need to type InstalledSoftware in the Query window of CMPivot and select Run Query. Avoid using All Systems or All Devices collection as Limiting Collection as explained in fix SCCM Limiting Collection Issue. The view can be joined with other views by using the ResourceID column. NOTE! The view can be joined with other views by using the ResourceID column. List information about the paging file on Windows computers. $object.SMS_G_System_ADD_REMOVE_PROGRAMS.Version .Guess it's a matter of taste :) thanks again, @Rakha For dictionary-like objects, they're equal. Choose the device collection against which you want to run the CMPivot. Lists information about the operating system found on Configuration Manager devices. This tutorial goes through creating a dynamic device collections based on a SQL Query and then targeting a software deployment for that group. Like many others, I too first reached for Win32_Product before I knew better. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. The view can be joined with other views by using the ResourceID column. This view can be joined with other views by using the ResourceID column. Lists information about CDROM devices found on Configuration Manager clients. if there's a way of gathering the GUID's of a product name on multiple machines in your Domain, The GUID though is simply part of the ARP info in the registry under HKLM\Software\Microsoft\Uninstall (for 64-bit apps on 64-bit OSes Hope it makes some sense. Alright a bit of introduction about CMPivot if you are using it for the first time. about creating a query with that in the query text? This view can be joined to other views by using the CollectionID column. In this case, its based on the Installed software (Google Chrome) of a particular Windows 10 or Windows 11 device. Find Installed Software using SCCM CMPivot. When you run a command such as Get-CimInstance Win32_Product it causes every single application installed via Windows Installer to perform a consistency check, and if any problems are found, it runs an automated and silent repair. NOTE! When you get queries right, then make the second collection limited to the first collection. To add to this, I always mentally rename the two inventory types: Hardware Inventory -> WMI & Registry Inventory. Once you in the settings, go to Hardware Inventory, click on "Set Classes". The view is also listed and described in the Asset intelligence views in Configuration Manager topic. It gives a lot of unnecessary overhead in our opinion, but we need it in our current situation, because we like to give the users control over the applications, they install from the Company Portal but we also like to keep the applications up to date once installed. I'm looking to deploy 64bit office to new devices or device missing office. Click the OK and OK buttons to complete the dynamic query creation process. Lists software shortcut information for Configuration Manager clients found through Asset Intelligence. Lists information about the Direct Memory Access (DMA) channels found on client computers. What exactly is wrong with that? The view also shows the WMI namespace, the class name and the name of the class as it will be displayed in Resource Explorer. PowerShell is nice and converts those entries into properties you can access that way. This view can be joined to other views by using the ResourceID column. Lists information about keyboards found on Configuration Manager clients. Using SQL queries it's very easy to find out the Office versions. Lists information about the unique system enclosures found on Configuration Manager clients, including serial number, SMBIOS asset tag, and so on. The view can be joined with other views by using the ResourceID column. As a general rule, each hardware inventory view has an associated inventory history view that starts with the v_HS_ view name. Interestingly, there were a few NVIDIA applications under the HKLM path that my function above pulled but were not present in the Get-Package output (NVIDIA Display Session Container, NVIDIA Display Session Container, NVIDIA Control Panel, and a bunch more). This can help visualize just how many systems have the software install. If you are just looking for the Guid for the ARP title you can find them with ARP data both on the workstation or within SCCM ARP sql view. The software inventory views are typically joined to other views by using the ProductID, FileID, and ResourceID columns. Lists information about the displays found on Configuration Manager devices. (You have to check the resource explorer as discussed above to get the version details of Chrome). There has been a growing trend of application vendors making installers that deploy to a users profile (%userprofile%\AppData). Lists information about the IDE controllers found on Configuration Manager clients. Returns details about any computer that contains a battery, such as a notebook computer. 1 1 3 Thread Query SCCM 2012 from C# to get applications installed/notinstalled remotely from SCCM Client with WMI archived 4a852621-717f-42d9-ad0c-267d4249c685 archived421 This forum has migrated to Microsoft Q&A. VisitMicrosoft Q&Ato post new questions. Required fields are marked *. As it's much easier to understand what the two actually do that way! Lists information about the power supply used by the Configuration Manager client device. I want to uninstall certain Dell Optimizer packages from all Dell systems via Intune with a script, but only for devices from dell that have the Optimizer installed. Lists information about the installed software applications on Configuration Manager clients found through Asset Intelligence. In your device collections membership rules select Query Rule. Calculating probabilities from d6 dice pool (Degenesis rules for botches and triggers). Lists information about Windows hotfixes installed on client computers. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); Integrate Third-Party Patch Management in Microsoft ConfigMgr and Intune. also tried Default. Also, its better to avoid using the option called Use Incremental updates for this collection.. Afterwards deploy to all those machines and in the script do the more complicated checks (could even check sccm execution history), and in case the program is detected as sccm installed or does match whatever your criteria is do nothing, in case it is not correct it. Recently we had the need to get a list of all software installed on a group of systems in a collection in ConfigMgr. The amount of information that you can gather from remote machines is simply awesome. If there is another solution to keep Available applications up to date we would be interested to hear what the solution would be. You can create a collection based on the application installed on Windows 11 or Windows 10 PCs. Lists information about the desktop settings on client computers including the icon size, wallpaper settings, fonts and more. Most of the client data within Configuration Manager is contained in one of the two hardware inventory schema views: v_GroupMap and v_GroupAttributeMap. For instance, the example will show define a query for all computers running Firefox 24.2.0 or lower version and creating a dynamic group from that query. Using this info we can put together a smarter function that pulls system wide installed applications, as well as those deployed across all user profiles. The view can be joined with other views by using the ResourceID column. Is it correct to use "the" before "materials used in making buildings are"? However note that these are the SQL queries and not the WQL queries. While I appreciate that you've taken time to create the above script it would still be useful to know if there's a way of gathering the GUID's of a product name on multiple machines in your Domain. Resource explorer is reporting back on physical hardware but no installed software is showing up. By running our first query, it will bring back a huge amount of data (depending on your environment size of course) - it will basically show everything that is in the Add/Remove Programs list for every machine in your Configuration Manager database. It doesn't matter if you use a package or application, both will run a batch file or script. SOLVED - SQL query to find the application installed | SCCM | Configuration Manager | Intune | Windows Forums Home Forums What's new Contact Log in Register This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register. is there a script for that.. i tried this but no luck SCCM Query to find two different applications installed. Open SCCM Console and navigate to Monitoring -> Overview -> Reporting -> Reports -> Create Report: In the Information page of Create Report Wizard: Choose SQL-based Report in Type field. The view can be joined with other views by using the ResourceID column. Open SCCM Admin console.Navigate to \Assets and Compliance\Overview\Device Collections.Right Click Device Collection node and select Create Device Collection. Lists information about the type, capabilities and status of serial ports inventoried on client computers. Lists workstation status information for Configuration Manager clients, including last hardware scan, default locale ID, time zone offset, and so on. Then you get all the installed software SCCM detects under that class. Lists information about the USB controllers found on Configuration Manager clients. Lists the encryptable disk volumes found on Windows computers. We also notice that during the ESP user phase all the applications are checked because they are required. My goal is to list 3 things : Computer name - Display Name ("Google Chrome") - Display Version (of that Google Chrome entry). mercer 2022 salary increase projections,