- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
PDQ Inventory is available in three modes: Free Mode, Pro Mode, and Enterprise Mode. This review is about the Enterprise Mode; when I talk about PDQ Inventory, I mean this edition. Check out this table to compare the features of the three modes.
PDQ Inventory 5
PDQ Inventory allows you to collect data from Windows XP SP3 machines or higher. Each managed computer must have at least .NET 4 installed. If PDQ Inventory detects that .NET 4 or higher is unavailable on the target machine, it can automatically install the .NET version that you specify in the preferences when the computer is scanned for the first time. Managed computers must have at least 1GB of RAM (2GB is recommend).
The computer where you installed PDQ Inventory also needs .NET 4 or higher and should have 2GB of memory or more. To be able to scan target computers, the PDQ Inventory computer must have access to File and Printer Sharing, the ADMIN$ share, and the service manager on the target computers. Make sure that Windows Firewall is configured accordingly on your target machines.
PDQ Inventory installs no agent on managed computers. On the machine where you run the inventory tool, a service will be installed that allows for scanning and scheduled reports.
Adding computers ^
PDQ Inventory supports three ways of adding computers to its database. You can add individual machines manually by specifying their names, import computer names from a text file, and read computer objects from Active Directory. If you import from a CSV file, you have to ensure that the first column contains the computer names.
Adding computers from Active Directory
Importing from Active Directory is fairly easy and flexible. You can select one ore multiple containers, include subtrees and remove individual computers before you tell PDQ Inventory to start scanning.
You can also enable the feature, Active Directory Sync. This can automatically add or delete computers in your Inventory database.
As mentioned above, PDQ Inventory does not install an agent on the target computers. However, to be able to retrieve detailed inventory data, it copies a small program to the managed computers that sends the information to the tool’s database.
Multiple types of scanners read data such as installed applications and hotfixes, certain product keys, registry data, services, files, and user and group data. Essentially, you can use PDQ Inventory to gather almost any bit of information about each computer in your network.
The inventory tool combines multiple scanners in Scan Profiles that you can run manually or at scheduled times. For instance, you could create a Scan Profile that retrieves all installed applications, product keys, and hotfixes.
Adding a Scan Profile
PDQ Inventory is delivered with a couple of preconfigured Scan Profiles that you can adapt to your work needs. Scheduled Scan Profiles collect data from all computers in your network; however, if you run a Scan Profile manually, you can select a collection of computers that you want to scan.
An important feature is the support of Wake on LAN. If PDQ Inventory receives no heartbeat from a PC (ICMP echo), it can start the machine remotely. This way, your inventory database will always be up to date even if computers are offline for some time. This also enables you to schedule Scan Profiles after work hours, so network performance doesn’t suffer and target computers won’t slow down as a result of an intensive scan of the entire disk.
PDQ Inventory organizes the computers in your database in Collections. A Collection is based on certain inventory characteristics and a computer can belong to multiple Collections. Five types of Collections exist: All Computers, Dynamic, Static, Active Directory, and Collection Library.
The All Computers Collection contains all machines that you added to PDQ Inventory’s database. These aren’t necessarily all computers in your network. Active Directory Collections reflect your directory structure. However, you will only see domains and containers that you added to PDQ Inventory.
Static Collections allow you to combine computers manually by name, whereas PDQ Inventory adds computers automatically to a Dynamic Collection if the machines meet certain conditions. The inventory tool comes with a few predefined Collections, such as Servers, Workstations, Memory, Microsoft Office, and Reboot Required.
Collections can have sub Collections. For instance, the Memory Collection organizes computers with more than 17GB, 4GB or less, 5GB to 8GB, and 9GB to 16GB. Defining your own Collection is easy; you can quickly define one with the help of PDQ Inventory’s filters, which I will discuss in the Reports section below.
Editing a Collection
The Collection Library is an online database of Collections that is constantly updated by Admin Arsenal, the maker of PDQ Inventory. Most useful are the Collections for popular applications and their version numbers.
For example, Admin Arsenal offers a Runtime Collection that contains filters for the different versions of Java, Flash, Adobe Air, and so on. Whenever a new version of these runtimes is released, Admin Arsenal updates the corresponding Collection in the library, and it automatically becomes available in your PDQ Inventory installation.
If you have many different applications in your network and you want to quickly get an overview of the machines that have a particular software version installed, the Collection Library saves you a lot of time compared to updating your Collections manually.
The Collections appear as a hierarchical tree on the left side of the tool’s user interface, which looks similar to File Explorer’s presentation of the file system. However, navigating in Collections works differently. If you click a directory in File Explorer, you only see the files of that particular folder. However, if you click a Collection in PDQ Inventory, the tool’s main pane can list all computers residing in a Collection and all its sub Collections. Thus, by drilling down in the Collection tree, the number of computers matching the criteria defined in the sub Collections gets smaller.
Drilling down in a Collection
For instance, you could have a Collection for workstations, which contains Collections for web applications. One of those Collections could be for web browsers, which contains Collections for Internet Explorer, Chrome, and Firefox. Each of these browser Collections could contain Collections of the different version numbers. If you click the Chrome Collection, PDQ Inventory will present a list of computers that have Chrome installed. If you then click a version number, you will see the computers that have this version of Chrome installed.
You can configure the columns in the main pane, which represent properties of the computers in a Collection list, in a similar way as you would in Outlook. You can remove or add columns with computer properties, rearrange the columns, sort according to a column, and even create groups based on columns. This way, you create yet another hierarchy in your Collections tree.
Computer Window ^
If the property you are looking for is not displayed in the table, double-clicking a computer opens the Computer Window, which lists all inventory data of this machine in an organized layout. One of the strengths of PDQ Inventory is the detail in which it dissects computer data. In the navigation bar, you’ll find numerous special inventory categories that other inventory tools lack. Examples of the more specific categories are Active Directory Groups, memory modules, and product keys.
I like that I can start one of my Scan Profiles right from the Computer Window if I want to see the latest data from the PC. “Prev Computer” and “Next Computer” icons allow you to skim through the computers in the Collection.
Displaying the hardware category in the Computer Window
Another nice feature of the Computer Window is that it allows you to manage some of the inventory properties. You can start and stop services, kill processes, and connect directly to shares on remote computers. The tool’s menu contains a couple of remote management tools, such as Computer Management, Remote Desktop, and Event Viewer. If the computer is offline, PDQ Inventory’s Wake on LAN feature enables you to remotely boot up the computer.
The only feature I miss here is the ability to access previous inventory states. If you want to keep an inventory history, you can print each category or export it to a CSV file. This will only capture information from an individual computer. Of course, it is also possible to export data from a collection. However, reports are a better way to externally store inventory data.
The easiest way to run a report is to right-click a Collection and then choose one of the predefined reports, such as Application Count, Hardware Devices, or Security Hotfixes. Alternatively, you can create your own report that you can then apply to a Collection or to all computers in your network. The Print Preview not only shows how the report would look on paper, it also allows you to export data in different formats, such as CSV, Excel, and PDF.
Displaying a Hardware Devices report
Creating a new report is fairly intuitive and won’t cost you much time. You start with a new report template or create a report that is based on a Collection. In the latter case, you can then refine the conditions that the template has to meet. Really cool is that this also works the other way around. That is, you can create a Collection that is based on the filters of the report.
To define a report, you first have to decide which columns it should contain. The first column can be one of the inventory categories that you know from the Computer Window. You can then add the other columns depending on the first column. For instance, if you select Hot Fix for the first column, you can add the computer name to the second column.
Defining a report
In the next step, you define the filters that allow you to further narrow the list of computers that will appear in the report. A Group Filter offers the options “all,” “any,” “not all,” or “not any,” which you can apply to a Value Filter. Essentially, Group Filters are logical operators.
You may be wondering what the difference is between “all” and “any” here. If you choose “all,” all Value Filters must apply to a computer in the report (or in the specific Group Filter); “any” means that at least one Value Filter has to match. Thus, we are talking about “logical and” and “logical or” here. A Value Filter allows you to compare an inventory category with a value you specify.
Creating a filter
The supported comparison operators leave nothing to be desired. You can even work with regular expressions here. If this is still not enough control, you can also create reports with SQL statements. Thus, no matter how big or complex your network is, you will always be able to pick out only the computers that you need for your report or Collection. If you often work with complex filters, you will like that PDQ Inventory enables you to copy filters between reports and even Collections. This can save you a lot of clicking.
This sophisticated granularity is particularly important if you work with Auto Reports, a new feature of PDQ Inventory 5 that is only available in Enterprise Mode. Auto Reports allows you to schedule reports and send them automatically to admins or managers in your organization. After you create a report, you can attach one or multiple Auto Reports to it.
Attaching a report to an Auto Report
You can choose a file name and path where PDQ Inventory will store the report, and you can assign multiple email recipients that will receive the report at a scheduled time. What I like is that an Auto Report can also include multiple reports. So, if you create a new report that you want to send to the same recipients of a particular Auto Report, you just add the new report and you are done.
PDQ Inventory is a powerful tool that can be used to collect software and hardware inventory data in PC networks of any size. On one hand, the tool is very easy to use, which makes it interesting for small organizations where admins are responsible for many different tasks and therefore don’t have much time to study longwinded documentation. On the other hand, PDQ Inventory can retrieve any thinkable information from a large number of computers, and the powerful filters allow admins to easily organize huge amounts of data.
PDQ Inventory works well together with PDQ Deploy, Admin Arsenal’s software deployment tool. With both tools combined, you get a complete systems management solution that only lacks OS deployment.
I found the ability to copy filters (the heart of any inventory tool) quite interesting. You can even share filters among different PDQ Inventory installations. In a way, you are then reusing a function as you would in a programming language.
I think PDQ Inventory demonstrates nicely how you can automate with a well-designed GUI. Of course, you can also collect inventory data and create reports with PowerShell. However, this won’t give you more flexibility. Even a couple of the most experienced DevOps would need years to create the level of automation that you get by just downloading PDQ Inventory. PDQ Inventory Enterprise costs $500 per admin and year. That's approximately the amount of money that a good company is willing to spend for free coffee per DevOp per year.