Currently have the below script

Code:
const HKEY_CURRENT_USER = &H80000001
const HKEY_LOCAL_MACHINE = &H80000002
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
strComputer = "."
Set StdOut = WScript.StdOut
Dim username, Model, serial, asset, hdd, manuhdd, manu
Dim colIPResults, objFile, objFSO, objNIC, objWMI, objWSHNetwork, strAddresses, strIPAddress, strWQL, strComp, osVer
Dim strRAM
dim filesys, filetxt
dim newfolder
Dim usbPath
Dim spVer
Set objNetwork = CreateObject("Wscript.Network")
Set filesys = CreateObject("Scripting.FileSystemObject")
username = objNetwork.username
strComputer = objNetwork.ComputerName
usbPath = Replace(WScript.ScriptFullName, WScript.ScriptName, "")

Sub DestroyObjects()
If IsObject(objWMI) Then Set objWMI = Nothing
If IsObject(objWSHNetwork) Then Set objWSHNetwork = Nothing
End Sub


Set objWSHNetwork = CreateObject("WScript.Network")
Set objWMI = GetObject("WinMGMTS:root\cimv2")
strWQL = "SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'True'"
Set colIPResults = objWMI.ExecQuery(strWQL)
For Each objNIC In colIPResults
For Each strIPAddress in objNIC.IPAddress
If strAddresses = "" Then
strAddresses = strIPAddress
Else
strAddresses = strAddresses
End If
Next
Next


If strAddresses ="0.0.0.0" Or strAddresses ="" or strAddresses = "undefined" Then
    strAddresses = "No Connection Detected or invalid ip address"
Else
    strAddresses = strAddresses
End If

DestroyObjects()

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48)
For Each Item In colItems
manu = Item.Manufacturer
    model = Item.Model    
Next

Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemory", "WQL", wbemFlagReturnImmediately + wbemFlagForwardOnly)
totalMemory = 0
For Each item In colItems
    totalMemory = totalMemory + item.Capacity / (1024^2)
Next
strRam = FormatNumber((totalMemory / 1024), 2) & " Gb"

Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS")
For Each objItem in colItems
    serial = objItem.SerialNumber
   
Next

Set colItems = objWMIService.ExecQuery("Select * from Win32_SystemEnclosure")
For Each objItem in colItems
If Len(objItem.SMBIOSAssetTag) <= 0 Then
    asset = "N/A"
Else
    asset =  objItem.SMBIOSAssetTag
    
End If
Next

Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")

strKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"
strValue = "ProcessorNameString"
 
objRegistry.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValue,strScriptStatus

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery("select * from Win32_DiskDrive where Name like '%PHYSICALDRIVE0%'")
For Each objDisk in colDisks
     
            hdd = ConvertSize(objDisk.Size)
            manuhdd = Int(objDisk.Size /(1000000000)) & " GB" 

Next

Set oWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set QueryWMI = oWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem")
For Each oItem In QueryWMI
spVer = oItem.Caption & " with Service Pack " & oItem.ServicePackMajorVersion
osVer = oItem.Version
Next

Set filetxt = filesys.OpenTextFile(usbPath & "\" & ucase(username) & " - " & Trim(strComputer) & ".htm" , 2, True) 
'filetxt.WriteLine "Username,Manufacturer,Serial Number,Model,Computer Name,RAM,HDD,Asset Tag,Processor"
'filetxt.WriteLine ucase(username) & "," & manu & "," & serial & "," & model & "," & strComputer & "," & strRAM & "," & hdd & "( " & manuhdd & " )" &  "," & asset & "," & strScriptStatus

filetxt.WriteLine "<H1>Computer Spec for : " & strComputer & "</H1>"
filetxt.WriteLine "<Center>"
filetxt.WriteLine "<Table Border=1>"
filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Username</b></td>"
filetxt.WriteLine "<td>" & ucase(username) & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Operating System & Service Pack Level</b></td>"
filetxt.WriteLine "<td>" & spVer & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Operating System Version</b></td>"
filetxt.WriteLine "<td>" & osVer & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Manufacturer</b></td>"
filetxt.WriteLine "<td>" & manu & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Serial Number</b></td>"
filetxt.WriteLine "<td>" & serial & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Model</b></td>"
filetxt.WriteLine "<td>" & model & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Computer Name</b></td>"
filetxt.WriteLine "<td>" & strComputer & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>I.P Address</b></td>"
filetxt.WriteLine "<td>" & strAddresses & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>RAM in Gb</b></td>"
filetxt.WriteLine "<td>" & strRAM & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Actual HDD Capacity</b></td>"
filetxt.WriteLine "<td>" & HDD & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Manufacturer HDD Capacity</b></td>"
filetxt.WriteLine "<td>" & manuhdd & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Asset Tag</b></td>"
filetxt.WriteLine "<td>" & asset & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "<tr>"
filetxt.WriteLine "<td><b>Processor</b></td>"
filetxt.WriteLine "<td>" & Trim(strScriptStatus) & "</td>"
filetxt.WriteLine "</tr>"

filetxt.WriteLine "</table>"
filetxt.WriteLine "<Center>"
filetxt.Close 

msgbox ucase(username) & vbcrlf & spVer & vbcrlf & osVer & vbcrlf & manu & vbcrlf & model & vbcrlf & serial & vbcrlf & asset & vbcrlf & vbcrlf & strComputer & vbcrlf & strAddresses & vbcrlf & strScriptStatus & vbcrlf & strRAM & vbcrlf & hdd & "( " & manuhdd & " )"

wscript.sleep 1000


Function ConvertSize(Size) 
Do While InStr(Size,",") 'Remove commas from size 
    CommaLocate = InStr(Size,",") 
    Size = Mid(Size,1,CommaLocate - 1) & _ 
        Mid(Size,CommaLocate + 1,Len(Size) - CommaLocate) 
Loop

Suffix = " Bytes" 
If Size >= 1024 Then suffix = " KB" 
If Size >= 1048576 Then suffix = " MB" 
If Size >= 1073741824 Then suffix = " GB" 
If Size >= 1099511627776 Then suffix = " TB" 

Select Case Suffix 
    Case " KB" Size = Round(Size / 1024, 1) 
    Case " MB" Size = Round(Size / 1048576, 1) 
    Case " GB" Size = Round(Size / 1073741824, 1) 
    Case " TB" Size = Round(Size / 1099511627776, 1) 
End Select

ConvertSize = Size & Suffix 
End Function

Set objMemory = Nothing
Set objWMIService = Nothing
@Steve21 was helping me with this via email so need to re do the html side - just not got around to it yet. Just wanted to neaten the code up as I think could be a lot better.

1. Need help with the model more so with Lenovo computers ( laptops and desktops ) currently it just gets the model number instead of the actual model for example the T420 laptops we have currently only shows a model number of 4236-CP7 but I can't seem to get it to show T420 ( 4236CP7 ). The only way I seem to be able to translate model numbers into an actual model is via the downloads section of the website.

2. Tidy code up to make it into subs or functions and the likes

3. Make the output html file neater ie css or something of the likes

Thanks