chiners_68 Posted October 16, 2007 Share Posted October 16, 2007 (edited) Hi All, i have inherited a VB script which im putting into an auto it script. The VB script pulls inventory information from PC's but at present there is one problem. For some reason it only reports memory capacity for the 1st memory bank & not the total in the machine. Can somone advise on what to do to get an a memory capacity for each memory back so I can then see howw many sticks are installed & then I can total these fields up.I currently have these line for pulling memory information. Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48)For Each objItem in colItems strRAM = objItem.Capacity / 1000000 strRAM = formatNumber(strRAM,0) strRAMSpeed = objItem.Speedall help is greatly apreciatedive been working from this page but cannot see how to record from each slot.http://msdn2.microsoft.com/en-us/library/aa387968.aspx Edited October 16, 2007 by chiners_68 Link to comment Share on other sites More sharing options...
weaponx Posted October 16, 2007 Share Posted October 16, 2007 If you just need the total memory size and not each individual you can use this (you only need TotalPhysicalMemory): expandcollapse popup; Generated by AutoIt Scriptomatic $wbemFlagReturnImmediately = 0x10 $wbemFlagForwardOnly = 0x20 $colItems = "" $strComputer = "localhost" $Output="" $Output = $Output & "Computer: " & $strComputer & @CRLF $Output = $Output & "==========================================" & @CRLF $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2") $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem", "WQL", _ $wbemFlagReturnImmediately + $wbemFlagForwardOnly) If IsObj($colItems) then For $objItem In $colItems $Output = $Output & "AdminPasswordStatus: " & $objItem.AdminPasswordStatus & @CRLF $Output = $Output & "AutomaticResetBootOption: " & $objItem.AutomaticResetBootOption & @CRLF $Output = $Output & "AutomaticResetCapability: " & $objItem.AutomaticResetCapability & @CRLF $Output = $Output & "BootOptionOnLimit: " & $objItem.BootOptionOnLimit & @CRLF $Output = $Output & "BootOptionOnWatchDog: " & $objItem.BootOptionOnWatchDog & @CRLF $Output = $Output & "BootROMSupported: " & $objItem.BootROMSupported & @CRLF $Output = $Output & "BootupState: " & $objItem.BootupState & @CRLF $Output = $Output & "Caption: " & $objItem.Caption & @CRLF $Output = $Output & "ChassisBootupState: " & $objItem.ChassisBootupState & @CRLF $Output = $Output & "CreationClassName: " & $objItem.CreationClassName & @CRLF $Output = $Output & "CurrentTimeZone: " & $objItem.CurrentTimeZone & @CRLF $Output = $Output & "DaylightInEffect: " & $objItem.DaylightInEffect & @CRLF $Output = $Output & "Description: " & $objItem.Description & @CRLF $Output = $Output & "Domain: " & $objItem.Domain & @CRLF $Output = $Output & "DomainRole: " & $objItem.DomainRole & @CRLF $Output = $Output & "EnableDaylightSavingsTime: " & $objItem.EnableDaylightSavingsTime & @CRLF $Output = $Output & "FrontPanelResetStatus: " & $objItem.FrontPanelResetStatus & @CRLF $Output = $Output & "InfraredSupported: " & $objItem.InfraredSupported & @CRLF $strInitialLoadInfo = $objItem.InitialLoadInfo(0) $Output = $Output & "InitialLoadInfo: " & $strInitialLoadInfo & @CRLF $Output = $Output & "InstallDate: " & WMIDateStringToDate($objItem.InstallDate) & @CRLF $Output = $Output & "KeyboardPasswordStatus: " & $objItem.KeyboardPasswordStatus & @CRLF $Output = $Output & "LastLoadInfo: " & $objItem.LastLoadInfo & @CRLF $Output = $Output & "Manufacturer: " & $objItem.Manufacturer & @CRLF $Output = $Output & "Model: " & $objItem.Model & @CRLF $Output = $Output & "Name: " & $objItem.Name & @CRLF $Output = $Output & "NameFormat: " & $objItem.NameFormat & @CRLF $Output = $Output & "NetworkServerModeEnabled: " & $objItem.NetworkServerModeEnabled & @CRLF $Output = $Output & "NumberOfProcessors: " & $objItem.NumberOfProcessors & @CRLF $strOEMLogoBitmap = $objItem.OEMLogoBitmap(0) $Output = $Output & "OEMLogoBitmap: " & $strOEMLogoBitmap & @CRLF $strOEMStringArray = $objItem.OEMStringArray(0) $Output = $Output & "OEMStringArray: " & $strOEMStringArray & @CRLF $Output = $Output & "PartOfDomain: " & $objItem.PartOfDomain & @CRLF $Output = $Output & "PauseAfterReset: " & $objItem.PauseAfterReset & @CRLF $strPowerManagementCapabilities = $objItem.PowerManagementCapabilities(0) $Output = $Output & "PowerManagementCapabilities: " & $strPowerManagementCapabilities & @CRLF $Output = $Output & "PowerManagementSupported: " & $objItem.PowerManagementSupported & @CRLF $Output = $Output & "PowerOnPasswordStatus: " & $objItem.PowerOnPasswordStatus & @CRLF $Output = $Output & "PowerState: " & $objItem.PowerState & @CRLF $Output = $Output & "PowerSupplyState: " & $objItem.PowerSupplyState & @CRLF $Output = $Output & "PrimaryOwnerContact: " & $objItem.PrimaryOwnerContact & @CRLF $Output = $Output & "PrimaryOwnerName: " & $objItem.PrimaryOwnerName & @CRLF $Output = $Output & "ResetCapability: " & $objItem.ResetCapability & @CRLF $Output = $Output & "ResetCount: " & $objItem.ResetCount & @CRLF $Output = $Output & "ResetLimit: " & $objItem.ResetLimit & @CRLF $strRoles = $objItem.Roles(0) $Output = $Output & "Roles: " & $strRoles & @CRLF $Output = $Output & "Status: " & $objItem.Status & @CRLF $strSupportContactDescription = $objItem.SupportContactDescription(0) $Output = $Output & "SupportContactDescription: " & $strSupportContactDescription & @CRLF $Output = $Output & "SystemStartupDelay: " & $objItem.SystemStartupDelay & @CRLF $strSystemStartupOptions = $objItem.SystemStartupOptions(0) $Output = $Output & "SystemStartupOptions: " & $strSystemStartupOptions & @CRLF $Output = $Output & "SystemStartupSetting: " & $objItem.SystemStartupSetting & @CRLF $Output = $Output & "SystemType: " & $objItem.SystemType & @CRLF $Output = $Output & "ThermalState: " & $objItem.ThermalState & @CRLF $Output = $Output & "TotalPhysicalMemory: " & $objItem.TotalPhysicalMemory & @CRLF $Output = $Output & "UserName: " & $objItem.UserName & @CRLF $Output = $Output & "WakeUpType: " & $objItem.WakeUpType & @CRLF $Output = $Output & "Workgroup: " & $objItem.Workgroup & @CRLF if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop $Output="" Next Else Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_ComputerSystem" ) Endif Func WMIDateStringToDate($dtmDate) Return (StringMid($dtmDate, 5, 2) & "/" & _ StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _ & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2)) EndFunc Link to comment Share on other sites More sharing options...
chiners_68 Posted October 16, 2007 Author Share Posted October 16, 2007 Cheers WeaponX. ive changed too, & it works a treat. cheers Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem",,48) For Each objItem in colItems strRAM = objItem.TotalPhysicalMemory / 100000 on your list you sent me written in autoit. how do you get that to output to a database file..? Link to comment Share on other sites More sharing options...
Blue_Drache Posted October 16, 2007 Share Posted October 16, 2007 Look up the _SQLite_*() functions. Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
weaponx Posted October 16, 2007 Share Posted October 16, 2007 That code was created with the AutoIT equivalent of Microsoft Scriptomatic, which is also called Scriptomatic...you can output to various formats.http://www.autoitscript.com/forum/index.ph...amp;showfile=29 Link to comment Share on other sites More sharing options...
chiners_68 Posted October 16, 2007 Author Share Posted October 16, 2007 anyone now the section to get how many RAM slots are being used..? ive got below which gives me the name of one of the slots ie DIMM_2 but all i want is how many slots are being used. Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48) For Each objItem in colItems strRAMBanks = objItem.DeviceLocator Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now