Whether it's for cost management or compliance reasons, the time eventually comes when you need to audit and document your company's network. Specifically, you may be tasked with gathering not only a full enumeration of all server and client computers but also their hardware and software details. Many systems administrators I know have lost sleep in fear of an audit in which they couldn't produce accurate license counts for desktop workstations.
Total Network Inventory (TNI) is a well-engineered piece of software whose aim is to (a) scan, (b) enumerate, and (c) report on your systems as comprehensively and efficiently as possible.
Deploying agent software is optional and rarely required: TNI can detect and analyze Windows, Linux, or UNIX hosts. For Windows, TNI employs Windows Management Instrumentation (WMI) and low-level access to collect hardware information. For Linux and FreeBSD UNIX hosts, TNI uses Secure Shell (SSH).
Let's take a closer look at this easy-to-use inventory management and control system.
TNI installation and initial configuration ^
The free (shareware) TNI version has three limitations:
- The program is disabled automatically 60 days after first launch
- You can scan and manage a maximum of 50 nodes
- The reports don't contain data for all properties
I installed TNI on one of my Windows Server 2016 domain member servers in less than one minute. This is a low-overhead product, for sure! This is a 32-bit, thick-client Windows application that uses a SQLite database for software accounting.
TNI does not install a resident agent when you install the program. However, TNI needs a Resident Agent for scanning devices remotely. The autostart service runs in the context of the Local System account by default.
At first launch, you'll need to undertake two initial setup tasks. First, you'll need to specify a storage location for your inventory metadata. I show you this dialog box in the following screenshot.
Second, you'll need to supply administrative credentials for the operating system platforms you want to include in your management pool. As you can see in the following figure, you can add a few different credential types, including Windows, Telnet, and SSH.
Scanning your network ^
In the TNI management console, navigate to the Scanner tab to set up your network scans. The scans can leverage the (in)famous nmap penetration testing and network troubleshooting tool, so you need to ensure that your inventory scanning is authorized on the network lest you trip off intrusion detection/prevention system alarms and suchlike.
In fact, you can actually instruct TNI to limit the aggressiveness of its nmap-powered port scans, as shown in the following screenshot.
You can actually perform asset scanning in several different ways. Check out the following annotated screenshot, and I'll walk you through them.
- A: Add entire IP subnets by specifying CIDR notation
- B: Optionally, you can deploy the agent service to network nodes
- C: Gives you complete control over scanning properties
- D: You can scan and re-scan subnets here
- E: You can tap into Active Directory as well
In addition, a variety of tasks can be added through Quick Add.
Software accounting ^
After you've performed a scan and let TNI identify your hosts, you can take management in a few different directions. Let's begin with software accounting. You'll need to purchase a TNI 3 Professional license to track license usage, but the Standard and Trial versions present a clear image of software publishers, titles, versions, and copies running. Here's a relevant screenshot from the TNI 3.4.0 administration console. Note that the Trial version also includes the functionality of the Professional version. There's a switch on the right side in Software accounting that allows you to see the differences between the versions.
In the previous screenshot, we can see that my server1 host has a MySQL instance installed. We can drill into the software accounting details to determine when the software was installed and obtain its licensing details (again, assuming you bought TNI 3 Professional). Notice that the current version of TNI can automatically detect only Microsoft (Windows and Office) license keys. License information for other software products has to be entered manually.
Configuration reporting ^
On the Viewer & reports tab, we can dive into hardware and software metadata for any managed nodes. Again, let me present you with an annotated screenshot so I can call out some important points:
The previous screenshot shows the results of a scan on my CentOS 7 Linux server. Of course, some hardware/software details will vary depending on the node OS.
- A: You can view asset details on different dates, assuming you've scheduled periodic scans to pick up changes
- B: Free text search makes it easier to isolate the data you need to see
- C: You can print basic or advanced reports
- D: Filter the view to inspect particular hardware or software categories, including enumerating virtual machines (VMs) on virtualization hosts
- E: Add comment metadata to inventory assets
The reporting functionality is robust. You can export reports to any of the following formats:
- Adobe PDF
- Plain text
- Rich text
- OpenDocument text
You can customize your asset reports to a limited degree; for instance, you can add corporate logo and branding metadata.
Basic systems management ^
Besides the hardware/software asset tracking functionality, you can actually use TNI to perform basic systems management. As you can see in the following screenshot, right-clicking a managed node opens up actions such as remote reboot and remote RDP.
TNI 3 licensing depends on (a) the edition and (b) the number of nodes you need to inventory. For example, it costs US$90 to license TNI 3 Standard for 25 nodes. That's super affordable, in my humble opinion! Softinventive lab includes one year of OS support with their permanent licenses.
All in all, I really enjoy Total Network Inventory, and have no problem recommending the solution to small-to-medium organizations who have the following requirements:
- Budget consciousness
- Need to inventory Windows and non-Windows systems
- No desire for a more robust (and potentially expensive) configuration management solution
- Need for simplicity