PowerShell PC Inventory

Wanted to reach out to the PS collective for any ideas on how to implement a solution to the inventory idea that I have.

My company provides I.T. support for a number of different clients/Companies with different types of network topologies, domain types and PC workgroups, etc…

One of our issues is keeping an accurate record of PC inventory. I have been creating scripts that can either run on a domain or single PC and then we can gather those inventory files and import into a single spreadsheet, database, web site, etc.

We are looking to automate this process a bit and looking towards how Nagios works where we install a single service on a server and it reports back information about the server. Now, Nagios is more of a server monitoring tool where when a threshold is hit, the service will trigger an event, which will send us an email of high CPU utilization, disk space, etc…

The idea is, if I can have an inventory tool run as a service on a server/machine, it would allow us keep an accurate record of inventory by letting the machine report home rather than having to remotely connect to a LARGE array of servers, all with different domain credentials, and then run scripts. Seems more manageable to have a single service running on a device especially with laptops which might not be in the office at the time the inventory script is run.

My idea is just to create a basic inventory script (Get-WMIobject -class win32_computersystem), which exports to an html or json file and then somehow get that file to a central server (SSh, FTP, or via API) to then process the data.

I wanted to reach out to see if anyone has already done something like this, or maybe have a better idea or think this is a bad idea because of X, Y, Z.