Windows Volume Licensing

Die Seite hat nur soweit etwas mit Exchange oder Lync zu tun, dass beide natürlich auf einem korrekt lizenzierten Windows Server installiert werden müssen. Microsoft stellt aber Firmen verschiedene Wege bereit, um ihre Windows Server und Clients zu lizenzieren und bei einem Kunden ist ein kleines PowerShell-Script entstanden, welches einen KMS-Server auswertet.

Bitte verwechseln Sie nicht den Key Management Service (KMS) mit dem Key Management Server (KMS), der oft bei Zertifikaten (Siehe Rolle der CA) oder in Verbindung mit Right Management verwendet wird.

Ein Windows 2012 KMS-Server kann auch Windows 2012 und Windows 8 Client aktivieren. Wer noch einen KMS-Server auf einem Windows 2008R2 Server betreibt, muss folgenden Hotfix installieren:
2691586 An Update is available für Windows 7 and Windows Server 2008 R2 KMS hosts to support Windows 8 and Windows Server 2012
http://support.microsoft.com/kb/2691586

Seit Windows 2012 gibt es aber auch eine Aktivierung über das Active Directory (Siehe Active Directory-based Activation (ADBA))
http://www.server-talk.eu/2013/01/28/key-management-service-kms-mit-windows-server-2012/
How-To: Key Management Service (KMS) mit Windows Server 2008 R2 *reloaded* http://www.server-talk.eu/2010/03/17/how-to-key-management-service-kms-mit-windows-server-2008-r2-reloaded/

Kurzeinführung Lizenzschlüssel

Wer Microsoft Windows Server installiert, hat die Auswahl verschiedener Lizenzierungsverfahren.

Key Beschreibung Zielgruppe Aktivierung

OEM

Den bekommt man mit dem Gerät als Bundle vom Hersteller, weilweise aus das ROM gebunden

1 System

Teilweise

Retail

Ein normal verkaufter Produktschlüssel, der unabhängig von der Hardware ist

1

Erforderlich

MAK

Multiple Activation Key, d.h. man kann den Schlüssel auf mehreren Systemen gleichzeitig nutzen. Ideal für kleine und mittlerer Firmen, die den Key in die Installationsquelle (RIS/WDS) einbinden. Allerdings kann die Aktivierung stören und erlaubt eine Zählung. Wer also einen MAK Key für 25 Clients hat, wird irgendwann nachfragen bekommen. Wird der Key entwendet und von Microsoft gesperrt, müssen auf allen Systemen die Keys gegen einen neuen Schlüssel getauscht werden

1-100

Erforderlich

KMS

Spezieller Schlüssel für einen Key Management Service, welcher im LAN die Aktivierung von weiteren Clients übernimmt. Nur dieser Server sollte den KMS-Key bekommen (Max 5 Mal kann der Key bei Microsoft aktiviert werden !). Die Clients bekommen einen generischen Schlüssel

25+

nur KMS-Server

Der Einsatz des KMS-Schlüssels in Verbindung mit einem KMS-Server ist für all die Firmen interessant die zu groß für einen MAK-Schlüssel sind und auf den Clients keine weiteren Schlüssel verwalten wollen. Die Clients suchen per DNS nach einem KMS-Server und nutzen diesen zur Aktivierung. Nur der KMS-Server muss ab und an eine Verbindung zum Internet aufbauen können. Allerdings verbinden sich auch die Clients alle 180 Tage wieder mit dem KMS-Server, um ihre Lizenz zu bestätigen.

Wer also meint mal schnell einen fremden PC im LAN anzuschlie������������������������������en um sich eine Lizenz zu erschleichen, wird damit nur eine gewisse Zeit arbeiten können. Andererseits ist KMS nicht an die Mitgliedschaft einer Domäne gebunden. Eine Firma ist also gut beraten, wenn Sie ihre Netzwerkzugänge unter Kontrolle hat. Eine genaue Beschreibung finden Sie auch auf:

Volume Activation 2.0 Technical Guidance
http://www.microsoft.com/download/en/details.aspx?id=10249

Client Schlüssel

Für die Clients gibt es dann natürlich keine Schlüssel, was aber nicht ganz richtig ist. Da jeder Windows Client auch einen Produktkey braucht, gibt es natürlich auch Schlüssel, die sich "nur" über einen KMS-Server aktivieren. Diese sind für alle System gleich und werden auch genutzt, wenn Sie Windows installieren und den Produktkey einfach weglassen. Die Systeme laufen dann einige Zeit bis sie doch einen KMS-Server finden.

Diese Schlüssel sind auch geeignet, um aus Systemen, die per MAK oder RETAIL-Key installiert wurden, wieder zu KMS-Clients zu machen

Operating System Edition Product Key

Windows Vista Business

YFKBB-PQJJV-G996G-VWGXY-2V3X8

Windows Vista Business N

HMBQG-8H2RH-C77VX-27R82-VMQBT

Windows Vista Enterprise

VKK3X-68KWM-X2YGT-QR4M6-4BWMV

Windows Vista Enterprise N

VTC42-BM838-43QHV-84HX6-XJXKV

Windows Server 2008 Datacenter

7M67G-PC374-GR742-YH8V4-TCBY3

Windows Server 2008 Datacenter without Hyper-V

22XQ2-VRXRG-P8D42-K34TD-G3QQC

Windows Server 2008 für Itanium-Based Systems

4DWFP-JF3DJ-B7DTH-78FJB-PDRHK

Windows Server 2008 Enterprise

YQGMW-MPWTJ-34KDK-48M3W-X4Q6V

Windows Server 2008 Enterprise without Hyper-V

39BXF-X8Q23-P2WWT-38T2F-G3FPG

Windows Server 2008 Standard

TM24T-X9RMF-VWXK6-X8JC9-BFGM2

Windows Server 2008 Standard without Hyper-V

W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ

Windows Web Server 2008

WYR28-R7TFJ-3X2YQ-YCY4H-M249D

Die Systeme mit diesem Key werden sich also nicht mehr bei Microsoft reservieren, sondern suchen nach einem KMS-Server.

KMS im DNS finden

Ob eine Firma einen KMS-Server betreibt (absichtlich oder unabsichtlich ist eine andere Frage) kann in der Regel per DNS-Abfrage einfach ermittelt werden. Eine NSLOOKUP-Suche nach dem Service-Record liefert die IP-Adresse:

C:\nslookup -type=SRV _vlmcs._tcp

Server:  dnsserver.firma.tld
Address:  10.1.1.1.
 
_vlmcs._tcp.firma.tld   SRV service location:
          priority       = 0
          weight         = 0
          port           = 1688
          svr hostname   = dc1.firma.tld
dc1.firma.tld  internet address = 10.1.2.3

Es ist nicht zwingend erforderlich, diese Einträge vorzunehmen. Sie können den KMS-Server auch per Gruppenrichtlinien auf die Clients eintragen. Aber wenn Sie nicht den Port ändern, dann wird eine interessierte Person auch per Portscan sehr schnell den KMS-Server finden.

KMS-Status mit slmgr.vbs anzeigen

Ich habe bislang noch keine grafische Konsole gefunden, welche Informationen über die Clients enthält, welche den KMS-Server angesprochen haben oder welche Clients aktiviert wurden. Allerdings gibt es mit SLMGR.VBS ein "Schweizer Taschenmesser" für die Verwaltung von Windows Lizenzinformationen.

C:\>cscript c:\windows\system32\slmgr.vbs /dlv

Dieser Befehl zeigt die aktuelle Lizenzinformation des Clients an.

Bei einem KMS-Server sehen Sie hier auch, wie viele Anfragen der Server bekommen hat. Anfragen ist aber nicht gleichbedeutend mit Clients.

KMS und Eventlog

Bislang kenne ich nur den Weg, die Aktivitäten des KMS-Servers über das Eventlog zu erhalten. Dort ist er aber sehr gesprächig.

Sehr interessant ist hier der Event 12290, welcher in der Beschreibung die Details des Clients enthält. Leider ist die Info eben im Text und nur schwach strukturiert. Zudem kommt jeder Client natürlich häufiger vor.

Parse-KMSEvents.ps1

Daher habe ich in kurzer Zeit ein kleines PowerShell-Skript entworfen, was ich ihnen nicht vorenthalten will. Es liest zuerst mit "Get-WinEvent" das "Key Management Service"-Eventlog aus und parst alle Meldungen vom Typ 12290.

PowerShell Script
parse-kmsevents1.0.ps1.txt

Der Aufruf ist sehr einfach, wenn Sie mit PowerShell und der Pipeline schon vertraut sind. Auf dem Bildschirm sehen Sie nur die Diagnoseausgaben. Das Ergebnis selbst wird später einfach in die Pipeline gesendet. Wen Sie also dahinter die Daten nicht weiter verarbeiten, kommen Sie einfach auf dem Bildschirm an. Sie können aber auch mit "Export-CSV" oder anderen Comandlets die Daten weiter verarbeiten.

# Aufruf mit Ausgabe auf den Bildschirm
.\parse-kmsevents.ps1

# Aufruf mit Ausgabe als CSV-Datei
.\parse-kmsevents.ps1 | export-csv -path .\pcliste.csv -NoTypeInformation

# Aufruf mit Ausgabe als HTML-Datei
.\parse-kmsevents.ps1 | convertto-html | out-file .\pcliste.htm

Das Skript ist ein erster Wurf und bietet durchaus Potential für eine Erweiterung. So könnte mit einer Filter-XML die Menge der Events noch vorab gefiltert werden. Denkbar wäre auch ein Export der Daten in eine Inventardatenbank oder die Abfrage mehrere Server remote. Auch ist es recht einfach möglich, die numerischen Werte für den OOB-Status etc. in lesbare Texte umzusetzen. Siehe auch Volume Activation. Windows Event Log (http://technet.microsoft.com/en-us/library/ff793440.aspx). Das Skript kann aber kein Ersatz für ein echtes Lizenzmanagement sein sondern ist nur ein weiteres Tool in der Sammlung eines reisenden Consultants.

Weitere Links