Archiv der Kategorie: Key Management Service (KMS)

mehrere KMS-Server -> Konfiguration einer Gewichtung im DNS

Damit ich es selbst nicht vergesse bzw. wieder finde:

Bei der Verwendung mehrerer KMS-Server innerhalb einer Infrastruktur empfiehlt es sich, ein Loadbalancing bzw. eine Priorisierung per DNS-Eintrag vorzunehmen.

Diese Erfolgt wie gewohnt Forward-Zone -> FQDN -> _tcp ->

Hier finden sich dann mehrere Einträge _VLMCS und um diese zu gewichten empfiehlt es sich, die Priorität in den Eigenschaften der jeweiligen Server anzugeben.

Es gilt: die niedrigere Zahl zeigt die höhere Priorität an.
Die Gewichtung sollte in % die Anzahl der durch den Server zu bedienenden Clients wiedergeben.

Zugehörig muss auf den Servern das „DNS-Promoting“ mit dem Befehl
slmgr.vbs /cdns
gestoppt werden, sonst werden diese Einträge beim nächsten Promoting überschrieben.

ALTERNATIVE:

Man erstellt auf den KMS-Servern im Registrypfad
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
einen mehrteiligen Key (REG_MULTI_SZ) mit folgendem Eintrag (durch Beistrich getrennt):

Muster:                                    FQDN, Priority, Weight
Beispiel:                                  contoso.com, 10, 10

Danach muss in einer Commandshell das Promoting manuell angeworfen werden (oder man wartet) mit:

C:\Users\administrator>slmgr.vbs /sdns

und anschließendem Neustart des Services mit:

C:\Users\administrator>net stop sppsvc && net start sppsvc

Eine Abfrage am Client, ob er diese Angaben auch aus dem DNS ausliest, erfolgt mit:

nslookup -type=srv _vlmcs._tcp >kms.txt

Das Ergebnis sollte dann in etwa so aussehen (also der Inhalt der kms.txt):

Server: ulme.contoso.com
Address: 172.16.0.51

_vlmcs._tcp.contoso.com SRV service location:
priority = 10
weight = 95
port = 1688
svr hostname = kms2016.contoso.com
_vlmcs._tcp.hak-neusiedl.local SRV service location:
priority = 20
weight = 5
port = 1688
svr hostname = kms2008.contoso.com
kms2016.contoso.com internet address = 172.16.0.26
kms2008.contoso.com internet address = 172.16.0.2
Weil es mir hier erwähnenswert erscheint:

Clients kontaktieren den KMS manuell (und erhöhen dadurch den Zähler bis zur erforderlichen Anzahl von 25 Clients):

slmgr /skms kms2016.contoso.com (legt den KMS-Server am Client fest)
cscript slmgr.vbs /ato (aktiviert den Client mit dem angegebenen Server)

Am KMS-Server kann der _VLMCS Eintrag ins DNS auch manuell gestartet werden mit:
slmgr.vbs /sdns
und anschließendem
net stop sppsvc && net start sppsvc

Weiterführende Infos:
hier  bzw. alle Flags von slmgr hier

KMS für Office 2016

Die Konfiguration des KMS für die Lizenzierung von Office 2016 unterscheidet sich durch nichts von der bereits erfolgten Anleitung für Office 2013.

Bevor sich die Aktivierung starten lässt, ist (zumindest für Server2008R2) ein Update zu installieren, das einen Reboot erfordert (

Die Abfrage, ob der Key erfolgreich hinterlegt wurde bzw. wie viele Clients aktuell über den Schlüsselverwaltungsdienst aktivert werden, erfolgt mit:

C:\Windows\System32\slmgr.vbs -dlv 98EBFE73-2084-4C97-932C-C0CD1643BEA7

KMS-Lizenzierung für Office 2013

Eine kurze Step-by-Step-Anleitung für die Aktivierung von Office 2013 mittels KMS:

  1. VAMT am KMS-Server installieren
  2. am KMS-Server die office2013volumelicensepack_en-us_x86.exe installieren
    (download bei Microsoft)
  3. im entsprechenden Feld, das bei der Installation erscheint, den KMS-Office 2013 – Key für eure Schule eintragen
  4. Firewall kontrollieren, ob der KMS auch “einen Passierschein hat”
    [Stichwort: eingehende Regeln >> Schlüsselverwaltungdienst (TCP eingehend) >> Zulassen ]
  5. Eintrag am DNS-Server kontrollieren
    DNS-Management-Konsole >> Forward-Lookupzonen >> FQDN >> _TCP >> _VLMCS (Eintrag des Servers, der
    den KMS-Host darstellt
    (Falls dieser Eintrag fehlt:
    >> Forward-Lookupzonen >> FQDN >> _TCP >> rechte Maustaste >> weitere neue Einträge >> Dienstidentifizierung (SRV) >>  Dienst: _VLMCS // Protokoll: _tcp // Priorität: 0 // Gewichtung: 0 // Portnummer: 1688 // Host, der diesen Dienst anbietet = FQDN des KMS-Servers // beide Kontrollkästchen bleiben leer // Gültigkeit 0:1:0:0)
  6. KMS-Funktion am Server für Office 2013 kontrollieren:
    Folgende Zeile in einer Command-Shell am KMS-Server ausführen:

    C:\Windows\System32\slmgr.vbs -dlv 2E28138A-847F-42BC-9752-61B03FFF33CD

    (Anmerkung: 2E28138A-847F-42BC-9752-61B03FFF33CD steht für Office2013 und darf nicht abgeändert werden)WICHTIG:
    Im nun erscheinenden Fenster (kann bis zu 1 Minuten dauern!) MUSS in der Zeile
    Aktuelle Anzahl: 5 (oder höher)
    stehen, da der KMS erst ab einer Anzahl von 5 Clients arbeitet!!!!

PROBLEM: die aktuelle Anzahl erhöht sich nicht

Ursache:
Wenn im Image, das man auf einem Muster-PC vorbereitet hat, Microsoft Office 2013 bereits einmal gestartet wurde, dann wird dort auch eine UniqueID generiert. Dies hat zur Folge, dass nach dem Rollout alle Clients dieselbe Office2013 – UID haben – und dadurch erscheint es dem KMS-Server so, als wäre nur 1 Client vorhanden. Daher zählt er die aktuelle Anzahl nicht hinauf!

Lösung:
Es reicht, wenn man auf 5 Clients die Office-2013-Installation zurücksetzt – dann werden ALLE anderen Clients automatisch akitivert und lizenziert.

Das zurücksetzen der ID erfolgt mittels folgendem Befehl:

C:\Program Files\Microsoft Office\Office15>cscript ospp.vbs /rearm

Office 2013 sollte währenddessen nicht gestartet sein. Ob man diesen Befehl per Startup-Script oder manuell auf 5 Clients ausführt, obliegt dem persönlichen Geschmack!

 

KMS – Freund und Feind zugleich…

Key Management Service (KMS) – eine Übersicht

Wer von Windows XP auf Windows 7 migriert (hat), wird schon bemerkt haben, dass die Art der Lizenzierung / Aktivierung (bei XP zu Erinnerung: Campuslizenz mit einem Key, der bereits im geklonten Image bereitgestellt werden kann) rapide geändert wurde.

Grundsätzlich gibt es 2 Möglichkeiten:
Die zentrale Aktivierung via KMS-Server (und daher bessere) und die dezentrale mit Eingabe der MAKs auf den einzelnen Clients inkl. manueller Aktivierung (und daher wesentlich arbeitsintensivere und schlechtere.)

Da mein Credo zu allen Tages- und Nachtzeiten (in Ahnlehnung an die schweizer Kollegen) lautet „Real Men don’t click [more than necessarily]“ verzichte ich auf die Besprechung der MAK-Variante völlig und wende mich nun in weiterer Folge der Konfiguration eines KMS-Servers (inkl. aller dabei auftretenden Schwierigkeiten) zu!

Step by Step Anleitung: „Installation eines funktionierenden KMS-Servers“

1.) Windows Server 2008 R2 installieren und manuell mittes des über die MS-ACH erhaltenen MAKs für Windows Server 2008 aktivieren (Start >> Systemsteuerung >> System >> Windows Aktivierung)

2.) KMS aktivieren
eine Command-Shell [= Eingabeaufforderung] als Administrator starten (rechte Maustaste >> „als Administrator ausführen“), dann folgende Befehle in der angeführten Reihenfolge absetzen:

cscript C:\windows\system32\slmgr.vbs /ipk <KMS Key>
cscript C:\windows\system32\slmgr.vbs /ato

Hinweis: nach jedem Befehl öffnet sich eine Meldung, die den Erfolg der Aktion ausgibt

3.) Firewall kontrollieren, ob der KMS auch „einen Passierschein hat“
[Stichwort: eingehende Regeln >> Schlüsselverwaltungdienst (TCP eingehend) >> Zulassen ]

4.) Eintrag am DNS-Server kontrollieren
DNS-Management-Konsole >> Forward-Lookupzonen >> FQDN >> _TCP >> _VLMCS (Eintrag des Servers, der
den KMS-Host darstellt
(Falls dieser Eintrag fehlt:
>> Forward-Lookupzonen >> FQDN >> _TCP >> rechte Maustaste >> weitere neue Einträge >> Dienstidentifizierung (SRV) >>  Dienst: _VLMCS // Protokoll: _tcp // Priorität: 0 // Gewichtung: 0 // Portnummer: 1688 // Host, der diesen Dienst anbietet = FQDN des KMS-Servers // beide Kontrollkästchen bleiben leer // Gültigkeit 0:1:0:0)

5.) KMS kontrollieren
Start / Ausführen:  slmgr.vbs /dli
Es erscheint – nach kurzem Warten – ein Popup mit einigen Daten, unter anderem der Zeile
aktuelle Anzahl: 7 (wobei hier 7 nur ein Beispiel ist…)

Sollten die Clients nicht innerhalb kürzester Zeit die Aktivierung erhalten, dann lohnt sich die weitere Lektüre dieses Artikels garantiert!!!!

Problemfelder bei der Lizenzierung mittels KMS
(Arbeitstitel: der Dreck funktioniert bei mir nicht…):

1.) Der KMS arbeitet erst ab einer durch ihn verwalteten Anzahl von 25 Clients!!!!

PROBLEM:
selbst, wenn man > 200 (z. B. mit WDS) geklonte Clients in Betrieb hat, kann es dennoch sein, dass den Clients die Aktivierung mit folgender Fehlermeldung verwehrt wird:

0xC004F038
Vom Softwarelizenzierungsdienst wurde gemeldet, dass der Computer nicht aktiviert werden konnte. Die vom Schlüsselverwaltungsdienst (Key Management Service, KMS) gemeldete Anzahl reicht nicht aus. Wenden Sie sich an den Systemadministrator.

die Ursache hierfür könnte nun darin liegen, dass wir zwar mehr als 25 Clients verwalten möchten, der KMS-Server aber keinen Unterschied zwischen unseren Clients erkennt…
Mit anderen Worten: für ihn gleichen unsere Clients wie ein Ei dem anderen…
Dies führt uns zu folgendem:

2.) mindestens 25 Clients müssen eine unterschiedliche CMID haben!
damit einhergehend:
3.) What the hell is a CMID?

Jeder Client generiert überlicherweise eine einzigartige Client Machine ID (CMID). Um dies zu gewährleisten, sollten Clients vor deren Klonen auch mit
sysprep /generalize [/oobe /shutdown]

darauf vorbereitet werden.

Sollte das Klonen per Windows Deployment Service (WDS) erfolgen, so ist zwecks Lite- bzw. Zerotouch-Deployment das Hinterlegen einer ImageUnattend.xml unumgänglich!

Sollte nun in dieser ImageUnattend.xml der Eintrag
<SkipRearm>1</SkipRearm>
vorhanden sein, dann werden – auch bei fehlerfrei ausgeführtem SYSPREP – keine neuen CMIDs generiert.

Daher zählt der KMS auch die Anzahl der Anfragen nicht hinauf, und dann wären wir wieder bei Problem Nummer 1: der KMS arbeitet erst aber einer Anzahl von 25 Clients!!!

4.) Zwischenfrage: Welche CMID hat der Client?

Grundsätzlich scheint die CMID auf, wenn man am Client slmgr.vbs /dli ausführt UND der Client bereits aktiviert ist!
Wenn der Client noch nicht aktiviert ist (was auch der Fall sein dürfte, sonst wäre uns die CMID nämlich ziemlich
všecko jedno) funktioniert dies aber nicht!

Um bei nicht aktivierten Clients die CMID zwecks Vergleichens zu ermitteln, ist ein Blick in die Ereignisanzeige anzuraten:

Protokollname: Application
Quelle:        Microsoft-Windows-Security-SPP
Datum:         20.02.2012 23:58:24
Ereignis-ID:   12288
Aufgabenkategorie:Keine
Ebene:         Informationen
Schlüsselwörter:Klassisch
Benutzer:      Nicht zutreffend
Computer:      DV101.hak-neusiedl.local
Beschreibung:
Vom Client wurde eine Aktivierungsanforderung an den Computer mit dem Schlüsselverwaltungsdienst gesendet.
Info:
0x00000000, 0x00000000, wicky.hak-neusiedl.local:1688, 586a12e2-5e2f-4c55-a6c0-0152af448ec4, 2012/02/20 22:58, 0, 3, 43200, ae2ee509-1b34-41c0-acb7-6d4650168915, 25

CMID in diesem Fall:586a12e2-5e2f-4c55-a6c0-0152af448ec4

Wenn nun alle geklonten Clients eine idente CMID haben, dann wäre es nun an der Zeit für folgendes:

4.) Holt mich hier raus, ich bin ein Star 😉

3 Lösungsansätze stehen zur Verfügung (The Good, The Bad, The Ugly)

LÖSUNG – Variante 1
>> mindestens 25 Clients neu zu klonen:
(The UGLY!)

die richtige Vorgehensweise dabei:
Client vorbereiten mit
sysprep /generalize /oobe /shutdown
+
in der ImageUnattend.xml
<SkipRearm>0</SkipRearm>

Nachteil dieser Variante: Arbeitsintensiv, im laufenden Betrieb nicht machbar!

LÖSUNG – Variante 2
>> mindestens 25 Clients manuell mit neuen CMIDs versehen:
(The BAD)

Wenn slmgr.vbs /rearm am Client ausgeführt wird, so wird eine neue CMID generiert.
Btw: Dies kann auf jedem Client bis zu 3 mal wiederholt werden, die aktuell verbleibende Anzahl kann am Client mit slmgr.vbs /dlv abgelesen werden!

Da mindestens 25 Clients mit unterschiedlicher CMID zu einem funktionierenden KMS führen würde, könnten wir jetzt kurzerhand zu 25 Clients laufen, dort slmgr.vbs /rearm eingeben, jeden Client neu starten und der KMS läuft jetzt endlich!

Doch halte inne und bedenke:
Real Men don’t click (and – of course –  don’t run around)

LÖSUNG – Variante 3
>> mindestens 25 Clients per Startscript mit neuen CMIDs versehen:

(The GOOD!!!!)

Hier ein Script, das – per Gruppenrichtlinie als Starskript – für Dich die Arbeit erledigt:

'############## Edi Pfisterer -- 11/5/2012 -- REARM_IT ##############

on Error resume next
logdatei = "c:\rearm.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
If NOT fs.FileExists (logdatei) then

'############################ just rearm it, baby ############################'

Set WshShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run("wscript ""c:\windows\system32\slmgr.vbs"" /rearm ")

'##########################   LOGDATEI schreiben, die anzeigt,
ob REARM schon einmal gelaufen ist ########################

    Set a = fs.CreateTextFile(logdatei, True)
    a.WriteLine("rearmed wurde am " & now())
    a.Close
END IF

Funktionsweise:
Es wird auf C:\ eine Datei namens rearm.txt angelegt, weiters wird slmgr.vbs /rearm aufgerufen.
Beim nächsten Aufruf des Startscripts wird geprüft, ob die rearm.txt vorhaden ist, und in diesem Fall auf slmgr.vbs /rearm verzichtet….

5. wie schauts mit einer GUI aus?

Kein Problem! Mit dem VAMT (Volume Activation Management Tool) 2.0 (ACHTUNG: ZWEI — PUNKT — NULL // Das 1.0 war zum Vergessen!!!) hat man ein feines Tool zur Hand, das einen klaren Überblick über die Lizenzierungssituation gibt!
Aber ACHTUNG: Wenn der KMS nicht richtig funktioniert, dann wir man mit dem VAMT auch keinen Spass haben!!! Das VAMT ersetzt den KMS NICHT!!!

Vorgangsweise Installation / Verwendung von Volume Activation Management Tool:

  • VAMT 2.0 bei Microsoft downloaden (googlen ist den Menschen zumutbar)
  • am KMS installieren und starten
  • im mittleren Fenster „Search for computers in the Active Directory“ auswählen
  • alle im unteren, mittleren Fenster gefunden Clients mit STRG + A makieren
  • Rechte Maustaste >> Update Status / Current Credential (sofern man als Domainadmin angemeldet ist)
  • Nun erfolgt eine Einteilung in
    Licensed
    Out-of-Box
    Out of Tolerance Grace
    (Tipp: Falls dort alle Clients landen und keine bei Licensed, dann wurde das Problem der identen CMIDs – noch – nicht gelöst!)
  • Wenn sich noch nicht alle Clients unter „Licensed“ einreihen, dann hilft
    recht Maustaste auf den/die Clients >> Activate >> KMS Activate >> …

Im Idealfall sieht das ganze dann so ähnlich aus (in dieser Umgebung sind > 160 Clients vorhanden, da wäre eine Aktivierung via MAKs kein Spass gewesen…):

Da fällt mir mein Schwager ein, der bei dieser Gelegenheit sagen würde
„Hätte es immer schon SO ausgesehen, hätte man nichts machen müssen… 😉 “

FAZIT:

Der KMS ist – wenn man eine große Anzahl von Windows 7 Clients administrieren darf – eine feine Sache! Wenn er erst einmal funktioniert…