CMPivot Query find missing InstalledSoftware

Scott Craig 21 Reputation points
2021-04-28T23:14:03.697+00:00

If I query
InstalledSoftware | where SoftwareCode == '{C1198F10-5A16-4E9A-98B4-7554CC262ACC}'

It will list all device that has this Software Code.

If I query
InstalledSoftware | where SoftwareCode != '{C1198F10-5A16-4E9A-98B4-7554CC262ACC}'

It lists all other Installed Software except {C1198F10-5A16-4E9A-98B4-7554CC262ACC}.

Is there a way to display only devices that are missing {C1198F10-5A16-4E9A-98B4-7554CC262ACC}?

Microsoft Configuration Manager
No comments
{count} votes

Accepted answer
  1. Amandayou-MSFT 10,941 Reputation points
    2021-04-29T08:53:27.59+00:00

    Hi @Scott Craig ,

    We could try to use the following query to achieve it:

    installedsoftware
    | where SoftwareCode != '{C1198F10-5A16-4E9A-98B4-7554CC262ACC}'
    | distinct Device


    If the response is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


3 additional answers

Sort by: Most helpful
  1. Garth Jones 2,071 Reputation points
    2021-05-01T13:01:41.65+00:00

    Is there a reason why you are not using the builtin reports for this? You do know this will cause a network load.

    No comments

  2. Scott Craig 21 Reputation points
    2021-05-17T18:06:40.21+00:00

    Sorry, I didn't get notified there was responses.

    I haven't found a good report to show me missing installation that wasn't installed through a deployment. The software is preinstalled from another group with a fat image.

    But the answer Amanda has provided worked for me. Thank you Amanda.

    Regards,
    Scott

    No comments

  3. Polk, Carl 81 Reputation points
    2021-06-28T19:24:20.997+00:00

    Yea waiting for inventory to come back for the report to work takes awhile depending on your setttings. In CMPivot you can use a join and bounce it off piece of software you know is on every computer. I used this one to find computers missing certain piece of McAfee. I know all my have config manager but you can whatever company wide piece of software.

    InstalledSoftware | where ProductName like 'configuration Manager Client'
    | join kind=leftouter (InstalledSoftware | where productName like 'McAfee Endpoint Security Threat Prevention')
    | where isnull(ProductName1)
    | project Device

    Hope this helps

    No comments