I’m a support analyst\help desk technician by trade.
Here’s a little PowerShell script cobbled together over the years to harvest details of Windows client and\or server platforms:
Edit Note: Changed the original link from my personal OneDrive to Public GitHub. Props to TonyD for the suggestion. This repository contains a readme, sample results, the actual text file I send to or share with clients as well as the script (.ps1) file itself.
I use this script as part of my diagnostic process to streamline information gathering, minimize redundant communications, and enhance case note documentation. Saves me a buttload of time by eliminating guesswork about system architecture and reducing unnecessary communications to obtain details I should have had in the first place!
The script will extract, format, and write the following data elements into a text file named ‘System Inventory - .txt’ saved in the logged-on user’s Downloads folder:
- OS Details
- OEM Serial Number
- GPU specs
- Storage Capacity
- Optional Windows Features or Server Roles (contingent upon platform)
- ISP Details & External IP Addresses (both IPv4 & IPv6)
- Antivirus details
- PowerShell & .NET Framework versions
- Browser URL associations - ‘What did you say your default browser was?’
- Critical & Error events over the past 24 hours
- Updates & Hotfixes
So, how exactly do I use the script? Real basic:
- Share the script with the client
- Walk them through running the script
- Retrieve the results (if remotely assisting) or have the client send the System Inventory.txt file to me via email
- Post the client’s system inventory as an internal case note in whatever ITSM\CRM platform (SalesForce, ServiceNow, Remedy, etc) my shop is using
- Diagnose, reproduce, and fix the client’s issue
Would appreciate any suggestions and\or constructive criticism offered.