Link to home
Start Free TrialLog in
Avatar of Member_2_5508668
Member_2_5508668Flag for United States of America

asked on

Remotely Retrieve PC Model & Serial Number

I have about 60 workstations on my network.  Is there a way to remotely retrieve the model and serial number of each PC?  While I am at it, and this is a stretch, can I also do the same for the monitor connected to the PC?

I found a VB script that retrieves just the serial number for the computer name that is entered but model would be helpful, and I also would have to enter one at a time.  Is there a tool that will scan a subnet and retrieve info on everything it finds?
ASKER CERTIFIED SOLUTION
Avatar of acl-puzz
acl-puzz
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
angry ip scanner does mac address, IP address, computer name and hostname if that's any good for you. you need to configure the 'columns' to tell it to get all data - http://www.angryip.org/w/Home

its free as well
Monitor -- No, unless you access msinfo32 and it has data on it via Device Manager.

A good thing to check into may be msinfo32.
I just ran a few tests here, I am awaiting final resolve to see which result works.

But, you can script msinfo32 to output a report to a destination of your choosing, if you like.

will report with confirmed findings.
msinfo32 /report c:\nf1\test2.txt -- I ran this to have output go to that folder.

Hope this helps!
Avatar of Member_2_5508668

ASKER

I ended up finding a VB scripts that retrieves Make, Model, and serial number along with other various info.  I have to enter each workstation individually but it beats walking around to each machine.  I have partial credit because Spiceworks provides the info however there is a little overhead to get it to work properly.  I tried to configure however still have problems with the DCOM/WMI setup.  I have to have all the info I am looking for by Friday so I chose to use the script for now, however will spend more time with Spiceworks because it appears to be a great IT tool to monitor software & hardware on the network.  Following is the VB script I decided to use:

strComputer = InputBox ("Enter Machine Name")

 

Const NUMBER_OF_ROWS = 15

Const NUMBER_OF_COLUMNS = 2

 

Set objWord = CreateObject("Word.Application")

objWord.Visible = True

Set objDoc = objWord.Documents.Add()

 

Set objRange = objDoc.Range()

objDoc.Tables.Add objRange, NUMBER_OF_ROWS, NUMBER_OF_COLUMNS

Set objTable = objDoc.Tables(1)

objTable.Cell(1,1).Range.Text = "System Information For: "

objTable.Cell(2,1).Range.Text = "Manufacturer"

objTable.Cell(3,1).Range.Text = "Model"

objTable.Cell(4,1).Range.Text = "Domain Type"

objTable.Cell(5,1).Range.Text = "Total Physical Memory"

objTable.Cell(6,1).Range.Text = "Processor Manufacturer"

objTable.Cell(7,1).Range.Text = "Processor Name"

objTable.Cell(8,1).Range.Text = "Processor Clock Speed"

objTable.Cell(9,1).Range.Text = "Bios Version"

objTable.Cell(10,1).Range.Text = "Serial Number"

objTable.Cell(11,1).Range.Text = "Video Controller"

objTable.Cell(12,1).Range.Text = "CD-ROM Manufacturer"

objTable.Cell(13,1).Range.Text = "CD-ROM Name"

objTable.Cell(14,1).Range.Text = "KeyBoard"

objTable.Cell(15,1).Range.Text = "Primary Drive Size"

 

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")

For Each objItem in colItems

objTable.Rows.Add()

objTable.Cell(1, 2).Range.Text = UCase(strComputer)

objTable.Cell(2, 2).Range.Text = objItem.Manufacturer

objTable.Cell(3, 2).Range.Text = objItem.Model

Select Case objItem.DomainRole

Case 0 strComputerRole = "Standalone Workstation"

Case 1 strComputerRole = "Member Workstation"

Case 2 strComputerRole = "Standalone Server"

Case 3 strComputerRole = "Member Server"

Case 4 strComputerRole = "Backup Domain Controller"

Case 5 strComputerRole = "Primary Domain Controller"

End Select

objTable.Cell(4, 2).Range.Text = strComputerRole

objTable.Cell(5, 2).Range.Text = objItem.TotalPhysicalMemory/1048576 & " MB"

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")

For Each objItem in colItems

objTable.Cell(6, 2).Range.Text = objItem.Manufacturer

objTable.Cell(7, 2).Range.Text = objItem.Name

objTable.Cell(8, 2).Range.Text = Round(objItem.MaxClockSpeed) & " MHz"

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS")

For Each objItem in colItems

objTable.Cell(9, 2).Range.Text = objItem.Version

objTable.Cell(10, 2).Range.Text = objItem.SerialNumber

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController")

For Each objItem in colItems

objTable.Cell(11, 2).Range.Text = objItem.Name

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive")

For Each objItem in colItems

objTable.Cell(12, 2).Range.Text = objItem.Manufacturer

objTable.Cell(13, 2).Range.Text = objItem.Name

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_Keyboard")

For Each objItem in colItems

objTable.Cell(14, 2).Range.Text = objItem.Caption

Next

 

Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk Where DeviceID = ""C:""")

For Each objItem in colItems

objTable.Cell(15, 2).Range.Text = Round(objItem.Size /1073741824) & " GB"

 

Next

objTable.AutoFormat(23)