Jump to content
Sign in to follow this  
am632

get computer make & model help?

Recommended Posts

Hi,

Is there a piece of script that will get the make and model of a computer?

I want to use this to automatically name a folder with this info (i can do that bit myself tho)

thanks every1

Share this post


Link to post
Share on other sites

The Scriptomatic WMI tool is always quite helpful. The following code was generated by this tool:

; 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_ComputerSystemProduct", "WQL", _
                                        $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

If IsObj($colItems) then
   For $objItem In $colItems
    $Output = $Output & "Caption: " & $objItem.Caption & @CRLF
    $Output = $Output & "Description: " & $objItem.Description & @CRLF
    $Output = $Output & "IdentifyingNumber: " & $objItem.IdentifyingNumber & @CRLF
    $Output = $Output & "Name: " & $objItem.Name & @CRLF
    $Output = $Output & "SKUNumber: " & $objItem.SKUNumber & @CRLF
    $Output = $Output & "UUID: " & $objItem.UUID & @CRLF
    $Output = $Output & "Vendor: " & $objItem.Vendor & @CRLF
    $Output = $Output & "Version: " & $objItem.Version & @CRLF
    if Msgbox(1,"WMI Output",$Output) = 2 then ExitLoop
    $Output=""
   Next
Else
   Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_ComputerSystemProduct" )
Endif
or this one:

; 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 & "NumberOfLogicalProcessors: " & $objItem.NumberOfLogicalProcessors & @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
Edited by water

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2020-10-10 - Version 1.5.2.1) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (NEW 2020-12-15 - Version 1.6.3.1) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2020-06-27 - Version 1.3.2.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
Task Scheduler (2019-12-03 - Version 1.5.1.0) - Download - General Help & Support - Wiki

Tutorials:
ADO - Wiki, WebDriver - Wiki

 

Share this post


Link to post
Share on other sites

This information is stored in the registry and can be retrieved using the RegRead() function. Here's a quick way to read this info from the registry and display it in message boxes.

#RequireAdmin
#include <MsgBoxConstants.au3>

Local $manufacturer = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "SystemManufacturer")
Local $model = RegRead("HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "SystemProductName")

MsgBox($MB_SYSTEMMODAL, "", "Manufacturer: " & $manufacturer)
MsgBox($MB_SYSTEMMODAL, "", "Model: " & $model)

 

Share this post


Link to post
Share on other sites

I did notice, but I also noticed that there was no concise answer and figured that someone could benefit from the answer that I gave. I see no issue in doing this. Sorry if I broke any rules.

Share this post


Link to post
Share on other sites
On 8/22/2018 at 11:30 PM, postCucumber said:

I did notice, but I also noticed that there was no concise answer and figured that someone could benefit from the answer that I gave. I see no issue in doing this. Sorry if I broke any rules.

@postCucumber Your information was perfect for what I needed. Regardless of this threads age I'm glad you posted to give a concise answer. Thanks a bunch!!

 

 

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...