PDQ Inventory Filters: Advanced Usage & Examples

Purpose

You wish to understand how to use and combine advanced filters in PDQ Inventory's Dynamic Collections and Reports.

Resolution

This guide will cover advanced collection and report filtering for the Registry, Files & Directories, and PowerShell Scanner.

For an introduction to using Filters in PDQ Inventory, see this article: PDQ Inventory Filters: Usage & Examples.

Matching Filters and Columns

In PDQ Inventory Dynamic Collections and Reports, the filter column will match the columns of the data that has been scanned. Once data has been scanned in PDQ Inventory, creating a Dynamic Collection or Report from that data is as simple as knowing what columns contain what data.

Registry Scanner results showing the PDQ Deploy protocol registry key with the value Mode = Server on a scanned computer.

Registry Collections & Reports

Registry Collections and Reports filter computers using data gathered by a Registry Scanner. Once your computers have been scanned, the results appear in the Registry tab of each computer in PDQ Inventory. To build a Dynamic Collection or Report from that data, match every column present in the scanned Registry data to a corresponding Dynamic Collection Value Filter, which ensures the Collection's accuracy. This data comes from a Registry Scanner, so you'll need one scanning your computers first; see PDQ Inventory Registry Scanner: Usage & Examples to create one.

The below example will create a Dynamic Collection, for all computers that have been scanned with the Registry Scanner that contain the Value Server for the Value Name Mode in the Protocol Registry Key, by matching the columns in the Value Filters with the columns in the scanned Registry data.

Highlighted filter column fields and matching scanner result columns used to build Dynamic Collection filters.

To create a Dynamic Collection or Report of computers that do not have the Registry Value that was scanned for, add two additional Group Filters to the Dynamic Collection; one Not All Group Filter to evaluate the Registry Value Filters and another All Group Filter that includes two new Value Filters; one Value Filter for Computer > Never Scanned > is False and another Value Filter for Scans > Profile > Contains > [Name of Registry Scan Profile]. Leave the top-level All Group Filter in place. This will ensure the computers that have never been scanned with the specific Registry Scanner won't be added to the Collection.

Registry Scanner filter fields highlighted, showing how the Hive, Path, Value Name, and Value columns map to the Registry Scanner results.

Files & Directories Collections & Reports

Files & Directories Collections and Reports use data collected by a Files & Directories Scanner. Configure the Value Filters to match the file and/or directory details returned by the scan. The example below finds computers with Example.txt in C:\Users\Public\Desktop. Be sure to run a Files & Directories Scanner against your target computers before using these filters. See PDQ Inventory Files & Directories Scanner: Usage & Examples to learn how to create one.
 

Collection filters configured to identify computers with matching files or directories found by a File and Directory Scanner.

To create a Dynamic Collection or Report of computers that do not have the scanned file or directory, keep the top-level All group filter and add two additional group filters:

  • A Not All group filter that contains the Files & Directories value filters.
  • An All group filter that contains:
    • Computer > Never Scanned > Is False
    • Scans > Profile > Contains > [Files & Directories Scan Profile Name]

This configuration excludes computers that have never been scanned by the specified Files & Directories Scanner.

Dynamic Collection filters excluding matching file scan results and computers that have never been scanned.

PowerShell Scanner Collections & Reports

PowerShell Scanner Collections and Reports use data returned by a PowerShell Scanner. Create filters using the columns from the scanner's output in the PowerShell tab. The example below uses the Get-LocalUser scanner to identify computers where the built-in Administrator account is disabled.
 

PowerShell Scanner results displaying collected data returned from a PowerShell scan on a target computer.

Was this article helpful?