Solved

Remotely Obtain Serial Numbers For Multiple PCs At Once?

Posted on 2007-03-27
8
223 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
 
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
DevOps Toolchain Recommendations

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

 

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

I have published numerous articles here at Experts Exchange that present programs/scripts written in a language called AutoHotkey. Each of those articles has a brief paragraph describing where to download the product and how to install it. I have al…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Learn the basics of lists in Python. Lists, as their name suggests, are a means for ordering and storing values. : Lists are declared using brackets; for example: t = [1, 2, 3]: Lists may contain a mix of data types; for example: t = ['string', 1, T…
The viewer will learn how to count occurrences of each item in an array.

895 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now