Help Center


Group Computers that are Missing Certain Apps

***Updated July 10, 2013***

Your task: Group all Microsoft Windows computers which are missing Adobe Reader XI.

Create a collection which looks like this. 

Note: When using collections where you show computers which don't have applications you want to be sure to account for computers which are in your Inventory DB but have never been scanned. Any computer which has never been scanned looks like it has no applications thus it would be a member of the collection. I like to add the Computer Never Scanned to False in these situations because computers in your Inventory which have never been scanned would otherwise show up in this collection.
Was this article helpful?
9 out of 10 found this helpful
Have more questions? Submit a request


  • 0

    This is very close to what I'm looking for, with a small difference. I want to make a large software compliance list. We have 8 or 9 programs that are standard for all machines. I want to create a single list that contains all computers that are missing even one package. From that list, I will drill down to individual packages and link to PDQ Deploy to get them compliant(so we don't over deploy unneeded software). I'm a little confused on what the logic would be for this, or if it's even possible. Currently, I have a Group filter of all computers in a certain AD group. From there, I have a "Not Any" group filter with 11 Application > Name > Contains filters. I'm going to purposefully make a -on-compliant PC and see if it successfully adds it. I'm unsure if it should be the Not Any or Not All group filter, or if I'm approaching this wrong altogether! 

  • 0

    Hi Matt,

    You don't want to put all of the application names under one group. This will probably give you what you want: (this collection contains computers that don't have Adobe Flash Player Plugin, or Silverlight or Google Chrome)



    This should cover your top-level collection. Since each sub group only has one filter each you could get away with Not All for the Sub Group matches as well. 


  • 0

    What about a group of computers that may have one of two phrases in the name (in this case "teen" and "public") but do not have a particular application installed? 

  • 0


    Just to make sure I understand your question: Using the example above do you want to know which computers don't have Chrome or Silverlight or Adobe Flash Plugin AND have the word teen or the word public in the computer name?

  • 0


    Yes - in my case I'm searching for another application, but Chrome should work fine.  So lets say, Computer name has EITHER "Teen" or "Public" and those returned do not have Chrome.


  • 0

    Gotcha. There are several different filters you can use to get what you are looking for. Try this one:



    Note: The "Not Any" group could, in this case, be set to "Not All". When a group only has ONE value filter there is no difference between ANY and ALL or NOT ANY and NOT ALL.

    **UPDATE** PDQ Inventory processes queries (collections and reports) Inside Out and Top to Bottom. In this example there is one Top Group Filter set to "All". This group has 3 sub-groups. Since these 3 groups are all on the same level they will be processed from the top down (as outlined in the image). The returned computers will be passed up to the top level (All) for final processing.



  • 0

    Thanks Shane, that seems to be what I needed.  Still trying to figure out the logic stuff - I'm using to using AND's and OR's

  • 0

    It might help to remember that an All is like an AND and an Any is like an OR. If you have a Group Filter set to All then every value filter inside that group must return true. If your Group Filter is Any then only one of the value filters must return true.

    Our goal in creating this logic was so that we could allow complex queries to be created without requiring that the user write SQL. Earlier versions of PDQ Inventory had simpler query creation but complex queries often required multiple collections.

    Maybe this will help. If you were going to write out the same query in SQL it would look something like this:

    SELECT c.Name FROM Computers c WHERE (lower(c.Name) LIKE '%teen%' OR lower(c.Name) LIKE '%public%')

    AND c.ComputerId NOT IN (SELECT ComputerId FROM Applications a WHERE lower(a.Name) LIKE 'google chrome%')

    AND NOT c.OSName = '';

  • 0

    Ok, I can't seem to get it to work properly. I'm hunting for all computers that don't have Microsoft Office Professional Plus installed.

    I'm using ALL, and I'm checking for computer that are online, and that never scanned is false. The final check is that the Application name does not contain Microsoft Office Professional Plus 2013. After it updates the members, there are some computers I can open and see that 2013 is installed. What might I be doing wrong?


  • 0

    Hi Timothy, Will you post  a screenshot of your filters?

Article is closed for comments.