On Error Resume Next Dim colSettings, objWMIService, strComputer Dim MACAddressSet, NetworkAdaptSet, IPAddressSet, ComputerNameSet, GUIDSet, RAMMemorySet, sIDsET, RAMMemoryBankLabelSet Dim RAMMemoryCapacitySet, TotalRAMMemoryDeviceLocatorSet, RAMMemoryManufacturerSet, ComputerManufacturerSet Dim ComputerModelSet, ComputerSerialSet, MotherboardManufacturerSet, MotherboardModelSet, MotherboardProductSet Dim MotherboardSerialNumberSet, MotherboardVersionSet, HardDiskDriveLetterSet, HardDiskSizeSet, HardDiskFreeSpaceSet Dim HardDiskVolumeSerialNumberSet, HardDiskManufacturerSet, HardDiskModelSet, HardDiskDeviceIDSet, HardDiskInterfaceTypeSet Dim HardDiskPartitionsSet, HardDiskTotalCylindersSet, HardDiskTotalHeadsSet, HardDiskTotalSectorsSet, HardDiskTotalTracksSet Dim HardDiskTracksPerCylinderSet, ProcessorNameSet, ProcessorTypeSet, ProcessorFamilySet, SoundCardManufacturerSet Dim SoundCardProductNameSet, SoundCardDescriptionSet, SoundCardNameSet, VideoCardNameSet, VideoCardSettingIDSet Dim FloppyManufacturerSet, FloppyNameSet, FloppyDeviceIDSet, CDROMCaptionSet, CDROMDescriptionSet, CDROMDeviceIDSet Dim CDROMDriveSet, CDROMManufacturerSet, CDROMNameSet, BIOSVersionSet, ISDellComputerSet, DellServiceTagSet Dim filepath, filesys, filetxt, FSO, maccheck, inventorystats, countitem, MacConvertionGUID, OUpart, MacConvert, FullMacConvert Dim countitemb, readfullline Dim macread, netcardread, ipread, comnameread, FieldProp filepath = "\\ws-print\Log Files\Inventory\inventorylog.csv" strComputer = "." ISDellComputerSet = "NOTDELL" inventorystats = "COMPLETE" Set FSO = CreateObject("Scripting.FileSystemObject") Set filesys = CreateObject("Scripting.FileSystemObject") MACAddressSet = "N/A" NetworkAdaptSet = "N/A" IPAddressSet = "N/A" ComputerNameSet = "N/A" GUIDSet = "Unknown" MacConvertionGUID = "N/A" TotalRAMMemorySet = "N/A" SidSet = "N/A" RAMMemoryBankLabelSet = "" RAMMemoryCapacitySet = "" RAMMemoryDeviceLocatorSet = "" RAMMemoryManufacturerSet = "" ComputerManufacturerSet = "N/A" ComputerModelSet = "N/A" ComputerSerialSet = "N/A" MotherboardManufacturerSet = "N/A" MotherboardModelSet = "N/A" MotherboardProductSet = "N/A" MotherboardSerialNumberSet = "N/A" MotherboardVersionSet = "N/A" HardDiskDriveLetterSet = "" HardDiskSizeSet = "" HardDiskFreeSpaceSet = "" HardDiskVolumeSerialNumberSet = "" HardDiskManufacturerSet = "" HardDiskModelSet = "" HardDiskDeviceIDSet = "" HardDiskInterfaceTypeSet = "" HardDiskPartitionsSet = "" HardDiskTotalCylindersSet = "" HardDiskTotalHeadsSet = "" HardDiskTotalSectorsSet = "" HardDiskTotalTracksSet = "" HardDiskTracksPerCylinderSet = "" ProcessorNameSet = "" ProcessorTypeSet = "" ProcessorFamilySet = "" SoundCardManufacturerSet = "N/A" SoundCardProductNameSet = "N/A" SoundCardDescriptionSet = "N/A" SoundCardNameSet = "N/A" VideoCardNameSet = "N/A" VideoCardSettingIDSet = "N/A" FloppyManufacturerSet = "N/A" FloppyNameSet = "N/A" FloppyDeviceIDSet = "N/A" CDROMCaptionSet = "" CDROMDescriptionSet = "" CDROMDeviceIDSet = "" CDROMDriveSet = "" CDROMManufacturerSet = "" CDROMNameSet = "" BIOSVersionSet = "N/A" DellServiceTagSet = "N/A" If NOT FSO.FileExists (filepath) Then call writefiletitles End If Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapter") For Each objItem in colItems If objItem.AdapterType = "Ethernet 802.3" AND objItem.Description <> "Packet Scheduler Miniport" AND objItem.Description <> "Virtual Machine Network Services Driver" AND objItem.Description <> "1394 Net Adapter" AND objItem.Description <> "Bluetooth Device (Personal Area Network)" Then MACAddressSet = objItem.MACAddress NetworkAdaptSet = objItem.Description End If Next NetworkAdaptSet = CheckCommas(NetworkAdaptSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE") For Each IPConfig in colItems IPAddressSet = IPConfig.IPAddress(i) Next IPAddressSet = CheckCommas(IPAddressSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem") For Each objComputer in colItems ComputerNameSet = objComputer.Name GUIDSet = GetUUID TotalRAMMemorySet = objComputer.TotalPhysicalMemory SidSet = GetSid Next call checkthemac OUpart = "a" FullMacConvert = "" countitem = 0 MacConvert = MACAddressSet & ":" Do until OUpart = "" OUpart = split(MacConvert, ":") IF OUpart(countitem) = "" THEN Exit Do OUpart = "a" countitem = countitem + 1 Loop IF countitem >=1 THEN countitemb = 0 Do until countitemb = countitem IF countitemb < countitem AND countitemb <> countitem-1 THEN FullMacConvert = FullMacConvert + OUpart(countitemb) IF countitemb = countitem-1 THEN FullMacConvert = FullMacConvert + OUpart(countitemb) countitemb = countitemb + 1 Loop END IF MacConvertionGUID = "00000000-0000-0000-0000-" & FullMacConvert ComputerNameSet = CheckCommas(ComputerNameSet) GUIDSet = CheckCommas(GUIDSet) TotalRAMMemorySet = CheckCommas(TotalRAMMemorySet) SidSet = CheckCommas(SidSet) MacConvertionGUID = CheckCommas(MacConvertionGUID) countitem = 0 Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory") For Each objItem in colItems countitem = countitem + 1 RAMMemoryBankLabelSet = RAMMemoryBankLabelSet & countitem & ":" & objItem.BankLabel & " " RAMMemoryCapacitySet = RAMMemoryCapacitySet & countitem & ":" & objItem.Capacity & " " RAMMemoryDeviceLocatorSet = RAMMemoryDeviceLocatorSet & countitem & ":" & objItem.DeviceLocator & " " RAMMemoryManufacturerSet = RAMMemoryManufacturerSet & countitem & ":" & objItem.Manufacturer & " " Next RAMMemoryBankLabelSet = CheckCommas(RAMMemoryBankLabelSet) RAMMemoryCapacitySet = CheckCommas(RAMMemoryCapacitySet) RAMMemoryDeviceLocatorSet = CheckCommas(RAMMemoryDeviceLocatorSet) RAMMemoryManufacturerSet = CheckCommas(RAMMemoryManufacturerSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_ComputerSystemProduct") For Each objItem In colItems ComputerManufacturerSet = objItem.Vendor ComputerModelSet = objItem.Name ComputerSerialSet = objItem.IdentifyingNumber ISDellComputerSet = uCASE(Left(objItem.Vendor, 4)) Next ComputerManufacturerSet = CheckCommas(ComputerManufacturerSet) ComputerModelSet = CheckCommas(ComputerModelSet) ComputerSerialSet = CheckCommas(ComputerSerialSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_BaseBoard") For Each objItem in colItems MotherboardManufacturerSet = objItem.Manufacturer MotherboardModelSet = objItem.Model MotherboardProductSet = objItem.Product MotherboardSerialNumberSet = objItem.SerialNumber MotherboardVersionSet = objItem.Version Next MotherboardManufacturerSet = CheckCommas(MotherboardManufacturerSet) MotherboardModelSet = CheckCommas(MotherboardModelSet) MotherboardProductSet = CheckCommas(MotherboardProductSet) MotherboardSerialNumberSet = CheckCommas(MotherboardSerialNumberSet) MotherboardVersionSet = CheckCommas(MotherboardVersionSet) countitem = 0 Set colItems = objWMIService.ExecQuery ("Select * from Win32_LogicalDisk") For Each objItem in colItems If objItem.Name = "C:" Then countitem = countitem + 1 HardDiskDriveLetterSet = HardDiskDriveLetterSet & countitem & ":" & objItem.Name & " " HardDiskSizeSet = HardDiskSizeSet & countitem & ":" & Int(objItem.Size /1073741824) & " GB" & " " HardDiskFreeSpaceSet = HardDiskFreeSpaceSet & countitem & ":" & Int(objItem.FreeSpace /1073741824) & " GB" & " " HardDiskVolumeSerialNumberSet = HardDiskVolumeSerialNumberSet & countitem & ":" & objItem.VolumeSerialNumber & " " End If Next HardDiskDriveLetterSet = CheckCommas(HardDiskDriveLetterSet) HardDiskSizeSet = CheckCommas(HardDiskSizeSet) HardDiskFreeSpaceSet = CheckCommas(HardDiskFreeSpaceSet) HardDiskVolumeSerialNumberSet = CheckCommas(HardDiskVolumeSerialNumberSet) countitem = 0 Set colItems = objWMIService.ExecQuery ("Select * from Win32_DiskDrive") For each objDiskDrive in colItems countitem = countitem + 1 HardDiskManufacturerSet = HardDiskManufacturerSet & countitem & ":" & objDiskDrive.Manufacturer & " " HardDiskModelSet = HardDiskModelSet & countitem & ":" & objDiskDrive.Model & " " HardDiskDeviceIDSet = HardDiskDeviceIDSet & countitem & ":" & objDiskDrive.DeviceID & " " HardDiskInterfaceTypeSet = HardDiskInterfaceTypeSet & countitem & ": " & objDiskDrive.InterfaceType & " " HardDiskPartitionsSet = HardDiskPartitionsSet & countitem & ":" & objDiskDrive.Partitions & " " HardDiskTotalCylindersSet = HardDiskTotalCylindersSet & countitem & ":" & objDiskDrive.TotalCylinders & " " HardDiskTotalHeadsSet = HardDiskTotalHeadsSet & countitem & ":" & objDiskDrive.TotalHeads & " " HardDiskTotalSectorsSet = HardDiskTotalSectorsSet & countitem & ":" & objDiskDrive.TotalSectors & " " HardDiskTotalTracksSet = HardDiskTotalTracksSet & countitem & ":" & objDiskDrive.TotalTracks & " " HardDiskTracksPerCylinderSet = HardDiskTracksPerCylinderSet & countitem & ":" & objDiskDrive.TracksPerCylinder & " " Next HardDiskManufacturerSet = CheckCommas(HardDiskManufacturerSet) HardDiskModelSet = CheckCommas(HardDiskModelSet) HardDiskDeviceIDSet = CheckCommas(HardDiskDeviceIDSet) HardDiskInterfaceTypeSet = CheckCommas(HardDiskInterfaceTypeSet) HardDiskPartitionsSet = CheckCommas(HardDiskPartitionsSet) HardDiskTotalCylindersSet = CheckCommas(HardDiskTotalCylindersSet) HardDiskTotalHeadsSet = CheckCommas(HardDiskTotalHeadsSet) HardDiskTotalSectorsSet = CheckCommas(HardDiskTotalSectorsSet) HardDiskTotalTracksSet = CheckCommas(HardDiskTotalTracksSet) HardDiskTracksPerCylinderSet = CheckCommas(HardDiskTracksPerCylinderSet) countitem = 0 Set colItems = objWMIService.ExecQuery ("Select * from Win32_Processor") For Each objItem in colItems countitem = countitem + 1 ProcessorNameSet = ProcessorNameSet & countitem & ":" & objItem.Name & " " Next ProcessorNameSet = CheckCommas(ProcessorNameSet) intProc = 1 countitem = 0 For Each objProcessor in colItems countitem = countitem + 1 ProcessorTypeSet = ProcessorTypeSet & countitem & ":" & objProcessor.Architecture & " " ProcessorFamilySet = ProcessorFamilySet & countitem & ":" & objProcessor.Description & " " intProc = intProc + 1 Next ProcessorTypeSet = CheckCommas(ProcessorTypeSet) ProcessorFamilySet = CheckCommas(ProcessorFamilySet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_SoundDevice") For Each objItem in colItems SoundCardManufacturerSet = objItem.Manufacturer SoundCardProductNameSet = objItem.ProductName SoundCardDescriptionSet = objItem.Description SoundCardNameSet = objItem.Name Next SoundCardManufacturerSet = CheckCommas(SoundCardManufacturerSet) SoundCardProductNameSet = CheckCommas(SoundCardProductNameSet) SoundCardDescriptionSet = CheckCommas(SoundCardDescriptionSet) SoundCardNameSet = CheckCommas(SoundCardNameSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_DisplayControllerConfiguration") For Each objItem in colItems VideoCardNameSet = objItem.Name VideoCardSettingIDSet = objItem.SettingID Next VideoCardNameSet = CheckCommas(VideoCardNameSet) VideoCardSettingIDSet = CheckCommas(VideoCardSettingIDSet) Set colItems = objWMIService.ExecQuery ("Select * from Win32_FloppyDrive") For Each objItem in colItems FloppyManufacturerSet = objItem.Manufacturer FloppyNameSet = objItem.Name FloppyDeviceIDSet = objItem.DeviceID Next FloppyManufacturerSet = CheckCommas(FloppyManufacturerSet) FloppyNameSet = CheckCommas(FloppyNameSet) FloppyDeviceIDSet = CheckCommas(FloppyDeviceIDSet) countitem = 0 Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive") For Each objItem in colItems If objItem.Caption <> "Avantis Open CDMVD001 SCSI CdRom Device" Then CDROMCaptionSet = CDROMCaptionSet & countitem & ":" & objItem.Caption & " " CDROMDescriptionSet = CDROMDescriptionSet & countitem & ":" & objItem.Description & " " CDROMDeviceIDSet = CDROMDeviceIDSet & countitem & ":" & objItem.DeviceID & " " CDROMDriveSet = CDROMDriveSet & countitem & ":" & objItem.Drive & " " CDROMManufacturerSet = CDROMManufacturerSet & countitem & ":" & objItem.Manufacturer & " " CDROMNameSet = CDROMNameSet & countitem & ":" & objItem.Name & " " End If Next CDROMCaptionSet = CheckCommas(CDROMCaptionSet) CDROMDescriptionSet = CheckCommas(CDROMDescriptionSet) CDROMDeviceIDSet = CheckCommas(CDROMDeviceIDSet) CDROMDriveSet = CheckCommas(CDROMDriveSet) CDROMManufacturerSet = CheckCommas(CDROMManufacturerSet) CDROMNameSet = CheckCommas(CDROMNameSet) Set colSettings = objWMIService.ExecQuery ("Select * from Win32_BIOS") For Each objBIOS in colSettings BIOSVersionSet = objBIOS.Version Next BIOSVersionSet = CheckCommas(BIOSVersionSet) If ISDellComputerSet = "DELL" Then Set colItems = objWMIService.ExecQuery ("Select * from Win32_BIOS",,48) For Each objItem In colItems DellServiceTagSet = objItem.SerialNumber Next End If DellServiceTagSet = CheckCommas(DellServiceTagSet) call checkfields '::::::::::::::::::::::::: ':: Write Inventory Log :: '::::::::::::::::::::::::: Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set filetxt = filesys.OpenTextFile(filepath, ForAppending, True) filetxt.WriteLine MACAddressSet & "," & NetworkAdaptSet & "," & IPAddressSet & "," & ComputerNameSet & "," & GUIDSet & "," & MacConvertionGUID & "," & TotalRAMMemorySet & "," & SidSet & "," & RAMMemoryBankLabelSet & "," & RAMMemoryCapacitySet & "," & RAMMemoryDeviceLocatorSet & "," & RAMMemoryManufacturerSet & "," & ComputerManufacturerSet & "," & ComputerModelSet & "," & ComputerSerialSet & "," & MotherboardManufacturerSet & "," & MotherboardModelSet & "," & MotherboardProductSet & "," & MotherboardSerialNumberSet & "," & MotherboardVersionSet & "," & HardDiskDriveLetterSet & "," & HardDiskSizeSet & "," & HardDiskFreeSpaceSet & "," & HardDiskVolumeSerialNumberSet & "," & HardDiskManufacturerSet & "," & HardDiskModelSet & "," & HardDiskDeviceIDSet & "," & HardDiskInterfaceTypeSet & "," & HardDiskPartitionsSet & "," & HardDiskTotalCylindersSet & "," & HardDiskTotalHeadsSet & "," & HardDiskTotalSectorsSet & "," & HardDiskTotalTracksSet & "," & HardDiskTracksPerCylinderSet & "," & ProcessorNameSet & "," & ProcessorTypeSet & "," & ProcessorFamilySet & "," & SoundCardManufacturerSet & "," & SoundCardProductNameSet & "," & SoundCardDescriptionSet & "," & SoundCardNameSet & "," & VideoCardNameSet & "," & VideoCardSettingIDSet & "," & FloppyManufacturerSet & "," & FloppyNameSet & "," & FloppyDeviceIDSet & "," & CDROMCaptionSet & "," & CDROMDescriptionSet & "," & CDROMDeviceIDSet & "," & CDROMDriveSet & "," & CDROMManufacturerSet & "," & CDROMNameSet & "," & BIOSVersionSet & "," & DellServiceTagSet & "," & Date & "," & Time filetxt.Close Wscript.Quit '::::::::::::::::::::::::::: ':: Checkfields the fields:: '::::::::::::::::::::::::::: sub checkfields If RAMMemoryBankLabelSet = "" Then RAMMemoryBankLabelSet = "N/A" End If If RAMMemoryCapacitySet = "" Then RAMMemoryCapacitySet = "N/A" End If If RAMMemoryDeviceLocatorSet = "" Then RAMMemoryDeviceLocatorSet = "N/A" End If If RAMMemoryManufacturerSet = "" Then RAMMemoryManufacturerSet = "N/A" End If If HardDiskDriveLetterSet = "" Then HardDiskDriveLetterSet = "N/A" End If If HardDiskSizeSet = "" Then HardDiskSizeSet = "N/A" End If If HardDiskFreeSpaceSet = "" Then HardDiskFreeSpaceSet = "N/A" End If If HardDiskVolumeSerialNumberSet = "" Then HardDiskVolumeSerialNumberSet = "N/A" End If If HardDiskManufacturerSet = "" Then HardDiskManufacturerSet = "N/A" End If If HardDiskModelSet = "" Then HardDiskModelSet = "N/A" End If If HardDiskDeviceIDSet = "" Then HardDiskDeviceIDSet = "N/A" End If If HardDiskInterfaceTypeSet = "" Then HardDiskInterfaceTypeSet = "N/A" End If If HardDiskPartitionsSet = "" Then HardDiskPartitionsSet = "N/A" End If If HardDiskTotalCylindersSet = "" Then HardDiskTotalCylindersSet = "N/A" End If If HardDiskTotalHeadsSet = "" Then HardDiskTotalHeadsSet = "N/A" End If If HardDiskTotalSectorsSet = "" Then HardDiskTotalSectorsSet = "N/A" End If If HardDiskTotalTracksSet = "" Then HardDiskTotalTracksSet = "N/A" End If If HardDiskTracksPerCylinderSet = "" Then HardDiskTracksPerCylinderSet = "N/A" End If If ProcessorNameSet = "" Then ProcessorNameSet = "N/A" End If If ProcessorTypeSet = "" Then ProcessorTypeSet = "N/A" End If If ProcessorFamilySet = "" Then ProcessorFamilySet = "N/A" End If If CDROMCaptionSet = "" Then CDROMCaptionSet = "N/A" End If If CDROMDescriptionSet = "" Then CDROMDescriptionSet = "N/A" End If If CDROMDeviceIDSet = "" Then CDROMDeviceIDSet = "N/A" End If If CDROMDriveSet = "" Then CDROMDriveSet = "N/A" End If If CDROMManufacturerSet = "" Then CDROMManufacturerSet = "N/A" End If If CDROMNameSet = "" Then CDROMNameSet = "N/A" End If end sub ':::::::::::::::::::::::::: ':: Get GUID of Computer :: ':::::::::::::::::::::::::: Function GetUUID Dim objWmi, colItems, objItem, strUUID, blnValidUUID Set objWmi = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWmi.ExecQuery("Select * from Win32_ComputerSystemProduct") strUUID = "" blnValidUUID = False For Each objItem in colItems strUUID = objItem.UUID If Not IsEmpty(strUUID) OR Not IsNull(strUUID) Then If (strUUID <> "00000000-0000-0000-0000-000000000000") AND _ (strUUID <> "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF") Then blnValidUUID = True Exit For End If End If Next Set objWmi = Nothing If Not blnValidUUID Then Set colItems = GetObject("winmgmts:" & strComputer & "\root\cimv2").InstancesOf("Win32_NetworkAdapter") For Each objItem In colItems If (objItem.AdapterType = "Ethernet 802.3") Then If (objItem.Description <> "Packet Scheduler Miniport") Then strUUID = "00000000-0000-0000-0000-" & Replace(objItem.MACAddress, ":", "") Exit For End If End If Next Set NicSet = Nothing End If GetUUID = strUUID End Function '::::::::::::::::::::::::: ':: Get SID of Computer :: '::::::::::::::::::::::::: Function GetSID Dim wshShell, fso, tfolder, tname, TempFile, results, retString, ts Const ForReading = 1, TemporaryFolder = 2 Set wshShell = CreateObject("wscript.shell") Set fso = CreateObject("Scripting.FileSystemObject") Set tfolder = fso.GetSpecialFolder(TemporaryFolder) tname = fso.GetTempName TempFile =fso.buildpath(tfolder, tname) strCommand=fso.BuildPath(strScriptPath, "psgetsid.exe") GetSID ="N/A" strBlast="cmd /c " & Chr(34) & strCommand & Chr(34) & " \\" & strComputer & " >" & TempFile wshShell.Run strBlast , 0, True Set results = fso.GetFile(TempFile) Set ts = results.OpenAsTextStream(ForReading) Do While ts.AtEndOfStream <> True retString = ts.ReadLine If InStr(retString, "S-") > 0 Then GetSID="SID = " & Right(retString,Len(retString)-1) 'retString = GetSIDAddress(retString) Exit Do End If Loop ts.Close results.Delete End Function ':::::::::::::::::::::: ':: Check for commas :: ':::::::::::::::::::::: Function CheckCommas(Field) Dim CommaRemove, FieldSet OUpart = "a" CommaRemove = "" countitem = 0 FieldSet = Field & "," Do until OUpart = "" OUpart = split(FieldSet, ",") IF OUpart(countitem) = "" THEN Exit Do OUpart = "a" countitem = countitem + 1 Loop IF countitem >=1 THEN countitemb = 0 Do until countitemb = countitem IF countitemb < countitem AND countitemb <> countitem-1 THEN CommaRemove = CommaRemove + OUpart(countitemb) IF countitemb = countitem-1 THEN CommaRemove = CommaRemove + OUpart(countitemb) countitemb = countitemb + 1 Loop END IF CheckCommas = CommaRemove End Function '::::::::::::::::::::::: ':: Write File Titles :: '::::::::::::::::::::::: sub writefiletitles Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set filetxt = filesys.OpenTextFile(filepath, ForAppending, True) filetxt.WriteLine "MAC Address,Network Adapter,IP Address,Computer Name,GUID/UUID,GUID/UUID Mac Address Conversion,Total RAM Memory,Sid,RAM Memory Bank Label,RAM Memory Capacity,RAM Memory Device Locator,RAM Memory Manufacturer,Computer Manufacturer,Computer Model,Computer Serial,Motherboard Manufacturer,Motherboard Model,Motherboard Product,Motherboard Serial Number,Motherboard Version,Hard Disk Drive Letter,Hard Disk Size,Hard Disk Free Space,Hard Disk Volume Serial Number,Hard Disk Manufacturer,Hard Disk Model,Hard Disk Device ID,Hard Disk Interface Type,Hard Disk Partitions,Hard Disk Total Cylinders,Hard Disk Total Heads,Hard Disk Total Sectors,Hard Disk Total Tracks,Hard Disk Tracks Per Cylinder,Processor Name,Processor Type,Processor Family,Sound Card Manufacturer,Sound Card Product Name,Sound Card Description,Sound Card Name,Video Card Name,Video Card Setting ID,Floppy Manufacturer,Floppy Name,Floppy Device ID,CDROMCaptionSet,CDROMDescriptionSet,CDROMDeviceIDSet,CDROMDriveSet,CDROMManufacturerSet,CDROMNameSet,BIOS Version,Dell Service Tag,Date of Log,Time of Log" filetxt.Close end sub ':::::::::::::::::::::::::::::::::::: ':: Check if inventory already run :: ':::::::::::::::::::::::::::::::::::: sub checkthemac Set filetxt = filesys.OpenTextFile(filepath) Do Until filetxt.AtEndOfStream maccheck = (Left(filetxt.ReadLine,17)) if MACAddressSet = maccheck then inventorystats = "COMPLETED" Loop filetxt.Close If inventorystats = "COMPLETE" Then Exit Sub End If call ipcomnamechange If inventorystats = "COMPLETED" then Wscript.Quit End If end sub ':::::::::::::::::::::::::::::::::::::: ':: Have IP or Computer Name Changed :: ':::::::::::::::::::::::::::::::::::::: sub ipcomnamechange Set filetxt = filesys.OpenTextFile(filepath) Do Until filetxt.AtEndOfStream readfullline = (filetxt.ReadLine) maccheck = (Left(readfullline,17)) if MACAddressSet = maccheck then countitem = 0 Do until countitem = 4 FieldProp = split(readfullline, ",") If countitem = 0 Then macread = FieldProp(countitem) End If If countitem = 1 Then netcardread = FieldProp(countitem) End If If countitem = 2 Then ipread = FieldProp(countitem) End If If countitem = 3 Then comnameread = FieldProp(countitem) End If countitem = countitem + 1 Loop End If Loop filetxt.Close if NetworkAdaptSet = netcardread AND IPAddressSet = ipread AND ComputerNameSet = comnameread Then Exit Sub End If if NetworkAdaptSet <> netcardread OR IPAddressSet <> ipread OR ComputerNameSet <> comnameread Then inventorystats = "CHANGE" End If if inventorystats = "CHANGE" Then call deletethelog End If end sub ':::::::::::::::::::: ':: Delete the Log :: ':::::::::::::::::::: sub deletethelog Dim strContents Const FOR_READING = 1 Const FOR_WRITING = 2 strFileName = filepath strCheckForString = Ucase(MACAddressSet) Set objFS = CreateObject("Scripting.FileSystemObject") Set objTS = objFS.OpenTextFile(strFileName, FOR_READING) strContents = objTS.ReadAll objTS.Close arrLines = Split(strContents, vbNewLine) Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING) For Each strLine In arrLines If Not(Left(UCase(LTrim(strLine)),Len(strCheckForString)) = strCheckForString) Then If strLine <> "" Then objTS.WriteLine strLine End If End If Next end sub