I use this script (Powershell) in order to gather information about a PC to be registered in my maintain system inspired on the New Delhi PowerShell User Group and helped by consulting reference on SS64:
$Date = Get-Date -format "yyyyMMdd"
$ComputerName = (Get-Item env:\Computername).Value
$FolderName = $Date + $ComputerName
new-item -path . -name $FolderName -type directory
$ExportFile = ".\" + $FolderName + "\installedsoft.txt"
Get-WmiObject -ComputerName $ComputerName -Class Win32_Product | select Name | Out-File $ExportFile
$ExportFile = ".\" + $FolderName + "\licences.html"
.\ProduKey.exe /shtml $ExportFile
$ExportFile = ".\" + $FolderName + "\cpuz"
.\cpuz\cpuz_x32.exe -html= $ExportFile
$ExportFile = ".\" + $FolderName + "\logicalDisk.txt"
Get-WmiObject win32_logicalDisk -ComputerName $ComputerName | select DeviceID,VolumeName,@{Expression={$_.Size /1Gb -as [int]};Label="Total Size(GB)"},@{Expression={$_.Freespace / 1Gb -as [int]};Label="Free Size (GB)"} | Out-File $ExportFile
$ExportFile = ".\" + $FolderName + "\systemInfo.txt"
systeminfo.exe | Out-File $ExportFile
$ExportFile = ".\" + $FolderName + "\mac.txt"
getmac | Out-File $ExportFile
It depends on CPUZ and ProduKey executables on the same folder.