Discussion:
Festplatten-ID auslesen?
(zu alt für eine Antwort)
Christian Gerner
2004-10-16 20:09:28 UTC
Permalink
Hallo,

wie kann man eine eindeutige Festplatten-ID auslesen, die sich nicht mit
irgendwelchen Tools verändern lässt? Gibt's das überhaupt eine?

Ich habe nur die API-Funktion GetVolumeInformationA gefunden. Diese scheint
aber nur eine Nummer zurückzuliefern, die bei der Partitionierung vergeben
wird und sich mit Tools, z.B. von Sysinternals, auch jederzeit verändern
lässt.

Gruß,
Christian
Herfried K. Wagner [MVP]
2004-10-16 20:28:21 UTC
Permalink
Hallo Christian!
Post by Christian Gerner
wie kann man eine eindeutige Festplatten-ID auslesen,
die sich nicht mit irgendwelchen Tools verändern lässt?
Was genau bezweckst du damit?
--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>
Christian Gerner
2004-10-16 21:50:30 UTC
Permalink
Hallo Herfried,
Post by Herfried K. Wagner [MVP]
Post by Christian Gerner
wie kann man eine eindeutige Festplatten-ID auslesen,
die sich nicht mit irgendwelchen Tools verändern lässt?
Was genau bezweckst du damit?
ich möchte feststellen, auf welchem Computer ein Programm läuft. Die
Kennung soll auch dann noch die gleiche sein, wenn Windows neu installiert
wurde oder Partitionen verändert wurden. Deshalb scheidet die Funktion aus
GetVolumeInformationA aus, da sie sich nur auf eine Kennung, die bei der
Partitionierung festgelegt wurde, bezieht.

Ob man die Kennung mit einem Tool ändern kann oder nicht, ist mir
eigentlich gar nicht so wichtig. Allerdings sollte sie sich eben nicht bei
jeder Windows-Neuinstallation oder Umpartitionierung ändern.

Gruß,
Christian
Thorsten Dörfler
2004-10-16 22:08:06 UTC
Permalink
Post by Christian Gerner
wie kann man eine eindeutige Festplatten-ID auslesen, die sich nicht mit
irgendwelchen Tools verändern lässt? Gibt's das überhaupt eine?
Zur Not tut's nen Schraubendreher. Neue Platte rein, neue ID. Und nun?
Post by Christian Gerner
Ich habe nur die API-Funktion GetVolumeInformationA gefunden. Diese scheint
aber nur eine Nummer zurückzuliefern, die bei der Partitionierung vergeben
wird und sich mit Tools, z.B. von Sysinternals, auch jederzeit verändern
lässt.
Letztendlich bekommst Du immer nur eine ID, die sich auf irgendeine Art
und Weise verändern lässt. Ich vermute mal, dass Du damit einen
Kopierschutz oder wie es neuerdings heißt, eine Produktaktivierung
realisieren möchtest. Dazu sollte Dir Google entsprechende Treffer liefern.

Thorsten Dörfler
--
vb-hellfire - einfach anders
http://www.vb-hellfire.de/
Christian Gerner
2004-10-16 23:42:39 UTC
Permalink
Post by Thorsten Dörfler
Zur Not tut's nen Schraubendreher. Neue Platte rein, neue ID. Und nun?
Ja, ist klar. Es geht auch um nichts professionelles. Wie ich in
<1oy82y3ds49zs$***@ID-75158.user.uni-berlin.de> schrieb, geht es mir
eigentlich nicht so sehr darum, dass sich die ID auf gar keinen Fall ändern
lässt, sondern mehr darum, dass sie sich nicht bei jeder Windows-
Neuinstallation oder Umpartitionierung ändert.

Also, gibt es auf der Festplatte eine solche ID und wie kann ich sie aus VB
lesen?
Post by Thorsten Dörfler
Letztendlich bekommst Du immer nur eine ID, die sich auf irgendeine Art
und Weise verändern lässt. Ich vermute mal, dass Du damit einen
Kopierschutz oder wie es neuerdings heißt, eine Produktaktivierung
realisieren möchtest. Dazu sollte Dir Google entsprechende Treffer liefern.
Nein, also wie ich aus VB eine andere Festplatten-Kennung außer der
genannten bekomme, konnte ich nicht finden. Bei der Festplatte möchte ich
bleiben, weil MAC nicht vorhanden sein muss und sich Prozessordaten IMHO
nur bei den neueren auslesen lassen. Auf eine komplizierte Verknüpfung
mehrerer Merkmale möchte ich verzichten.

Gruß,
Christian
Heiko Ulf
2004-10-17 06:58:27 UTC
Permalink
Post by Christian Gerner
Nein, also wie ich aus VB eine andere Festplatten-Kennung außer der
genannten bekomme, konnte ich nicht finden. Bei der Festplatte möchte ich
bleiben, weil MAC nicht vorhanden sein muss und sich Prozessordaten IMHO
nur bei den neueren auslesen lassen. Auf eine komplizierte Verknüpfung
mehrerer Merkmale möchte ich verzichten.
Gruß,
Christian
Hallo Christian,
schau mal bei Randy vorbei
http://vbnet.mvps.org/index.html?code/wmi/wmibios.htm

hth

Heiko Ulf
Christian Gerner
2004-10-17 09:04:24 UTC
Permalink
Post by Heiko Ulf
schau mal bei Randy vorbei
http://vbnet.mvps.org/index.html?code/wmi/wmibios.htm
Danke für Deine Antwort, Heiko. Auf der Seite steht aber:
| Prerequisites Windows Script Host is built into Microsoft Windows 98,
| 2000, ME and XP. If you are running Windows 95 or NT4, you can download
| Windows Script Host from the Microsoft Windows Script Technologies Web
| site

Die Ausgabe der ID sollte natürlich auch unter Windows 95 und NT4
funktionieren. Außerdem kann man IMHO den Scripting-Host auch unter Windows
2000 und XP deaktivieren. Kommt also deshalb nicht in Frage.

Gruß,
Christian
Christoph Basedau
2004-10-17 18:49:21 UTC
Permalink
Post by Christian Gerner
Post by Heiko Ulf
schau mal bei Randy vorbei
http://vbnet.mvps.org/index.html?code/wmi/wmibios.htm
| Prerequisites Windows Script Host is built into Microsoft Windows 98,
| 2000, ME and XP. If you are running Windows 95 or NT4, you can download
| Windows Script Host from the Microsoft Windows Script Technologies Web
| site
Die Ausgabe der ID sollte natürlich auch unter Windows 95 und NT4
funktionieren. Außerdem kann man IMHO den Scripting-Host auch unter Windows
2000 und XP deaktivieren. Kommt also deshalb nicht in Frage.
Um WMI in VB zu nutzen, braucht man *keinen* installierten Scripting Host.
Man braucht die WMI-COM-Api.
In Deinem Fall läuft es aber auf dasselbe heraus, weil WMI auch erst ab W2K/ME
zum OS gehört und für Windows NT, 95, 98 nachinstallieren werden müsste, siehe

"Windows Management Instrumentation (WMI) CORE 1.5 "
http://www.microsoft.com/downloads/details.aspx?FamilyId=98A4C5BA-337B-4E92-8C18-A63847760EA5&displaylang=en

Ohne WMI könnten Win-API Funktionen helfen. Ich dachte erst an 'GetVolumeInformation',
aber der out-Parameter lpVolumeSerialNumber bezieht sich wohl auf
auf die 'Seriennnumer' der Partition, was immer das sein soll.
--
Gruesse, Christoph

Rio Riay Riayo - Gordon Sumner, 1979
Thorsten Albers
2004-10-18 23:50:26 UTC
Permalink
Post by Christian Gerner
Also, gibt es auf der Festplatte eine solche ID und wie kann ich sie aus VB
lesen?
Das Stichwort ist "SMART". Wenn Deine Festplatte SMART-fähig ist, dann hat
Windows automatisch einen Treiber zum Auslesen der SMART-Daten installiert.
SMART-fähige Festplatten enthalten einen Sektor, der nicht zu den
allgemeinen Lese-/Schreibsektoren der Festplatte gehört, sondern auf dem
z.B. Typen-Daten ebenso wie Daten zum 'Gesundheits'-Zustand der Festplatte
gespeichert werden - und auch die fragliche ID.
Wenn Du wirklich auf dem Auslesen dieser SMART-Daten bestehst, kann ich Dir
ein kleines Beispiel-Projekt dazu schicken. Es hat allerdings zwei
Einschränkungen:
- Es ist sehr lange her, daß ich das gemacht habe, deswegen kann ich nichts
mehr dazu sagen... (Im Quell-Text stehen allerdings Kommentare)
- Das Projekt ist für Windows 9x geschrieben. Mit ordentlicher Kenntnis der
verwendeten API-Funktionen läßt es sich allerdings ohne Probleme auf NT/XP
umschreiben - aber diese Kenntnisse mußt Du Dir selbst erarbeiten.
Post by Christian Gerner
Nein, also wie ich aus VB eine andere Festplatten-Kennung außer der
genannten bekomme, konnte ich nicht finden. Bei der Festplatte möchte ich
bleiben, weil MAC nicht vorhanden sein muss und sich Prozessordaten IMHO
nur bei den neueren auslesen lassen. Auf eine komplizierte Verknüpfung
mehrerer Merkmale möchte ich verzichten.
Insgesamt ist die Verwendung der SMART-ID in der heutigen Zeit völlig
sinnlos:
- Festplatten werden in der Regel so häufig gewechselt wie keine andere
Komponente. Dank CD/DVD-Brennern und entsprechender Hilfsprogramme lassen
sich die Festplatteninhalte so leicht übertragen, daß nicht 'mal mehr ein
Laie davor zurückschrecken muß.
- S-ATA bietet den extrem leichten Wechsel von Festplatten, je nach System
sogar im laufenden Betrieb. Sogar fürIDE(/ATAPI)-Festplatten gibt es schon
(bzw. noch) Möglichkeiten, Festplatten schnell auszutauschen/umzustöpseln.
- Immer beliebter werden externe Festplatten (USB etc.).

Fazit: Bei den Komponenten im Computer gibt es kaum eine, bei der Du mit
derart großer Sicherheit davon ausgehen kannst, daß die gelieferte ID nach
kurzer Zeit nicht mehr stimmt...
--
----------------------------------------------------------------------
THORSTEN ALBERS Universität Freiburg
albers@
uni-freiburg.de
----------------------------------------------------------------------
Christian Gerner
2004-10-22 18:39:21 UTC
Permalink
Post by Thorsten Albers
Wenn Du wirklich auf dem Auslesen dieser SMART-Daten bestehst, kann ich Dir
ein kleines Beispiel-Projekt dazu schicken.
Ja bitte, schick's mir. Ich möchte es wenigstens mal ausprobieren.
Post by Thorsten Albers
Fazit: Bei den Komponenten im Computer gibt es kaum eine, bei der Du mit
derart großer Sicherheit davon ausgehen kannst, daß die gelieferte ID nach
kurzer Zeit nicht mehr stimmt...
Ja, IMO wird aber Windows öfter neu installiert als eine Platte
ausgetauscht. Für ältere Rechner bekommt man ja gar keine kleinen
Festplatten mehr. A propos: weißt du ab wann ungefähr die Platten S.M.A.R.T
unterstützen?

Gruß,
Christian
Thorsten Albers
2004-10-22 22:59:56 UTC
Permalink
Post by Christian Gerner
Ja bitte, schick's mir. Ich möchte es wenigstens mal ausprobieren.
Ist unterwegs.
Post by Christian Gerner
Ja, IMO wird aber Windows öfter neu installiert als eine Platte
ausgetauscht. Für ältere Rechner bekommt man ja gar keine kleinen
Festplatten mehr.
Das besagt lediglich, daß ein Programm sich auch nicht auf irgendeine ID
stützen sollte, die individuell mit jeder Windows-Installation eingerichtet
wird.
Post by Christian Gerner
A propos: weißt du ab wann ungefähr die Platten S.M.A.R.T
unterstützen?
Da Windows 95 bereits S.M.A.R.T.-Festplatten unterstützt, muß man davon
ausgehen, daß das vor 1995 war. Da für Festplatten m.W. eine
Standard-Gebrauchszeit von max. 10 Jahren vorgesehen ist, kann man wohl
davon ausgehen, daß heute alle Festplatten S.M.A.R.T.-fähig sind. Da stellt
sich dann schon eher die Frage "Wie lange noch?", sprich wann wird eine
neue Technologie für diese Funktionalität eingeführt.
Für genauere Informationen mußt Du googeln. Die Abkürzung S.M.A.R.T. steht
für "Self Monitoring Analysis and Reporting Technology"...
--
----------------------------------------------------------------------
THORSTEN ALBERS Universität Freiburg
albers@
uni-freiburg.de
----------------------------------------------------------------------
Christian Gerner
2004-10-25 19:52:34 UTC
Permalink
Hallo Thorsten,

habe dein Posting erst jetzt gelesen.
Da stellt sich dann schon eher die Frage "Wie lange noch?", sprich
wann wird eine neue Technologie für diese Funktionalität eingeführt.
du hast mich überzeugt. Ich habe auch keine Lust das in ein, zwei
Jahren wieder zu ändern. Über eine Festplatten-ID kann man einen
Rechner nicht erkennen. Ich lass das! Danke nochmal!

Gruß,
Christian

Lesen Sie weiter auf narkive:
Loading...