Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Windows (XP, Vista und 7) Lizenzschlüssel auslesen (und ggf. Office)

Mitglied: Skyemugen

Skyemugen (Level 2) - Jetzt verbinden

26.08.2011, aktualisiert 27.09.2011, 12726 Aufrufe, 2 Kommentare, 4 Danke

Aloha alle zusammen,

das folgende Skript stammt, wenn ich mich recht erinnere von dieser Seite, jedoch findet man dieses im Internet nur als XP_KEY_FINDER.vbs, daher dies noch einmal als Tipp hier, weil es auch bis Windows 7 funktioniert

Das folgende VisualBasicScript liest aus der Registry HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion (ja, existiert sogar unter Windows 7) den Wert DigitalProductId aus und stellt die HEX-Werte anhand der niedergeschriebenen Tabelle (wenn man es so nennen möchte) ihren zugehörigen Ziffern entgegen.

Da wie bereits geschrieben, das Skript im Internet nur unter einem anderen Suchbegriff zu finden ist und nicht jeder irgendwelche externen tools (egal ob portable oder zu installieren) nutzen möchte, poste ich dieses Skript mit einer kleinen Erweiterung und dem Kommentar, dass es nicht nur - wie ursprünglich vorgesehen - unter Windows XP arbeitet, sondern auch Windows Vista und Windows 7.
Zum Ausführen eines VBS muss in der Registry HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings der Wert Enabled auf 1 stehen, damit der Scripting Host aktiviert ist (default sollte 1 sein).

01.
Set WshShell = WScript.CreateObject("WScript.Shell") 
02.
HexBuf = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId") 
03.
For l = lBound(HexBuf) to uBound(HexBuf) 
04.
next 
05.
StartOffset = 52 
06.
EndOffset = 67 
07.
Dim Digits (24) 
08.
 
09.
Digits (0) = "B" : Digits (1) = "C": Digits (2) = "D": Digits (3) = "F": 
10.
Digits (4) = "G": Digits (5) = "H": Digits (6) = "J": Digits (7) = "K": 
11.
Digits (8) = "M": Digits (9) = "P": Digits (10) = "Q": Digits (11) = "R": 
12.
Digits (12) = "T": Digits (13) = "V": Digits (14) = "W": Digits (15) = "X": 
13.
Digits (16) = "Y": Digits (17) = "2": Digits (18) = "3": Digits (19) = "4": 
14.
Digits (20) = "6" : Digits (21) = "7" : Digits (22) = "8": Digits (23) = "9" 
15.
 
16.
dLen = 29 
17.
sLen = 15 
18.
Dim HexDigitalPID (15) 
19.
Dim Des (30) 
20.
For i = StartOffset to EndOffset 
21.
HexDigitalPID (i-StartOffset) = HexBuf(i) 
22.
next 
23.
'Zur Berechnung werden die Bytes 52 bis 66 verwendet 
24.
KEYSTRING ="" 
25.
for i=dLen-1 to 0 step -1 
26.
if ((i + 1) mod 6) = 0 then 
27.
Des (i) = "-" 
28.
KEYSTRING =KEYSTRING & "-" 
29.
else 
30.
HN = 0 
31.
    For N = (sLen -1) to 0 step -1 
32.
      Value = ( (HN *2^8 ) Or HexDigitalPID (N)) 
33.
       HexDigitalPID (N) = Value \ 24 
34.
       HN    = (Value mod 24) 
35.
 
36.
    next 
37.
 
38.
Des(i) = Digits(HN) 
39.
KEYSTRING =KEYSTRING & Digits(HN) 
40.
end if 
41.
next 
42.
KEYSTRING2 = StrReverse (KEYSTRING) 
43.
WScript.Echo "Der Windows Lizenzschlüssel lautet :" & _ 
44.
"                                         " & KEYSTRING2 
45.
 
46.
'Die folgenden Zeilen dienen dazu, den Lizenzschlüssen mit Benutzernamen in eine Datei zu schreiben (bsp. im Netzwerk - hier auch ohne Dateiendung) 
47.
datei = "\\SERVER\Freigabe\Ordner\Serials" 
48.
Set fso = CreateObject("Scripting.FileSystemObject") 
49.
Set oFile = fso.OpenTextFile(datei,8,true) 
50.
Set objNetwork = wscript.CreateObject("wscript.network") 
51.
oFile.WriteLine KEYSTRING2 & " | " & objNetwork.Username 'für den COMPUTERNAME einfach     objNetwork.Computername    nutzen 
52.
oFile.close
Kopiert den Code, erstellt eine neue Textdatei und benennt sie z.B. Windows_Keyfinder.vbs, achtet auf die Endung .vbs (dazu solltet ihr die Dateiendungen eingeblendet haben)

Für genauere Nachfragen, was dort wie geschieht, kann ich euch jedoch nicht zur Verfügung stehen, da mein Wissen in VB & VBS nicht sehr ausgeprägt ist
Nachtrag
Das Ganze funktioniert auch für installierte Office-Pakete.
Wenn man den Registrypfad zum Beispiel als
HexBuf = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Office\12.0\Registration\{91120000-002F-0000-0000-0000000FF1CE}\DigitalProductId")
setzt (muss natürlich für die Officeversion angepasst werden - oder man entwickelt eine Abfrage / Suche per VBS nach diesem Schlüssel), lässt sich mit dem Skript auch der Office-Lizenzschlüssel auslesen.
64-bit Systeme & 32-bit Office
Bei Windows 7 x64 (evtl. auch Vista x64 und XP x64? ungetestet) liegt der Office-Wert bei
"HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Registration\{91120000-002F-0000-0000-0000000FF1CE}\DigitalProductId"
(hier 2007 Office)
Office 2010
Es scheint, als würde der DigitalProductId-Wert unter Office 2010 (14.0) nicht mehr an bekannter Stelle hinterlegt sein und auch nicht unter DigitalProductId laufen.
Wenn jemand weiß, wo genau der Wert hinterlegt ist, dann schreibt einen Kommentar dazu, danke.

greetz André

P.S.: Auch wenn es ein Skript ist, habe ich es bewusst nicht in den Programmiersprachenbereich geschoben, da ich der Meinung bin, das Auslesen des Lizenzschlüssels passt eher zum allgemeineren Bereich Windows

edit: bastlas berechtigte Frage als Kommentar eingepflegt, natürlich lässt sich auch objNetwork.Computername verwenden, entweder Username ersetzen oder wenn gewollt komplett als
oFile.WriteLine KEYSTRING2 & " | " & objNetwork.Username & " | " & objNetwork.Computername
zum Beispiel verwenden
Mitglied: bastla
26.08.2011 um 11:12 Uhr
Hallo Skye!

Wieso schreibst Du den Benutzer- und nicht den Computernamen in die Datei?

Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
26.08.2011 um 11:50 Uhr
Aloha bastla,

Gewohnheit Da meine Übersichtstabelle von Hardware, Programmen & Co. den Benutzern zugehörig ist, schreibe ich auch zugehörig den Serial hin (obwohl der ja eigentlich durchaus zum Computer eher gehört aber ich beziehe alles auf die User) und bei etwas über 20 Rechnern ohne Domäne, habe ich mir das eben so angewöhnt.

Aber klar, an sich ist bei den Meisten wohl der Computername sinnvoller

greetz André
Bitte warten ..
Ähnliche Inhalte
Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorgesMicrosoft Office3 Kommentare

Nabend zusammen, bin gestern über eine unangenehme Sache gestolpert, wenn man unter Windows 7 Office 2016 RTM (Volume) ohne ...

Windows Update

Mögliche Problemlösung für Automatische Updates unter Windows Vista, Windows 7 und Windows 8.1

Tipp von 114685Windows Update2 Kommentare

Zur Beseitigung der Probleme, die seit ca. 2 Jahren beim Automatischen Update von Windows Vista bis 8.1 aufgetreten sind, ...

Windows 7

Bluescreen "STOP: 0x000000D1" bei Upgrade Windows Vista auf Windows 7 als VirtualBox Gast

Erfahrungsbericht von Stronzolios.KakaloidisWindows 72 Kommentare

καλημέρα, liebe Kolleginnen und Kollegen, falls jemand über dieses exotische Upgrade-Problem stolpert und nach einer Lösung sucht: Das Upgrade ...

Windows Tools

Windows Datenträgerverwaltung buggy! (Windows Vista bis Windows 10)

Erfahrungsbericht von LochkartenstanzerWindows Tools

Moin, Ich habe eine Testkiste mit diversen Windows-Versionen + Ubuntu im Multiboot drauf. Gestern habe ich an den Partitionen ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 3 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 5 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 5 StundenMicrosoft3 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Server-Hardware
Server für Exchange 2016, Kaufberatung
Frage von MazenauerServer-Hardware10 Kommentare

Guten Tag werte Gemeinde, Vorab: Ich dachte es gab mal einen separaten Bereich für solche Anfragen, habe ich leider ...