We here use Windows Powershell and Get-WMIObject. With this we can get pretty much everything you need to know. A few examples - in Powershell (downloaded at MS for free and runs/operates just like a dos window):
1. Gather Pretty much all system information (All)
gwmi win32_ComputerSystem -computer [COMPUTERNAMEORIPHERE]
2. Gather pretty much all BIOS information
gwmi win32_bios -computer [COMPUTERNAMEORIPHERE]
There's a ton you can do, and if it helps, it may be worth looking into Microsoft's Scritpomatic, which can automate most of these. With the aid of a VB Script against Active Directory, you can generate a list of all the computer names into a CSV and have it read in by the powershell:
const FileName ="C:\InventoryScripts\domaincomputers.csv"
set cmd = createobject("ADODB.Command")
set cn = createobject("ADODB.Connection")
set rs = createobject("ADODB.Recordset")
cn.open "Provider=ADsDSOObject;"
cmd.activeconnection = cn
set objRoot = getobject("LDAP://RootDSE")
cmd.commandtext = "Context") & ">;(objectCategory=Computer);" & _
"name,operatingsystem,operatingsystemservicepack, operatingsystemversion;subtree"
'**** Bypass 1000 record limitation ****
cmd.properties("page size")=1000
set rs = cmd.execute
set objFSO = createobject("Scripting.FileSystemObject")
set objCSV = objFSO.createtextfile(FileName)
q = """"
while rs.eof <> true and rs.bof <> true
objcsv.writeline(rs("name"))
rs.movenext
wend
objCSV.Close
cn.close
wscript.echo "Finished"