Archiv der Kategorie: Windows Deployment Services

DELL Precision 3430 / 3431 / etc – WDS-Rollout fail

Problem:
Bei besagen Clients von DELL (Precision 3430 / 3431 / andere Modelle), die mit INTEL-Netzwerkkarten ausgerüstet sind, kann es zu folgender Fehlermeldung kommen, wenn man versucht, per WDS ein Image auszurollen:

„WdsClient: Fehler beim Abrufen einer IP-Adresse vom DHCP-Server. Stellen Sie sicher, dass in diesem Netzwerksegment ein funktionierender DHCP-Server in betrieb ist“

Der Versuch, die zugehörigen Treiber in WDS nachzuladen („Treiberpaket hinzufügen“) scheitert mit der Meldung:
„Einige Pakete konnten nicht hinzugefügt werden….“ bzw. x64-basierte müssen eine Signatur besitzen“)

Lösung:
Am WDS-Server NICHT die Treiber integrieren, sondern ein neues Startabbild hinzufügen, das man einem
Windows 10 1903 64bit .iso entnimmt („boot.wim“ im Ordner „sources“ )
Darin sind offensichtlich die passenden Treiber für die NIC bereits enthalten

Adminomat kann in der Version 1.3 auch installierte Software suchen

Seit Version 1.3 kann die von uns entwickelte Software „Adminomat“ auch installierte Software auf Clients im AD anzeigen.

Anlassfall war die Frage, ob eine ausgerollte Software per GPO auch auf allen Clients angekommen ist…
(also etwas sehr häufiges)

Alle anderen wirklich lässigen Funktionen von ADMINOMAT sowie der Download unter

http://www.adminomat.at/produktvergleich/

Und da ein Bild mehr als 1000 Worte sagt:
adminomatAdminomat_DetailsAdminomat_Anzeige

Reiter „Remoteinstallation“ erscheint im AD nicht (WDS)

Infrastruktur:
1 x DomänenController
1 x WDS-Server als Memberserver ohne AD-Dienste

Problem:
x Am DomänenController erscheint unter „Active Directory Benutzer und Dienste“ der Reiter
„Remoteinstallation“ nicht bei den Eigenschaften der Computer;
x Prestaging ist nicht möglich

Lösung:
Folgende Dateien vom WDS auf den DomänenController kopieren (jeweils ins selbe Verzeichnis)

%systemroot%\system32\imadmui.dll
%systemroot%\system32\DE-DE\imadmui.dll.mui

-> am Domänencontroller die .dll in einer Commandshell (als Administrator ausführen) registrieren mit

regsvr32 imadmui.dll

WDS: Clients im Active Directory mit der GUID oder MAC anlegen (Prestaging)

Mit dem WDS (Windows Deployment Services) ist es möglich, den Computername bereits vor dem Ausrollen im Active Directory festzulegen – und so ein Zerotouch-Deployment zu realisieren.
Dieser Vorgang nennt sich „Prestaging“ und erfolgt unter Verwendung der MAC-Adresse bzw. GUID.

[Auf die Gestaltung der GUID bzw. deren Zusammensetzung gehe ich hier nicht näher ein, Google kennt sich damit hinlänglich aus…]

Aber ACHTUNG!!!!!!!!!
Das am Startbildschirm angezeigte Format der GUID bzw. MAC darf in dieser Form NICHT 1:1 für das Prestaging verwendet werden.

Lesen Sie weiter:

Kurzanleitung, einen Client inkl. MAC oder GUID im Active Directory vorzubereiten (prestagen):

  • Am Server, auf dem Windows Deployment Services [WDS] installiert ist, Active Directory-Benutzer und -Computer aufrufen (gegebenenfalls start->ausführen->dsa.msc).
  • in der entsprechenden Organisationseinheit -> Rechte Maustaste -> Neu -> Computer
  • Name des Clients festlegen
    neuerComputer
  • GUID oder MAC eingeben
    verwalteterComputer
  • Woher nun aber die GUID bzw. MAC nehmen?
    MAC: DHCP-Server, Verpackung, Aufkleber auf Client, Start-Bildschirm
    GUID: Start-Bildschirmstartbildschirm
  • Formatierung beim Eintrag beachten!!!! (und das ist die EIGENTLICHE CHALLENGE!!!)

Fall 1: Verwendung der MAC-Adresse (hier laut Bildschirm 00 03 FF B4 E5 EC )

Eingabe beim Prestaging:
{00000000-0000-0000-0000-0003FFB4E5EC}        ACHTUNG: inkl. {}
 oder
000000000000000000000003FFB4E5EC                ACHTUNG: OHNE – und {}

Fall 2: Verwendung der GUID
(hier laut Bildschirm 59888FA8-D0E2-1A46-8191-5546FAEC2184 )

Eingabe beim Prestaging:
{A88F8859-E2D0-461A-8191-5546FAEC2184}    ACHTUNG: {}  und „Buchstabendreher“!!
Erklärung:
Die rot angezeigten Zeichen „drehen“ innerhalb der durch „-“ getrennten Gruppe, dh, die letzten beiden [A8] sind die ersten beiden, die vorletzten beiden sind die zweiten beiden [8F] usw..) 
oder

59888FA8D0E21A4681915546FAEC2184                ACHTUNG: OHNE – und {}

Anlässlich der Frage, was sich Microsoft dabei gedacht hat, beim Prestaging und der Anzeige am Bildschrim kein einheitliches Format zu wählen… fällt mir ein Sinnspruch, der hier wieder einmal schriftlich festgehalten werden sollte:

Der Magen einer Sau,
die Tasche einer Frau,
das Innere der Wurscht
sind großteils unerfurscht

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…

Image von WDS ohne PXE

Problem:
Ein Rechner, der nicht über PXE bootet (da die eingebaute Netzwerkkarte PXE nicht untersützt),  sollte dennoch via Windows Deployment Service (WDS) installiert werden

Lösung:
Es soll ein USB-Stick derart eingerichtet werden, dass man von ihm booten kann und damit auf den WDS zugreift

einzelne Schritte: Weiterlesen

praktische Software: „ADMINOMAT“, um Remote ganze Schulungsräume aufzusetzen

Adminomat_2.0


Ziel der Software „Adminomat“:

Main Feature:
Ganze Schulungsräume remote über WDS aufzusetzen, in dem alle gewünschten Clients remote per WOL gestartet werden.

Dies ist möglich durch die Kombination von Windows Active Directory (AD), Wake on Lan (WOL) und Windows Deployment Service (WDS) in einem einzigen Tool!

Dadurch können Rollouts von Images für ganze Organisationseinheiten eines Active Directory erfolgen, ohne dass der Administrator physikalisch zum Client gehen muss!

Zusatzfeatures:
ganze Organisationseinheiten (zb. Schulungsräume, Abteilungen, etc) können remote gestartet werden, neu gebootet werden, oder heruntergefahren werden.
Weiters kann eine Auswahl getroffen werden, nach folgenden Kriterien:

  • angemeldete User
  • OU des angemeldeten Users
  • x86/x64
  • Datum der letzten Installation
  • Gerätehersteller bzw. -typ
  • RAM
  • etc etc

Voraussetzungen (für die volle Funktionalität):

Server:
Betriebssystem: ab Windows Server 2003 R2 / 2008 / 2008 R2
WDS sollte installiert sein (optional, damit der WDS bedient werden kann)
Verwendung von Microsoft – DHCP – Server ist vorteilhaft

Clients:
Im BIOS muss Wake On Lan einmalig aktiviert werden (inkl. bei Remotesitzung von Remoteserver booten);
Unter Windows muss in der Energieverwaltung der Netzwerkkarte folgendes aktiviert werden:
„Gerät kann Computer aus dem Ruhezustand aktivieren“

Download / Installation:

Das Tool wird NICHT installiert, sondern wird lediglich von einem beliebigen Ordner (auch USB-Stick o. ä.) am Server gestartet.
Am System wird NICHTS verändert!!!
Das Tool läuft auf jedem Windows Client ab XP!!!
Um den WDS zu bedienen und so ein Zero-Touch-Rollout zu starten, muss das Tool allerdings auf einem WDS-Server gestartet werden

Download unter:

www.adminomat.at

Handhabung und Funktion:
WICHTIG: das Tool sollte mit erhöhten Rechten ausgeführt werden –>
Rechte Maustaste auf das Tool –> „als Administrator ausführen“

Bedienung:

Clients remote per WDS neu aufsetzen:

a) kontrolliere deine „UnattendedPE.xml“ auf das gewünschte INSTALLATIONSabbild im Abschnitt

<InstallImage>
<ImageName>schulungsraum</ImageName>
<ImageGroup>windows7</ImageGroup>
<Filename>schulungsraum.wim</Filename>
</InstallImage>

btw: meine 100%ig funktionierende .xml gibt’s hier zum DOWNLOAD

b) Wichtig: Du solltest nur 1 STARTabbild aktiviert haben!!!

c) wenn ADMINOMAT am WDS-Server gestartet wird, gibt es den Menüpunkt „WDS“ –>  „ohne F12“
-> dadurch muss auf den Clients nicht mehr die Taste F12 gedrückt werden!!!
(es erscheint ein roter Hinweis, dass derzeit alle startenden Clients neu aufgesetzt werden…)

d) STARTE nun die gewünschten Clients oder die gesamte OU durch drücken des Buttons

e) WARTE ein paar Minuten (bis auf allen Clients PE gebootet hat)

f) drücke anschließend wieder den Button „mit F12“
(ansonsten wiederholt sich der Vorgang beim 1. Reboot und der Client wird zum 2. mal neu aufgesetzt…)

 

technischer Hintergrund
Wake on LAN wurde über das Tool wake.exe von Matthias Zirngibl (http://masterbootrecord.de/docs/wakeup.php) realisiert.)

 

in diesem Sinne

Have fun!

Windows Server Command-Line Reference

Weil ich soeben zufällig darüber gestolpert bin:
Windows Server Command-Line Reference

viele „alte Bekannte“ aber auch – zumindest mir – neue Befehle…

mir persönlich hats der WDSutil – Teil speziell angetan…

[weil ich derzeit eine Software bastle, die mir das gesamte AD inkl OUs + zugehöriger Clients und deren MAC-und IP-Adressen einliest und mir dadurch ermöglicht, einzelne oder alle Clients einer OU
– zu rebooten
– herunterzufahren
– per WOL „aufwecken“ und
– dann per WDS remote neu aufzusetzen…]