Skip to content

Windows (Server) 8 //sneak.previev

Die Folien zur Veranstaltung stehen zum Download bereit:
www.thorsten-butz.de/public/w8.sneakpreview.pdf

Still buggy after all those years

[For an ENGLISH version, click this line!]

Auch in der Vorabversion des Windows Server 8 von Februar 2012 findet sich ein altbekannter Fehler wieder: wie schon vor geraumer Zeit erörtert, unterlaufen Hyper-V Fehler beim Erstellen virtueller (VMBUS-) Netzwerkschnittstellen. Konfiguriert man IPv6 mit statischen Adressen und erstellt anschließend einen externen vSwitch, der die soeben konfigurierte Netzwerkkarte als Brücke verwendet, so vergisst Hyper-V einen Teil der Konfiguration.

In der Februar 2012-Version von Windows Server 8 fehlt nur noch der DNS-Eintrag, wie die nachfolgende Abbildung zeigt.

Auf der Abbildung ist zu sehen, dass die migrierte Netzwerkschnitstelle keinen DNS Eintrag aufweist.

Hyper-V vergisst beim Erstellen éiner virtuellen Netzwerkkarte einen Teil seiner IPv6-Konfiguration

“Just enough server”: der “Removed”-Status in Windows 8

[For an ENGLISH version, click this line!]

Microsoft empfiehlt für Windows 8 die Installationsoption Server Core (“GUIs on servers are evil“). Diese Meinung mag man teilen, insbesonders dann, wenn es darum geht, (virtualisierte) Server aufzusetzen, die so spartanisch ausgestattet sein sollen wie möglich.

In Windows 8 haben dism.exe und seine neu eingeführten PowerShell Geschwister einen neuen Installationsstatus (“InstallState”) hinzubekommen, den “Removed“-Status. Entfernte Komponenten werden nicht im Windows “Side-by-Side”-Store unterhalb von “c:\windows\winsxs” zwischengespeichert. Will man eine solche Komponente installieren/aktiveren, muss man eine Installationsquelle angeben.

Zur Sache: hat man Windows Server 8 Core installiert so kann man die aktiven Rollen und Features mit Hilfe der PowerShell überprüfen. Hierzu tippt man zunächst einfach “powershell” in das Kommandofenster ein und ruft anschließend die neuen dism-Cmdlets auf:

Get-WindowsFeature

Inaktive (“Disabled”) Komponenten lassen sich leicht installieren/aktivieren:

Get-WindowsFeature wins | Add-WindowsFeature –r

Will man so viel Festplattenplatz wie irgendwie möglich sparen und damit gleichzeitig den Server härten, so kann man alle nicht verwendeten Komponenten entfernen:

Get-WindowsFeature | ? { $_.InstallState –like “available” } | % { Remove-WindowsFeature $_ .Name -remove }

Benötigt man später eine entfernte Komponente, so muss man zur Installation einen Quellpfad angeben. Dies kann eine DVD/ISO-Datei sein:

gwmi Win32_OperatingSystem | select Caption

Get-Windowsimage -ImagePath “d:\sources\install.wim”

Mount-WindowsImage -ImagePath “d:\sources\install.wim” -Index 4 -Path “c:\mnt” -ReadOnly

Add-WindowsFeature wins -r -s c:\mnt\windows\sxs

Dieses Beispiel unterstellt, dass “D:” das DVD-Laufwerk repräsentiert und das auf dem Server Abbild Nummer 4 installiert wurde. Das gwmi Cmdlet zeigt das installierte Betriebssystem, diesen Wert kann man vergleichen mit der Ausgabe von “Get-WindowsImage” und so den passenden Index ermitteln.

Macht das alles Sinn?

Glücklicherweise kann das jeder Administrator für sich selbst entscheiden. Sehen wir uns doch mal den verringerten Platzbedarf an:
$c = gwmi Win32_LogicalDisk | ? { $_.deviceid -match “c” }
($c.Size – $c.FreeSpace) /1GB
Ermitteln man den Platzbedarf des Startlaufwerks, so verbraucht ein Server Core anfänglich 5,7 GB Festplattenplatz. Entfernt man alle nicht verwendeten Features, reduziert sich dies auf 5 GB. Diese Angaben mögen im Einzelfall variieren, es ist jedoch zu unterstellen, dass die Ersparnis nicht so signifikat ist, als dass man allzu viel Zeit mit dieser Optimierung verbringen sollte. Wesentlich jedoch ist, dass man mit entfernten Komponenten umgehen kann, da sich ein Server Core ansonsten nicht in allen Belangen administrieren lässt.

Standard-Platzbedarf einer Core-Installation

Standard-Platzbedarf einer Core-Installation

Platzbedarf nach Enternen aller ungenutzen Komponenten

Platzbedarf nach Enternen aller ungenutzen Komponenten

Entfernte Komponenten können ohne Quellpfad nicht installiert werden

Entfernte Komponenten können ohne Quellpfad nicht installiert werden

Diese Informationen beziehen sich auf Windows 8 Build 8250, die im Februar 2012 veröffentlichte Vorabversion.

Lebewohl, DCPROMO!

[For an ENGLISH version, click this line!]

In der “Windows Server Developer Preview”, die Microsoft auf der BUILD-Konferenz vorstellte, lassen sich zahlreiche Änderungen der Benutzerschnittstelle beobachten. Neben den vielen offensichtlichen Veränderungen, sind auch zwei alte Bekannte dem Rotstift zum Opfer gefallen: “dcpromo.exe” und “servermanagercmd.exe” fehlen in der Windows 8-Vorabversion. Da Microsoft im Gegenzug zahlreiche neue Cmdlets einführt, lohnt ein Blick auf die Installation eines Domänencontrollers (DC), wie sie in “Windows 8″ begegnen wird.

(a) Vorarbeiten
Nach der Installation des W8-Servers muss zunächst die Netzwerkkarte(n) konfiguriert werden, was am einfachsten über die Eingabe des Befehls “ncpa.cpl” geschieht. Alternativ steht mit “netsh” ein alter Bekannter zur Verfügung, sowie neue Cmdlets: Get-NetIPAddress, Set-NetIPAddress

(b) Die graphische Installation
Unter diesem Link findet sich eine Screenshot-Gallerie, die die Vorgehensweise dokumentiert.

(c) Installation und Konfiguration mittels PowerShell
Zur Installation über die PowerShell steht ein Cmdlet namens “Install-ADDSForest” (bzw. “Install-ADDSDomain”) zur Verfügung; damit dieses verwendet werden kann, muss zunächst die Rolle “AD-Domain-Services” installiert werden.

Get-WindowsFeature *domain* | Add-WindowsFeature –Restart
Import-Module ADDSDeployment ## Optional
Install-ADDSForest –DomainName “contoso.com” –InstallDNS:$true

Der fällige Neustart erfolgt selbständig; nach der Installation ist zwar der DNS-Dienst installiert, es fehlen jedoch die Vewaltungswerzeuge, die man leicht nachrüsten kann:

Add-WindowsFeature DNS-Server-Tools -Restart

In allen Fällen ist der Parameter “-Restart” optional, der Neustart erfordert nur, wenn er notwendig ist. Es empfiehlt sich, den Reboot-Parameter grundsätzlich anzufügen, um keinesfalls mit einer unvollständigen Installation in Fehler zu laufen. Ob die Installation(en) erfolgreich waren, kann man so ermitteln:

Get-WindowsFeature | ? { $_.Installed }

“Install-ADDSForest” erfordert lediglich die Übergabe zweier Parameter, wie das Beispiel oben zeigt. Man kann jedoch weitere Parameter übergeben, was das nachfolgende Beispiel dokumentiert. Eine solche Beispieldatei generiert der graphische Installer (b), was die gesamte Prozedur stark vereinfacht.

## Windows PowerShell Script for AD DS Deployment ##

Import-Module ADDSDeployment
Install-ADDSForest `
-DatabasePath “C:\Windows\NTDS” `
-DomainMode “Win2008R2″ `
-DomainName “contoso.com” `
-ForestMode “Win2008R2″ `
-InstallDNS:$true `
-LogPath “C:\Windows\NTDS” `
-RebootOnCompletion:$false `
-SafeModeAdministratorPassword (Read-Host -AsSecureString -Prompt “Enter Password”) `
-SYSVOLPath “C:\Windows\SYSVOL”

Dennis Ritchie

#include <stdio.h>
int main(void) {
  printf("Farewell, Dennis Ritchie!\n");
  // return 0;
/*  1941-09-09/2011-10-12  */
}
Dennis Ritchie, Ken Thompson

Dennis Ritchie verstarb am 12.10.2011 im Alter von 70 Jahren

Hyper-V wireless networking auf einem MacBook Air

Mit Hilfe von Apples Bootcamptreibern lässt sich auch auf einem MacBook Air ohne größere Probleme auch Windows Server 2008 R2 installieren, was die Möglichkeit eröffnet, Hyper-V zu nutzen. Dieses Szenario ist allerdings nur in wenigen Fällen sinnvoll: will man schlicht virtualisieren, so bieten sich Desktop-Lösungen für MacOS wie Parallels und VMWares Fusion an. Will man jedoch explizit Hyper-V nutzen, so ist eine Dual-Boot-Installation erforderlich.

Nach der Installation des Windows Server 2008 R2 ist man mit dem Problem konfrontiert, dass ein MacBookAir keine kabelgebundene LAN-Schnittstelle hat. Eigentlich unterstützt Hyper-V keine WLAN-Schnittstellen, das System lässt sich aber mit Hilfe einer einfachen Netzwerkbrücke (“Bridge”) vom Gegenteil überzeugen.

  1. Im ersten Schritt erstellt man mit dem “Virtual Network Manager” ein virtuelles Netzwerk vom Typ “Internal”:
    Hyper-V Virtual Network Manager
  2. Im “Network and Sharing Center” findet man anschließend eine neue LAN-Schnittstelle, über die der Hyper-V-Host und seine “Child partitions” ein rein internes Netzwerk aufbauen können:
  3. Markiert man gleichzeitig diese Schnittstelle und den WLAN-Adapter, so lassen sich diese zu einer einzelnen logischen Einheit “brücken“:

Alternativ kann kann man in einen USB-Ethernet-Adapter investieren, den Hyper-V wie jede traditionelle LAN-Verbindung akzeptiert. Hierzu sind lediglich die schon erwähnten Bootcamptreiber erforderlich, so dass Windows die Hardware erkennt.

Diese “LAN-Schnittsstelle” kann Hyper-V ohne Tricks nutzen. Typischerweise erstellt man ein “External”-Netzwerk, in der Folge erscheint ebenfalls eine virtuelle Netzwerkschnittstelle in der Netzwerkkonfiguration des Hosts. Entfernt man den Adapter anschließend physisch, bleibt die zuvor erzeugte VMBus-NIC (die Schnittstelle, die über die Konfiguration des “External”-Netzwerks entstanden ist) erhalten. Man kann diese Schnittstelle dann sogar verwenden, um die Netzwerkbrücke ohne den Umweg über das “Internal”-Netzwerk mt dem WLAN-Adapater zu verbinden, Hyper-V wird das in aller Regel akzeptieren, weil das System im Hindergrund die nötigen Anpassungen automatisch vornimmt. Empfehlenswert ist das aber nicht, da man sich dort sehr schnell einen “Knoten in die Netzwerklogik” konfiguriert. Dies sei also eher als Warnung verstanden.

Diese Vorgehensweise funktioniert natürlich nicht nur auf MacBooks, sondern auch auf anderen Notebooks. Es finden sich Beiträge zahlreicher Kollegen, die diese und alternative Vorgehensweisen beschreiben. Einige sind nachfolgend verlinkt.

One more thing …

Steve Jobs 1955-2011

Steve Jobs 1955-2011

“Dieses Programm wird nicht häufig heruntergeladen …”

Schon seltsam, welche Fehlermeldungen uns da manchmal begegnen:

“Dieses Programm wird nicht häufig heruntergeladen und kann auf dem Computer Schaden anrichten.”

Um welches Programm mag es sich wohl handeln, vor dem uns der Internet Explorer so nachhaltig warnt? Es ist der “Sharepoint Foundation Server 2010“. Dass das Programm “Schaden anrichten kann” haben einige ja schon immer behauptet, nun wissen wir aber auch (Achtung: Ironie!), dass es offenbar nicht sonderlich beliebt ist.

Neuer Artikel in der IT-Administrator erschienen

Unter dem Titel “Stolpersteine im Sysprep-Vorgang bei Windows 7 – Rollout mit Hindernissen” ist in der aktuellen IT-Administrator (Heft 06/2011, ab Seite 61) ein Workshop von mir erschienen. Ich beleuchte dort das Erstellen eines Standardbenutzer-Profils mit der “CopyProfile”-Option, die Hürden beim Erstellen von “Pinned Items” in der Taskleiste sowie die Feinheiten der “OOBE”-Phase für den SYSPREP-Vorgang. Die im Heft vorgestellen Beispieldaten finden sich hier zum Download.

Über Kommentare, Ergänzungen, Anregungen freue ich mich per Mail.

IErrungen

Mit dem Internet Explorer 9 hat Microsoft in zeitlicher Nähe zum Service Pack 1 ein reizvolles Update veröffentlicht, das man beim Setup von Windows 7 sinnvollerweise direkt in das Installationsmedium integrieren sollte. Beim automatisierten Bereitstellen warten aber einige Fallen, die es zu umschiffen gilt.

1. Offline Setup
Oblgeich man auf der Downloadseite zwischen zahlreichen Varianten wählen kann, benötigt man für die automatisierte Installation in der Regel nur den deutschen IE für Windows 7, in 32 und/oder 64 Bit, da mit ihm sowohl englische Windows-Versionen als auch der Windows Server 2008 R2 betankt werden können. Dem Installer “IE9-Windows7-x64-deu.exe” entlockt man mit “/?” Parameter, so zum Beispiel den Paramter “/x:<pfad>” zum Entpacken der Datei.  Das extrahierte Archiv gibt den Blick frei auf vier Dateien, von denen die Datei “ielangpack-DEU.CAB” das Sprachpaket repräsentiert. Es ist nicht erforderlich die separat angebotenen Sprachpakete herunterzuladen, sie sind in den landesspezifischen Installern integriert, Englisch ist in jedem Fall bereits in der Grundinstallation enthalten.

Die erste Ver-IE-rrung erlebt man bei dem Versuch, IE 9 ohne Internetzugang zu installieren. Obgleich der Parameter “/update-no” die Suche nach Updates vor der Installation unterbinden soll, kann der Installationsversuch fehlschlagen:

IE9 Setup verlangt nach Internetverbindung

Installiert man den IE 9 jedoch mittels “dism.exe”, so läuft die Installation zuverlässig durch:

dism /online /Add-Package /PackagePath:IE9-Win7.CAB

dism /online /Add-Package /PackagePath:ielangpack-DEU.CAB

Der zweite Befehl installiert das Sprachpaket. Auf einem rein englischen System kann man die Sprachdatei einfach ignorieren. Wie bereits erwähnt, ist es demzufolge nicht erforderlich, die “englische” Version herunterzuladen – man hat sie bereits vorliegen.

2. Offline Patching
Da sich “dism.exe” als geignetes Werkzeug zur Installation erwiesen hat, kann man den IE auch direkt in das Windows 7-Installationsmedium integrieren. Es bietet sich an, bei der Gelegenheit ein vollständig zweisprachiges (deutsch/englisch) Windows zu erstellen:

# 1: Den Inhalt einer deutschen Windows 7-Enterprise-DVD nach c:\depot\win7 kopieren, anschließend das Installationsabbild montieren:
dism.exe /Mount-Wim /WimFile:c:\depot\win7\sources\install.wim /index:1 /MountDir:c:\mnt\tmp

# 2: Das englische Sprachpaket nach c:\depot\LP_W7SP1 herunterladen , entpacken und integrieren:
dism.exe /Image:c:\mnt\tmp /Add-Package /PackagePath:”C:\depot\LP_W7SP1\en-us\lp.cab”

# 3: Den IE herunterladen, die Datei “IE9-Windows7-x64-deu.exe” entpacken(im Beispiel nach IE9-Windows7-x64-deu) und integrieren :
dism.exe /Image:c:\mnt\tmp /Add-Package /PackagePath:”C:\depot\ie9\IE9-Windows7-x64-deu\IE9-Win7.CAB”
dism.exe /Image:c:\mnt\tmp /Add-Package /PackagePath:”C:\depot\ie9\IE9-Windows7-x64-deu\ielangpack-DEU.CAB”

# 4: Das Abbild demontieren:
dism.exe /Unmount-Wim /MountDir:c:\mnt\tmp /commit

# 5: Das “Windows AIK für Windows 7″ installieren und eine neue DVD erstellen:
c:\Program files\Windows AIK\tools\amd64\oscdimg.exe -n -m -b”c:\depot\win7\boot\etfsboot.com” c:\depot\win7 c:\depot\win7x64_de_en_ie7.iso

Führt man Schritt 1 mit einer anderen Windows 7-Edition aus, somuss man zunächst ermitteln, welcher Index der gewünschten Variante zugeordnet ist.

DISM.exe /Get-WimInfo /WimFile:”c:\depot\win7\sources\install.wim”

Schritt 2 entfällt bei  einer Home Premium oder Professional-Edition, da diese Editionen keine Mehrsprachigkeit erlauben (es sei denn, man möchte während des Setup zwischen verschiedenen Sprachen wählen können).

3. Gruppenrichtlinien/GPO
Nach der erfolgreichen Installation des neuen Internet Explorer sollte man einen Blick in das Verzeichnis “c:\Windows\PolicyDefinitions” werfen: dort sind nun drei neue Dateien vorhanden:

  • inetres.admx
  • de-DE\inetres.adml
  • en-US\inetres.adml

Der Installer hinterlegt die korrespondieren administrativen Vorlagen auf jedem Windows-System mit installiertem IE 9. Man erkennt die neue Version an der Kennzeichnung ‘revision=”9.0″‘ in den ersten Zeilen der Dateien. Diese ADMX/L-Dateien sollte man nun in den “Central Store” integrieren.