Uniquely identifying PCs

  • Thread starter Thread starter tommytwh
  • Start date Start date
T

tommytwh

I got the following information from http://aumha.org/win5/a/wpa.htm,

The WPA system checks ten categories of hardware:

1. Display Adapter
2. SCSI Adapter
3. IDE Adapter (effectively the motherboard)
4. Network Adapter (NIC) and its MAC Address
5. RAM Amount Range (i.e., 0-64mb, 64-128mb, etc.)
6. Processor Type
7. Processor Serial Number
8. Hard Drive Device
9. Hard Drive Volume Serial Number (VSN)
10. CD-ROM / CD-RW / DVD-ROM

Is there an easy way to obtain the above information such as using a
script? I am looking for ways to uniquely identify a PC.

thanks!
 
(e-mail address removed) Writes:
1. Display Adapter
2. SCSI Adapter
3. IDE Adapter (effectively the motherboard)
4. Network Adapter (NIC) and its MAC Address
5. RAM Amount Range (i.e., 0-64mb, 64-128mb, etc.)
6. Processor Type
7. Processor Serial Number
8. Hard Drive Device
9. Hard Drive Volume Serial Number (VSN)
10. CD-ROM / CD-RW / DVD-ROM

Is there an easy way to obtain the above information such as using a
script? I am looking for ways to uniquely identify a PC.
Tommy ,
Easy ? no ,nothing is easy .
First ,if you want to uniquely identify the PC ,you must limit your
selection to PCs made in the last 5 years. Then all you need is the
processor serial number ,the way to read this is well documented
all over the net.
Second ,If any one really cares ,they can subvert any and all
efforts
anyone makes to 'protect' their software. I have seen PAL chips
burned for dongles ,EPROMS duplicated for MAC addresses ,
and hard drives scanned for special info in the bad track lists.
Not to mention code disassembled and scanned for cracks.
There are sniffers for serial nets of all types ,that intercept and
can modify information on the fly. If this were within one corporation
and only for inventory ID ,then a simple file placed on the hard
drive would suffice (matching IDs in a database).
So you know I'm not just trying to put this type of thing down ,
I'll run down the list item by item ,to show the basic difficulties.
Remember corporations will have as many similar equipped
machines as possible due to support issues. (*)

(*)1. Display Adapter : Must be new enough to support ID
(made in the last 10 years) Easy to get via VESA.
(*) 2. SCSI Adapter : During any year there are 4 that will
have 95% of the market share. Easy to get via BIOS.
(*) 3. IDE Adapter (effectively the motherboard)
Easy to get BIOS-ID of both.
4. Network Adapter (NIC) and its MAC Address :
Easy to get BIOS-ID and MAC.
Forget ID ,MAC should be unique.
5. RAM Amount Range (i.e., 0-64mb, 64-128mb, etc.):
Forget this ,this has got to be the most changed
thing in pc's ,but easy to get from *most* OSs.
(*) 6. Processor Type : Same as #2 .
7. Processor Serial Number : Your best bet ,although
it has to be turned on in BIOS and system must be
relatively new.
(*) 8. Hard Drive Device : IDE & SCSI both have
commands for this.
9. Hard Drive Volume Serial Number (VSN) :
You do know this is set via software ,right ?
(*) 10. CD-ROM / CD-RW / DVD-ROM : same as #8

You didn't mention OS (Operating System) ,your level
of coding expertise, or why you want to do this, so
pointers to code on web sites is impossible.
Chips in the computer (on topic) can only do so much
(patting ones self on back for the pun). Remember both
the software and the transmission of 'keys' are easy points
of attack for the occasional hacker, and the PROM devices
for those who frequent this group.
Look at the trouble Microsoft is having with XP upgrades
right now (the barn door seems to be open). With their
resources they can't master this without releasing a proprietary
system (not x86 or common) based on a new architecture.
Hope this clarifies the Situation,
Mark Whitlock.
 
WMI can almost certainly do it, if your OS supports it.
For example, if you run the script below through
Windows Script Host (from a .vbs file) it'll give you
the processor id.

set System =
GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select *
from Win32_Processor")
for each obj in System
wscript.echo "Processor ID = " & obj.ProcessorID
next
 
Back
Top