Is there any number I can get that is truly unique for a computer that can't
be changed? I want to have a system whereby I have a computer that accesses
a web service based on some unique value that can't be changed. Or at least
if it is changed, it's not changed frequently. (IP address won't work
because that can change frequently).
Here's my thought - the program boots up, finds some unique piece of
information, sends that off to the web service who checks that against a
master list. If the ID is there, everything is OK, if not - it stops dead
(there of course would be a way to add the ID to the master list but that
would involve human interaction.)
This is for a system whereby when a user buys our product, we only allow x
number of machines to connect to the web service and need to limit that.
I've thought about MAC address but have been told that that can be spoofed.
If there either a serial number or GUID available for the machine itself?
TIA - Jeffrey.
Francisco Garcia - 19 Sep 2005 16:59 GMT
Have you tried the microprocessor serial number?
> Is there any number I can get that is truly unique for a computer that
> can't be changed? I want to have a system whereby I have a computer that
[quoted text clipped - 17 lines]
>
> TIA - Jeffrey.
UJ - 19 Sep 2005 17:31 GMT
How do I get the microprocessor serial number? That was actually something I
was thinking about but don't know how to get at it.....
J.
> Have you tried the microprocessor serial number?
>
[quoted text clipped - 20 lines]
>>
>> TIA - Jeffrey.
Mubashir Khan - 20 Sep 2005 07:26 GMT
Public Class Processador
Private moReturn As System.management.ManagementObjectCollection
Private moSearch As Management.ManagementObjectSearcher
Private mo As Management.ManagementObject
Private sFabricante, sNome, sSerial, sVelocidade, sTipo, sDispositivo,
sClockMaximo As String
Private sL2CacheSize, sL2CacheSpeed, sLevel, sStepping As String
Sub New()
moSearch = New Management.ManagementObjectSearcher("Select * from
Win32_Processor")
moReturn = moSearch.Get
For Each mo In moReturn
Me.sFabricante = mo("Manufacturer").ToString.Trim
Me.sNome = mo("Name").ToString.Trim
Me.sSerial = mo("ProcessorID").ToString.Trim
Me.sVelocidade = mo("CurrentClockSpeed").ToString.Trim
Me.sTipo = mo("Description").ToString.Trim
Me.sDispositivo = mo("DeviceID").ToString.Trim
Me.sClockMaximo = mo("MaxClockSpeed").ToString.Trim
Me.sL2CacheSize = mo("L2CacheSize").ToString.Trim
Me.sL2CacheSpeed = mo("L2CacheSpeed").ToString.Trim
Me.sLevel = mo("Level").ToString.Trim
Me.sStepping = mo("Stepping").ToString.Trim
Next
End Sub
end Class
> How do I get the microprocessor serial number? That was actually something I
> was thinking about but don't know how to get at it.....
[quoted text clipped - 25 lines]
> >>
> >> TIA - Jeffrey.
C-Services Holland b.v. - 20 Sep 2005 12:27 GMT
> Have you tried the microprocessor serial number?
Not all procs have those anymore. And if they do, the nr can be disabled
in the BIOS.
Nick Malik [Microsoft] - 21 Sep 2005 04:02 GMT
Have you looked at using "Client Certificates" for this? If you use client
certs, you can configure IIS to reject connection attempts from systems that
either don't have a certificate or whose certificate has expired (or been
revoked, by you, of course). I don't know if you can then configure the
maximum number of connections but I suspect that you may also be able to do
that using IIS.
Client certificates will solve your problem.

Signature
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
> Is there any number I can get that is truly unique for a computer that
> can't be changed? I want to have a system whereby I have a computer that
[quoted text clipped - 17 lines]
>
> TIA - Jeffrey.