Since there has been a bit of interest lately of getting System information into different formats lately I thought I'd post a variation on this script.

This one does not gather the software information but simply puts in some of the user and hardware information.

This is just an example which can be altered to easily fit what it is you're wanting to put into the file.

Break On
Dim $SO,$File,$Excel,$Report
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')
$SO=SetOption('NoMacrosInStrings','On')

$Excel = ReadValue('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Excel.exe','')
If Not $Excel Quit 1 EndIf
$File = '%TEMP%\' + @USERID + '_' + @WKSTA + '.XLS'

If Exist($File)
DEL $File
EndIf

Global $Admin,$Ram,$FreeSpace,$ComputerMfg,$ComputerModel,$MyBIOSInfo,$Serial
$Admin = IIf(InGroup(@WKSTA+'\'+SidToName('S-1-5-32-544')),'Yes','No')
$RAM = MemorySize()
$FreeSpace = DiskSpace(,1)
$ComputerMfg = WMIQuery("Manufacturer","Win32_ComputerSystem")[0]
$ComputerModel = WMIQuery("Model","Win32_ComputerSystem")[0]
$MyBIOSInfo = GetBIOSInfo()
$Serial = $MyBIOSInfo[3]

SendToXLS($File)

If Exist($File)
$Report = $Excel+CHR(32)+$File
RUN $Report
EndIf
Exit 1

Function SendToXLS($Output)
Dim $Excel, $Workbook, $Row, $App, $AF, $Error
$Excel = CreateObject("Excel.Application")
If $Excel
$Excel.DisplayAlerts = 0
$Workbook = $Excel.Workbooks.Add(-4167)
If $Workbook
$Workbook.ActiveSheet.Rows(1).Columns(1).Value = "DATE"
$Workbook.ActiveSheet.Rows(1).Columns(1).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(1).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).RowHeight = 12.75
$Workbook.ActiveSheet.Rows(1).VerticalAlignment = 2
$Workbook.ActiveSheet.Rows(1).HorizontalAlignment = -4131
$Workbook.ActiveSheet.Rows(1).Columns(2).Value = "COMPUTER"
$Workbook.ActiveSheet.Rows(1).Columns(2).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(2).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(3).Value = "IP"
$Workbook.ActiveSheet.Rows(1).Columns(3).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(3).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(4).Value = "MAC"
$Workbook.ActiveSheet.Rows(1).Columns(4).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(4).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(5).Value = "USERID"
$Workbook.ActiveSheet.Rows(1).Columns(5).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(5).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(6).Value = "FULLNAME"
$Workbook.ActiveSheet.Rows(1).Columns(6).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(6).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(7).Value = "ADMIN"
$Workbook.ActiveSheet.Rows(1).Columns(7).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(7).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(8).Value = "OS"
$Workbook.ActiveSheet.Rows(1).Columns(8).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(8).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(9).Value = "SP"
$Workbook.ActiveSheet.Rows(1).Columns(9).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(9).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(10).Value = "CPU"
$Workbook.ActiveSheet.Rows(1).Columns(10).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(10).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(11).Value = "SPEED"
$Workbook.ActiveSheet.Rows(1).Columns(11).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(11).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(12).Value = "MEMORY"
$Workbook.ActiveSheet.Rows(1).Columns(12).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(12).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(13).Value = "FREESPACE"
$Workbook.ActiveSheet.Rows(1).Columns(13).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(13).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(14).Value = "MFG"
$Workbook.ActiveSheet.Rows(1).Columns(14).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(14).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(15).Value = "MODEL"
$Workbook.ActiveSheet.Rows(1).Columns(15).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(15).Font.Bold = -1
$Workbook.ActiveSheet.Rows(1).Columns(16).Value = "SERIAL"
$Workbook.ActiveSheet.Rows(1).Columns(16).Interior.Color = &EED2BD
$Workbook.ActiveSheet.Rows(1).Columns(16).Font.Bold = -1
$Row = 2
$Workbook.ActiveSheet.Rows($Row).Columns(1).Value = @Date
$Workbook.ActiveSheet.Rows($Row).Columns(2).Value = @WKSTA
$Workbook.ActiveSheet.Rows($Row).Columns(3).Value = Join(Split(@IPADDRESS0,' '),'')
$Workbook.ActiveSheet.Rows($Row).Columns(4).Value = @ADDRESS
$Workbook.ActiveSheet.Rows($Row).Columns(5).Value = @UserID
$Workbook.ActiveSheet.Rows($Row).Columns(6).Value = @FullName
$Workbook.ActiveSheet.Rows($Row).Columns(7).Value = $Admin
$Workbook.ActiveSheet.Rows($Row).Columns(8).Value = @ProductType
$Workbook.ActiveSheet.Rows($Row).Columns(9).Value = @CSD
$Workbook.ActiveSheet.Rows($Row).Columns(10).Value = Trim(@CPU)
$Workbook.ActiveSheet.Rows($Row).Columns(11).Value = @MHz
$Workbook.ActiveSheet.Rows($Row).Columns(12).Value = $Ram
$Workbook.ActiveSheet.Rows($Row).Columns(13).Value = $FreeSpace
$Workbook.ActiveSheet.Rows($Row).Columns(14).Value = $ComputerMfg
$Workbook.ActiveSheet.Rows($Row).Columns(15).Value = $ComputerModel
$Workbook.ActiveSheet.Rows($Row).Columns(16).Value = $Serial
; This line adds a hyperlink into the worksheet if wanted
; $= $Workbook.ActiveSheet.Hyperlinks.Add($Workbook.ActiveSheet.Range("D1"),"http://www.winzip.com",,"WinZip", "WinZip Home Page")
$AF= $Workbook.ActiveSheet.Columns(1).AutoFit
$AF= $Workbook.ActiveSheet.Columns(2).AutoFit
$AF= $Workbook.ActiveSheet.Columns(3).AutoFit
$AF= $Workbook.ActiveSheet.Columns(4).AutoFit
$AF= $Workbook.ActiveSheet.Columns(5).AutoFit
$AF= $Workbook.ActiveSheet.Columns(6).AutoFit
$AF= $Workbook.ActiveSheet.Columns(7).AutoFit
$AF= $Workbook.ActiveSheet.Columns(8).AutoFit
$AF= $Workbook.ActiveSheet.Columns(9).AutoFit
$AF= $Workbook.ActiveSheet.Columns(10).AutoFit
$AF= $Workbook.ActiveSheet.Columns(11).AutoFit
$AF= $Workbook.ActiveSheet.Columns(12).AutoFit
$AF= $Workbook.ActiveSheet.Columns(13).AutoFit
$AF= $Workbook.ActiveSheet.Columns(14).AutoFit
$AF= $Workbook.ActiveSheet.Columns(15).AutoFit
$AF= $Workbook.ActiveSheet.Columns(16).AutoFit
$AF= $Workbook.ActiveSheet.Select
$Workbook.ActiveSheet.Name = "Sys Info " + @WKSTA
Endif
$AF = $WorkBook.SaveAs($Output)
$Workbook = 0
$Excel.Quit()
$Excel = 0
Endif
EXIT @ERROR
EndFunction


Function DiskSpace(optional $drive,$format)
Dim $objWMIService, $sWQL, $colDrives, $objDrive
If Not $drive
$drive='%WINDIR%'
EndIf
$format=Val($format)
If $format<5
$format=IIf($format=1,1024,IIf($format=2,1024.0*1024,IIf($format=3,1024.0*1024*1024,IIf($format=4,1024.0*1024*1024*1024,1))))
$diskspace=Cdbl(GetDiskSpace($drive))/$format
$diskspace=Val($diskspace)
Else
$objWMIService=GetObject('WinMgmts:root/cimv2')
$sWQL = "Select Size, FreeSpace FROM Win32_LogicalDisk WHERE Name='"+Left($drive,2)+"'"
$colDrives=$objWMIService.ExecQuery($sWQL)
For Each $objDrive in $colDrives
$diskspace=Cdbl($objDrive.FreeSpace)/Cdbl($objDrive.Size)*100
$diskspace=Val($diskspace)
Next
EndIf
$objWMIService=0
Exit @ERROR
EndFunction

Function WMIQuery($sWhat, $sFrom, Optional $sComputer, $sWhere, $x, $root)
Dim $sQuery, $objEnum, $sValue, $sItem, $TMP, $SystemSet, $, $objInstance
If Not $sComputer $sComputer="." EndIf
If InStr($sComputer,'\') $sComputer=Right($sComputer,InStrRev($sComputer,'\')) EndIf
If Not $root $root="\root\cimv2" EndIf
$sQuery = "Select " + $sWhat + " From "+ $sFrom
If $sWhere And $x $sQuery = $sQuery+" Where "+$sWhere+" = '"+$x+"'" EndIf
$SystemSet = GetObject("winmgmts:{impersonationLevel=impersonate}!\\"+$sComputer+$root)
If @ERROR Exit Val("&"+Right(DecToHex(@ERROR),4)) EndIf
$objEnum = $SystemSet.ExecQuery($sQuery)
If @ERROR Exit Val("&"+Right(DecToHex(@ERROR),4)) EndIf
For Each $objInstance in $objEnum
If $objInstance
$=Execute("$"+"sValue = $"+"objInstance."+$sWhat)
If VarType($sValue) & 8192
For Each $sItem in $sValue $tmp=$tmp+'|'+Trim($sItem) Next
Else
$tmp=$tmp+'|'+Trim($svalue)
EndIf
EndIf
Next
$WMIQuery = Split(SubStr($tmp,2),'|')
$SystemSet=0
Exit Val("&"+Right(DecToHex(@ERROR),4))
EndFunction

Function GetBIOSInfo()
Dim $sComputer, $WMIService, $BIOSItems, $BIOSName, $BIOSVersion, $SMBIOSVersion
Dim $Item, $SerialNumber, $Manufacturer, $BIOSArray[4]
$sComputer = ''
$WMIService = GetObject('WinMgmts:root/cimv2')
$BIOSItems = $WMIService.ExecQuery( "Select * from Win32_BIOS where PrimaryBIOS = true", , 48 )
For Each $Item in $BIOSItems
$BIOSName = Trim($Item.Name)
$BIOSVersion = Trim($Item.Version)
$SMBIOSVersion = Trim($Item.SMBIOSBIOSVersion)
$SerialNumber = Trim($Item.SerialNumber)
$Manufacturer = Trim($Item.Manufacturer)
Next
$BIOSArray[0]=$BIOSName $BIOSArray[1]=$BIOSVersion $BIOSArray[2]=$SMBIOSVersion $BIOSArray[3]=$SerialNumber
$BIOSArray[4]=$Manufacturer
$GetBIOSInfo=$BIOSArray
EndFunction