[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Tony Toews

3/8/2012 3:59:00 AM

Folks

I have to ensure that I can uniquely identify a particular PC so I can
fetch/update some information from a database.

Domain/workgroup and machine name clearly aren't specific enough.
The SID can be duplicated. As can the Windows license key, I think,
due to large corp/educational institions volume licensing.

MAC address? How do I know which are real physical devices, the
RJ45 and wireless ports vs various virtual ports of which I have many
on my system what with VMWare and such.

Tony
8 Answers

unknown

3/8/2012 4:18:00 AM

0

"Tony Toews" <ttoews@telusplanet.net> wrote in message
news:vcbgl79lt036df9fh0jphqf3fcjudkadb4@4ax.com...
> Folks
>
> I have to ensure that I can uniquely identify a particular PC so I can
> fetch/update some information from a database.
>
> Domain/workgroup and machine name clearly aren't specific enough.

Why not? You can use GetComputerNameEx() to get a name like
myserver1.company.com.

> The SID can be duplicated. As can the Windows license key, I think,
> due to large corp/educational institions volume licensing.
>
> MAC address? How do I know which are real physical devices, the
> RJ45 and wireless ports vs various virtual ports of which I have many
> on my system what with VMWare and such.

Would identifying the user enough, or it must be the PC? In my case, I only
wanted a way to identify the user, and the way I did it is by storing a
GUID(as a form of random number) in a location in HKCU and send it to the
server to lookup the user's settings. HKCU is always writable, so I didn't
have problems with permissions.



Tony Toews

3/8/2012 4:28:00 AM

0

On Wed, 7 Mar 2012 23:17:45 -0500, "Farnsworth" <nospam@nospam.com>
wrote:

>> I have to ensure that I can uniquely identify a particular PC so I can
>> fetch/update some information from a database.
>>
>> Domain/workgroup and machine name clearly aren't specific enough.
>
>Why not? You can use GetComputerNameEx() to get a name like
>myserver1.company.com.

But what if it's a home PC not joined to a domain? Also can't
Windows server domains be independent of the company domain? That is
they don't have to be part of the external domain system. Or maybe I
don't know enough to ask the right questions.

>> The SID can be duplicated. As can the Windows license key, I think,
>> due to large corp/educational institions volume licensing.
>>
>> MAC address? How do I know which are real physical devices, the
>> RJ45 and wireless ports vs various virtual ports of which I have many
>> on my system what with VMWare and such.
>
>Would identifying the user enough, or it must be the PC? In my case, I only
>wanted a way to identify the user, and the way I did it is by storing a
>GUID(as a form of random number) in a location in HKCU and send it to the
>server to lookup the user's settings. HKCU is always writable, so I didn't
>have problems with permissions.

Hmm, now that's a good idea I hadn't thought of. Thanks muchly. In
this case if the user reformats the OS or moves to a new PC that's
fine. I just care to ensure the PC is somehow unique to the
database. And if it's multiple users on the PC that's fine too.

Actually that's an excellent idea! I gotta think about that a bit
but yes that could very much work.

Tony

GS

3/8/2012 4:40:00 AM

0

Tony Toews expressed precisely :
> Folks
>
> I have to ensure that I can uniquely identify a particular PC so I can
> fetch/update some information from a database.
>
> Domain/workgroup and machine name clearly aren't specific enough.
> The SID can be duplicated. As can the Windows license key, I think,
> due to large corp/educational institions volume licensing.
>
> MAC address? How do I know which are real physical devices, the
> RJ45 and wireless ports vs various virtual ports of which I have many
> on my system what with VMWare and such.
>
> Tony

WMI can give you all kinds of PC hardware info. The Bios serial number
belongs to the motherboard and so uniquely identifies a CPU. In the
event of clones/counterfeit machines I assign a 'seatID' (similar to
what Farnsworth does) and store it in a specific HKCU key. I assume you
want your app to be able to identify any machine across a network and
so if you license your app then it may be possible to use the stored
SeatID when your app is accessed. I have a fairly complex licensing
methodology that lets me monitor which workstations are accessing my
site license service by adding/removing their respective SeatID
whenever they run my app locally using the site license. That's how my
apps determine if startup can proceed based on the current number of
available unused seats on the site license profile.

--
Garry

Free usenet access at http://www.eternal-sep...
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion


unknown

3/8/2012 4:49:00 AM

0

"Tony Toews" <ttoews@telusplanet.net> wrote in message
news:l2dgl71iemrmkee9nd0v2sun8s6r1iup5h@4ax.com...
> On Wed, 7 Mar 2012 23:17:45 -0500, "Farnsworth" <nospam@nospam.com>
> wrote:
>
>>> I have to ensure that I can uniquely identify a particular PC so I can
>>> fetch/update some information from a database.
>>>
>>> Domain/workgroup and machine name clearly aren't specific enough.
>>
>>Why not? You can use GetComputerNameEx() to get a name like
>>myserver1.company.com.
>
> But what if it's a home PC not joined to a domain? Also can't
> Windows server domains be independent of the company domain? That is
> they don't have to be part of the external domain system. Or maybe I
> don't know enough to ask the right questions.

If these PC's are hooked up to the same LAN, then they need to be unique
somehow, but if you need a solution that identify computers from multiple
networks, then you need a different solution.

>>> The SID can be duplicated. As can the Windows license key, I think,
>>> due to large corp/educational institions volume licensing.
>>>
>>> MAC address? How do I know which are real physical devices, the
>>> RJ45 and wireless ports vs various virtual ports of which I have many
>>> on my system what with VMWare and such.
>>
>>Would identifying the user enough, or it must be the PC? In my case, I
>>only
>>wanted a way to identify the user, and the way I did it is by storing a
>>GUID(as a form of random number) in a location in HKCU and send it to the
>>server to lookup the user's settings. HKCU is always writable, so I didn't
>>have problems with permissions.
>
> Hmm, now that's a good idea I hadn't thought of. Thanks muchly. In
> this case if the user reformats the OS or moves to a new PC that's
> fine. I just care to ensure the PC is somehow unique to the
> database. And if it's multiple users on the PC that's fine too.
>
> Actually that's an excellent idea! I gotta think about that a bit
> but yes that could very much work.

The problem with this is that HKCU and the user's profile could roam.
Meaning that the user could log into one PC(which downloads the user's
profile from a server) then logs out(which uploads the changed user's
profile to the server), then logs into another PC, so if you do this, the
settings would be tied to user and not the PC. If roaming is disabled, then
you are basically identifying the user on a specific PC. If he logs into
another computer, he is a different user as far as you are concerned.




GS

3/8/2012 5:31:00 AM

0

Farnsworth laid this down on his screen :
> "Tony Toews" <ttoews@telusplanet.net> wrote in message
> news:l2dgl71iemrmkee9nd0v2sun8s6r1iup5h@4ax.com...
>> On Wed, 7 Mar 2012 23:17:45 -0500, "Farnsworth" <nospam@nospam.com>
>> wrote:
>>
>>>> I have to ensure that I can uniquely identify a particular PC so I can
>>>> fetch/update some information from a database.
>>>>
>>>> Domain/workgroup and machine name clearly aren't specific enough.
>>>
>>>Why not? You can use GetComputerNameEx() to get a name like
>>>myserver1.company.com.
>>
>> But what if it's a home PC not joined to a domain? Also can't
>> Windows server domains be independent of the company domain? That is
>> they don't have to be part of the external domain system. Or maybe I
>> don't know enough to ask the right questions.
>
> If these PC's are hooked up to the same LAN, then they need to be unique
> somehow, but if you need a solution that identify computers from multiple
> networks, then you need a different solution.
>
>>>> The SID can be duplicated. As can the Windows license key, I think,
>>>> due to large corp/educational institions volume licensing.
>>>>
>>>> MAC address? How do I know which are real physical devices, the
>>>> RJ45 and wireless ports vs various virtual ports of which I have many
>>>> on my system what with VMWare and such.
>>>
>>>Would identifying the user enough, or it must be the PC? In my case, I only
>>>wanted a way to identify the user, and the way I did it is by storing a
>>>GUID(as a form of random number) in a location in HKCU and send it to the
>>>server to lookup the user's settings. HKCU is always writable, so I didn't
>>>have problems with permissions.
>>
>> Hmm, now that's a good idea I hadn't thought of. Thanks muchly. In
>> this case if the user reformats the OS or moves to a new PC that's
>> fine. I just care to ensure the PC is somehow unique to the
>> database. And if it's multiple users on the PC that's fine too.
>>
>> Actually that's an excellent idea! I gotta think about that a bit
>> but yes that could very much work.
>
> The problem with this is that HKCU and the user's profile could roam. Meaning
> that the user could log into one PC(which downloads the user's profile from a
> server) then logs out(which uploads the changed user's profile to the
> server), then logs into another PC, so if you do this, the settings would be
> tied to user and not the PC. If roaming is disabled, then you are basically
> identifying the user on a specific PC. If he logs into another computer, he
> is a different user as far as you are concerned.

If your methodology grabs the MachineID and UserID then you win on both
counts. I just go with MachineID, which is a combo of BiosSerialNum and
the assigned SeatID as contained in the license profile. There's no
reason I can't grab UserInfo while I'm at it but that doesn't serve any
purpose for me in the grand scheme of site licensing. Note that I also
support 'Roam' license profiles in cases where the app being used is
run from a USB drive to which it is licensed. In this case the
MachineID is the digital signature of the USB drive combined with the
SeatID assigned to the drive AND the SeatID of the PC the license was
derived from, AND the site license's 'SiteID'. All of this info is
stored in the license 'profile'. The site license service stores/counts
logged in SeatID's.

--
Garry

Free usenet access at http://www.eternal-sep...
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion


Dee Earley

3/8/2012 9:13:00 AM

0

On 08/03/2012 03:58, Tony Toews wrote:
> Folks
>
> I have to ensure that I can uniquely identify a particular PC so I can
> fetch/update some information from a database.
>
> Domain/workgroup and machine name clearly aren't specific enough.
> The SID can be duplicated. As can the Windows license key, I think,
> due to large corp/educational institions volume licensing.
>
> MAC address? How do I know which are real physical devices, the
> RJ45 and wireless ports vs various virtual ports of which I have many
> on my system what with VMWare and such.

MAC addresses can also be changed (carefully) and duplicated (much
breakage, but is done)

I'd go with a single GUID you create on first run and use that for all
subsequent requests. This will be lost on a reinstall though.

--
Deanna Earley (dee.earley@icode.co.uk)
i-Catcher Development Team
http://www.icode.co.uk...

iCode Systems

(Replies direct to my email address will be ignored.
Please reply to the group.)

Tony Toews

3/8/2012 4:44:00 PM

0

On Wed, 7 Mar 2012 23:48:39 -0500, "Farnsworth" <nospam@nospam.com>
wrote:

>The problem with this is that HKCU and the user's profile could roam.
>Meaning that the user could log into one PC(which downloads the user's
>profile from a server) then logs out(which uploads the changed user's
>profile to the server), then logs into another PC, so if you do this, the
>settings would be tied to user and not the PC. If roaming is disabled, then
>you are basically identifying the user on a specific PC. If he logs into
>another computer, he is a different user as far as you are concerned.

Yes, I see your point. But for my objective that's fine. Indeed
that's preferable. It's not the user so much as the machine and the
above scenario is a different machine.

Tony
--
Tony Toews, Microsoft Access MVP
Tony's Main MS Access pages - http://www.granite.ab.ca/ac...
Tony's Microsoft Access Blog - http://msmvps.com/blo...
For a convenient utility to keep your users FEs and other files
updated see http://www.autofeup...

Tony Toews

3/8/2012 4:46:00 PM

0

On Thu, 08 Mar 2012 09:12:34 +0000, Deanna Earley
<dee.earley@icode.co.uk> wrote:

>I'd go with a single GUID you create on first run and use that for all
>subsequent requests. This will be lost on a reinstall though.

Losing the GUID on a reinstall is just fine for my situation. I
really just want to count the downloads and know if a download has
already happened. And grab some very basic information.