Creating a user collection with specific applications

Quino Neious 105 Reputation points
2024-12-12T12:37:11.0233333+00:00

What is the query to create a user collection that includes specific applications installed, and how can an upgrade be performed for this user collection?

Does anyone have insights on how to create this collection?

Microsoft Configuration Manager Application
Microsoft Configuration Manager Application
Microsoft Configuration Manager: An integrated solution for for managing large groups of personal computers and servers.Application: A computer program designed to carry out a specific task other than one relating to the operation of the computer itself, typically to be used by end users.
502 questions
Microsoft Configuration Manager
0 comments No comments
{count} votes

Accepted answer
  1. Sherry Kissinger 5,521 Reputation points
    2024-12-12T17:20:41.6466667+00:00

    There isn't one.

    Once an application is installed on a device, it is the device which has that application, not the user (based on inventory available to Configmgr).

    What you likely want to do is make device collections, where for example...

    Installed Software.ProductName = 'Widgets' and InstalledSoftware.ProductVersion < '2' (where I'm guessing that the intent is to target to that collection "install version 2 of Widgets, since they already have Widgets, but it is less than version 2, therefore they should upgrade).

    ===========

    You can additionally deploy Widgets version 2.0 to a user-based collection, and rely on Application Detection logic to confirm if "already done" or not. But that user-based collection would simply contain either the single usergroup for "YourDomain\DeservesWidgetsGroup", or individual usernames that you somehow magically elsewhere know 'these individuals deserve Widgets'.


1 additional answer

Sort by: Most helpful
  1. AllenLiu-MSFT 47,081 Reputation points Microsoft Vendor
    2024-12-13T02:14:12.96+00:00

    Hi, @Quino Neious

    Thank you for posting in Microsoft Q&A forum.

    You may create a collection with query like this:

    select * from SMS_R_User where SMS_R_User.UniqueUserName in
    (select
    SMS_G_System_SYSTEM_CONSOLE_USAGE.TopConsoleUser
    from
    SMS_R_System
    inner join
    SMS_G_System_ADD_REMOVE_PROGRAMS
    on
    SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId
    inner join SMS_G_System_SYSTEM_CONSOLE_USAGE
    on SMS_G_System_SYSTEM_CONSOLE_USAGE.ResourceID = SMS_R_System.ResourceId
    where
    SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%APPNAME%")
    

    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Add comment".


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.