Solved

Remotely Obtain Serial Numbers For Multiple PCs At Once?

Posted on 2007-03-27
8
224 Views
Last Modified: 2011-02-11
I located a vbs script some time ago were I get remotely obtain a machines serial number.

On Error Resume Next
Dim System
if Wscript.Arguments.Count >0 then
sSystem=Wscript.Arguments(0)
end if
ComputerName = InputBox("Enter the name of the computer you wish to query")
winmgmt1 = "winmgmts:{impersonationLevel=impersonate}!//"& ComputerName &""
Set SNSet = GetObject( winmgmt1 ).InstancesOf ("Win32_BIOS")
for each SN in SNSet
MsgBox "The serial number for the specified computer is: " & SN.SerialNumber
Next


pause



 Works fine on most pcs.  What I would like to do however is instead of checking 1 by one, I would like to check multiple pcs at once.  Does anyone know how I can do this?

Thanks

0
Comment
Question by:master_windu
  • 5
  • 3
8 Comments
 
LVL 43

Expert Comment

by:Steve Knight
ID: 18802851
You could make it work down a text file.  This could be done just in VBS (sirbounty will no doubt help you with that here shortly as...) or you can use a batch file to call your VB script, e.g.

@echo off
REM Save as SerialNums.cmd
set source=complist.txt
set dest=serials.txt
echo ------------%DATE%  %TIME-------------->>%dest%
if not exist "%source%" then echo Unable to find computer list & goto end
for /f "tokens=1" %%a in (complist.txt) do cscript sernum.vbs %%a >> serials.txt
:end

REM sernum.vbs
On Error Resume Next
Dim ComputerName
if Wscript.Arguments.Count >0 then
   ComputerName=Wscript.Arguments(0)
else
   ComputerName = InputBox("Enter the name of the computer you wish to query")
end if
winmgmt1 = "winmgmts:{impersonationLevel=impersonate}!//"& ComputerName &""
Set SNSet = GetObject( winmgmt1 ).InstancesOf ("Win32_BIOS")
for each SN in SNSet
    wscript.echo ComputerName,SN.SerialNumber
Next
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 18802857
That works down a list in complist.txt, one per line of all your computers.
0
 

Author Comment

by:master_windu
ID: 18804387
thanks

I must be doing something wrong

I created the complist.txt file and placed it in the same dir as the .cmd and vbs file

when I run serialnums.cmd, the cmd window appears with todays date and the word "dest"
the serials.txt file is generated but it only reads.....

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 43

Accepted Solution

by:
Steve Knight earned 500 total points
ID: 18806376
OK, sorry made a typo in the entry for %time% as %time caused one of the issues here.  Try this:

@echo off
REM Save as SerialNums.cmd
set source=complist.txt
set dest=serials.txt
echo ------------%DATE%  %TIME%-------------->>%dest%
if not exist "%source%" then echo Unable to find computer list & goto end
for /f "tokens=1" %%a in (%source%) do cscript //nologo sernum.vbs %%a >> %DEST%
:end
start %dest%

REM sernum.vbs
On Error Resume Next
Dim ComputerName
if Wscript.Arguments.Count >0 then
   ComputerName=Wscript.Arguments(0)
else
   ComputerName = InputBox("Enter the name of the computer you wish to query")
end if
winmgmt1 = "winmgmts:{impersonationLevel=impersonate}!//"& ComputerName &""
Set SNSet = GetObject( winmgmt1 ).InstancesOf ("Win32_BIOS")
for each SN in SNSet
    wscript.echo ComputerName,SN.SerialNumber
Next
0
 

Author Comment

by:master_windu
ID: 18809847
Thanks. works great as long as i use ip addesses in the complist.txt file.

any way i can use machine names?
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 18811852
Can your computer resolve the names when you PING them for starters I suppose?  You might have to add them to the file fully qualified, i.e. name.domain.com?
0
 

Author Comment

by:master_windu
ID: 18812192
all is well.  I went back and tried some more machine names and I was able  to get back a serial without the fqdm.

Thanks
0
 
LVL 43

Expert Comment

by:Steve Knight
ID: 18812266
No problem, glad to help!

Steve
0

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
It is a general practice to get rid of old user profiles on a computer  in a LAN environment. As I have been working with a company in a LAN environment where users move from one place to some other place at times. This will make many user profil…
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

822 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question