Windows Lizenzen auslesen

Gelegentlich, z.B. für Audits oder ähnliches, müssen die verwendeten Lizenzschlüssel der einzelnen Microsoft Server, bestehend aus Betriebssystem und eventuell vorhandener Microsoft Applikation wie z.B. den SQL Server ausgelesen werden. Für beide Operationen gibt es unterschiedliche Scripte im Internet zu finden. Vorstellen werde ich eins für den SQL Server und eins für das Betriebssystem von Microsoft. Beide sollten ihren Nutzen in einer homogenen Microsoft Landschaft ausspielen. Sie können für kommerzielle als auch private Audits genutzt werden.

 

 

SQL Server Lizenz

 

Das Script habe ich gefunden bei:
https://gallery.technet.microsoft.com/scriptcenter/Get-SQL-Server-Product-4b5bf4f8

Voraussetzung ist die Verwendung von Powershell. Es lassen sich lokale Keys als auch remote Keys auslesen. Es stellt die SQL Instanz, die SQL Version und Edition, und natürlich den Lizenz Key bereit.

Beispiele:

Get-SqlServerKeys

Holt die SQL Server Version, Edition und Key der lokalen Maschine

Get-SqlServerKeys sqlservera, sqlserver2014a, sql01

Holt die SQL Version, Edition und Keys für alle Instanzen auf sqlservera, sqlserver2014a und sql01.

Get-SqlServerKeys -CentralMgmtServer sqlserver01

Holt die SQL Server version, Edition und Keys für alle SQL Server Datenbank Instanzen innerhalb des Central Management Server auf sqlserver01

Get-SqlServerKeys -ServersFromFile C:\Scripts\servers.txt -verbose

Holt die SQL Server Version, Edition und Keys für alle SQL Server die in C:\Scripts\servers.txt gelistet sind.

 

Windows Betriebssystem

 

Für die Betriebssystem Lizenz habe ich ein VBS Script in der Microsoft Community gefunden, welches ich euch nicht vorenthalten möchte. Gefunden habe ich es hier:

https://answers.microsoft.com/en-us/insider/forum/insider_wintp-insider_repair/how-to-find-all-windows-version-serial-key/a6d7e4eb-2adf-4e57-8ead-0bd85ec2758d

Kopiert dazu folgende Codezeilen in einem Editor wie z.B. Notepad und speichert es mit der Endung .vbs ab.

Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId"))

Function ConvertToKey(Key)
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Do
Cur = 0
x = 14
Do
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur \ 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
End If
Loop While i >= 0
ConvertToKey = KeyOutput
End Function

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert