Hallo,
wie kann ich mit AutoIt einen Maschinen GUID (Globally Unique Identifier) vom aktuellen Rechner herausbekommen?
Hallo,
wie kann ich mit AutoIt einen Maschinen GUID (Globally Unique Identifier) vom aktuellen Rechner herausbekommen?
Hab mich nicht in die Materie eingelesen, aber ich denke das könnte hier hinkommen:
[autoit]$struct = DllStructCreate ("ulong Data1; ushort Data2; ushort Data3; ubyte Data4[8]")
[/autoit][autoit][/autoit][autoit]DllCall ("Rpcrt4.dll", "int", "UuidCreate", "ptr", DllStructGetPtr ($struct));
[/autoit][autoit][/autoit][autoit]$s = StringFormat ("%X-%X-%X-%X", DllStructGetData ($struct, 1), DllStructGetData ($struct, 2), DllStructGetData ($struct, 3), DllStructGetData ($struct, 4))
Msgbox (0, "GUID", $s)
Ich glaube, Deepred will keine beliebige GUID sondern einen Computerkey, der den Computer identifiziert (wie bei der Windows-Aktivierung) Da muss ich aber leider passen.
Naja solang der PC eine Mac Karte hat, ist das was die Funktion generiert so wie ich es verstanden hab, einmalig.
Siehe auch hier:
http://www.autoitscript.com/forum/index.php?s=&showtopic=24468&view=findpost&p=171537
Ja klar kommt da eine einmalige Nummer raus. Die ist aber bei jedem Aufruf eine neue. Es soll aber ein Key sein, der den Rechner kennzeichnet und mit dem man überprüfen kann, ob z.B. Hardware ausgetauscht wurde wie bei der Aktivierung von Windows.
Ich hatte es auch so verstanden, dass eine dem PC bereits zugeordnete GUID ausgelesen werden soll (auch wenn die Überschrift von Erstellen spricht).
Hab mal etwas gesucht aber nur sehr widersprüchliche Angaben gefunden. Allem Anschein nach wird standardmäßig auf einem Windows-PC wohl keine Maschinen GUID generiert.
Achso sie soll nicht nur eindeutig sondern auch einmal sein ^^.
Ja dann muss du wahscheinlich selber was basteln, mit MAC Adresse, irgendwas mit der Festplatten GUID usw.
Hat nicht jedes Hardwareteile eine EINDEUTIGE Kennung in Form von Seriennummern. Ich meine ich habe sogar mal gelesen, das der erste Block einer Mac-Adresse auf einen Hersteller sogar hin weißt.
Nicht ratsam ist mit "Label" zu arbeiten, da sich ein Label ändern kann.
Nutze mal die Suchfunktion und suche in Richtugn PC Inforamationen / PC Info / Info. Da sind bereits einige sehr gute Scripte geschrieben, da auch Hardwarebezeichnungen ausgelesen wurden.
Vielleich kann ja jemand der da eindeutige Kennungen gibt, diese hier posten. Daraus kann dann ja jeder sich das raus "nehmen", was er benötigt.
Vielleicht meint er ja auch diese hier:
MsgBox(0,"", "UUID: " & GetMachineGUID())
[/autoit] [autoit][/autoit] [autoit]Func GetMachineGUID()
Local $oWMI = ObjGet("winmgmts:\\.\root\CIMV2")
For $x In $oWMI.ExecQuery("SELECT UUID FROM Win32_ComputerSystemProduct", "WQL", 0x30)
Return $x.UUID
Next
EndFunc
Aber auch die ist nicht garantiert eindeutig.
AspirinJunkie: das Ergebnis sieht aber sehr merkwürdig aus. Bei mir: 00000000-0000-0000-0807-060504030201
Bei mir so wie es Deepred wünscht.
autoit.de/wcf/attachment/5303/
[Blockierte Grafik: http://download.lima-city.de/deepred/Bilder/895781341152188893.jpg]