Haikos Blog Blog von Haiko Hertes zu allen Themen rund um Microsoft und Datacenter

9Jul/150

SCCM 2012 R2: Wie man OSD einrichtet und benutzt

Auf Anregung einiger Teilnehmer habe ich heute ein Video erstellt, das zeigt, wie man die OSD-Komponenten des System Center Configuration Manager 2012 R2 nutzt, um Betriebssysteme zu verteilen. Das Operating System Deployment stützt sich dabei auf WDS/PXE und DHCP.

Das Video könnt ihr hier finden:

 

Die Folien dazu sind hier zu finden:

http://1drv.ms/1HhQ4r4

Viel Spaß dabei!

17Jul/140

WDS und SCCM oder 2x WDS parallel betreiben / Probleme mit PXE lösen

Wenn man (z.B. während der Einführungsphase vom System Center Configuration Manager) den bisherigen WDS-Server (Windows Bereitstellungsdienste / Deployment Services) weiterhin nutzen will, aber parallel die Betriebssystembereitstellung (OSD) von SCCM benötigt, dann besteht im Wesentlichen das folgende Probleme:

Da PXE auf Broadcasts basiert, kann es nur einen PXE-Server geben, den der Client letztlich kontaktiert (man kann per Verzögerung dafür sorgen, das einer immer schneller ist als der andere). Wenn man nun also PXE am SCCM aktiviert, dann ist es quasi Glückssache, ob der Client zuerst die Meldung vom WDS oder zuerst die von SCCM empfängt – in den meisten Tests war SCCM schneller. Damit bleibt also nur eine der beiden Technologien nutzbar.

Aber es gibt eine Lösung! Diese ist leider a) nicht wirklich dokumentiert und b) seitens Microsoft auch nicht unterstützt (man hört aber, das selbst Microsoft diese Lösung intern einsetzen soll).

Die Lösung besteht darin, dem Benutzer am Client die Wahl zu lassen, welchen der gefundenen PXE-Server er nutzen will. Um dies zu erreichen, ist am WDS-Server (also derjenige, der nicht der SCCM-Server ist) ein Registry-Key zu setzen:

pxe1

Zusätzlich muss am SCCM in den eigenschaften des Distribution-Points (Verteilungspunkt) für eine ausreichende Verzögerung gesorgt werden (würde man zuerst den PXE vom SCCM booten, dann hat der RegKey dort keine Wirkung, da dieser nur auf den WDS-eigenen PXE-Provider wirkt, nicht aber auf den vom SCCM):

pxe5

Wenn nun ein Client einen PXE-Boot versucht (und die Verzögerung ausreichend war, dass sich zuerst der Nur-WDS-PXE-Server meldet), dann bekommt der Benutzer zusätzlich zu der Möglichkeit, per F12 vom Netzwerk zu booten eine weitere Option: F11 für eine Server-Auswahl!

pxe2

Drückt man jetzt F12, wird wie gewohnt DIESER WDS-Server genutzt und von dort mittels PXE gebootet. Drückt man jedoch F11, werden zuerst alle verfügbaren WDS-Server erkannt:

pxe3

Danach bekommt man eine Auswahl-Liste mit allen gefundenen PXE-Servern:

pxe4

Hier kann nun der jeweilige PXE-Server gewählt werden. Der WDS-Server selber steht an erster Stelle, an zweiter Stelle steht hier der SCCM mit aktiviertem PXE.

Auf diese Weise ist es möglich, WDS und SCCM oder mehrere WDS-Server parallel zu betreiben. Natürlich muss die entsprechende DHCP-Infrastruktur aufgebaut sein, damit PXE überhaupt funktionieren kann!

2Feb/130

Server 2012: Unattend.xml für geklonte Maschinen

Will man einen Server 2012 klonen, ist es nötig, diesen vor dem Klonvorgang mit Hilfe von Sysprep vorzubereiten. Dabei gehen einige Informationen verloren, u.a. die SID, Hostname, IP-Adresse und co. Das ist hier auch gewollt. Allerdings gehen auch andere Informationen verloren, die dann nach dem Ausrollen des Images erneut eingegeben werden müssen, u.a. verschiedene Spracheinstellungen, Produkt-Key, das lokale Administratorpasswort und einiges mehr.

Um nun nicht auf vielen Klonen diese Informationen immer wieder neu eingeben zu müssen, kann man sich mit einer Unattend.xml, einer sogenannten "Antwortdatei", behelfen. In dieser kann man all diese Informationen vorab festlegen und sie werden dann automatisch verarbeitet.

Eine solche Unattend.xml muss entweder bereits vor dem Sysprep oder dann später mittels DISM in den Pfad %WINDIR%\Panther\Unattend gelegt werden.

Möchte man diese Aufgabe mit DISM für bereits existierende Images erledigen, ist der Ablauf in etwa der folgende:

1
2
3
4
dism /Mount-Wim /MountDir:C:\Mount /WimFile:C:\Image.wim /index:1
mkdir C:\Mount\Windows\Panther\Unattend
copy "C:\unattend.xml" C:\Mount\Windows\Panther\Unattend
dism /Unmount-Wim /MountDir:C:\Mount /commit

Damit wird das Image mittels DISM (schreibend) bereitgestellt, die Antwortdatei an den passenden Pfad kopiert und das Image zurückgeschrieben. Die Antwortdatei selber kann man mit Hilfe des "Windows System Image Manager" (SIM) erzeugen, welcher Bestandteil des WAIK und WADK ist. Nötig sind hierbei mindestens folgende Angaben im Teilbereich oobeSe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <InputLocale>de-de</InputLocale>
            <SystemLocale>de-de</SystemLocale>
            <UILanguage>de-de</UILanguage>
            <UILanguageFallback>en-us</UILanguageFallback>
            <UserLocale>de-de</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <NetworkLocation>Work</NetworkLocation>
                <ProtectYourPC>3</ProtectYourPC>
                <SkipMachineOOBE>true</SkipMachineOOBE>
                <SkipUserOOBE>true</SkipUserOOBE>
            </OOBE>
            <UserAccounts>
                <AdministratorPassword>
                    <Value>P@$$w0rd!</Value>
                    <PlainText>true</PlainText>
                </AdministratorPassword>
            </UserAccounts>
            <TimeZone>W. Europe Standard Time</TimeZone>
</component>

Damit werden die nötigen Eingaben vollständig automatisiert, der geklonte Server bootet nach dem Ausrollen des Images mehrfach durch, bis er abschliessend am Login steht. Das Administrator-Kennwort ist hier mit "P@$$w0rd!" festgelegt, kann aber geändert werden.

Wenn mann ohnehin eine Antwortdatei nutzt, kann man damit auch gleich noch weitere Einstellungen setzen, z.B.:

- Autologin
- Firewall abschalten
- Automatischen Start des Servermanagers abschalten
- Verstärkte Sicherheit im IE abschalten
- Remotedesktop einschalten
- Kennwort des lokalen Admin läuft nie ab
- uvm.

Die fertige Antwortdatei sieht dann in etwa so aus:

(Beispieldatei kann hier heruntergeladen werden)