Remotely Obtain Serial Numbers For Multiple PCs At Once?

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

master_winduAsked:
Who is Participating?
 
Steve KnightConnect With a Mentor IT ConsultancyCommented:
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
 
Steve KnightIT ConsultancyCommented:
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
 
Steve KnightIT ConsultancyCommented:
That works down a list in complist.txt, one per line of all your computers.
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
master_winduAuthor Commented:
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_winduAuthor Commented:
Thanks. works great as long as i use ip addesses in the complist.txt file.

any way i can use machine names?
0
 
Steve KnightIT ConsultancyCommented:
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
 
master_winduAuthor Commented:
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
 
Steve KnightIT ConsultancyCommented:
No problem, glad to help!

Steve
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.