Windows Server 2012 schwarzer Bildschirm nach der Anmeldung (sowohl RDS/RDP/Lokal)

Windows Server 2012 und Server 2008/R2 können dem gestandenen Admin ab und an auch mal neue Schrecken einjagen. Praktisch direkt nach der Installation, dem ersten Schwung Updates und vielleicht ein bisschen Rollen-Gewühle bleibt nach einem Reboot der fast-frische Serverbildschirm nach dem Login plötzlich schwarz. Sowohl via RDP als auch bei der loaklen Anmeldung – alles schwarz. STRG+ALT+ENTF zaubert zwar den Taskmanager-Auswahlbildschirm wieder in die sichtbare Realität, mehr aber auch nicht. Ich habe dieses Phänomen jetzt unter VMWare gesehen, unter Hyper-V und auf echter Hardware (selten, aber sowas gibt’s noch). Hardware ist nicht schuld.

Im Eventlog, das via RPC erreichbar ist, offenbart sich der Effekt durch die Warnung:

The Windows logon process has failed to spawn a user application. Application name: . Command line parameters: C:Windowssystem32userinit.exe.

Lösung

Der Fehler liegt irgendwo zwischen der Erzeugung des Twintoken bei der Anmeldung und der UAC-Steuerung. Beides benötigt zur Anzeige rechte für die Interaktive Anmeldung; irgendetwas zerstört offenbar diese (lokal). Daher: Die lokale Gruppe „Benutzer“ verfüg über diese – und bekommt die beiden neuen Mitglieder „Authentifizierte Benutzer“ und „Interaktive Anmeldung“. Das ist remote möglich – reboot und der Bildschirm ist wieder da. Auf einem DC gibt es bekanntlich keine Lokalen Gruppen, daher müssen für solche Server die Domänen-Prinzipale in builtin herhalten. Einfach dort beide Prinzipale einfügen, fertig.

Samba (Debian) – Windows Offlinedateien (Offlinesynchronisation) abschalten

Nach langem Suchen bin ich nun doch fündig geworden. Die Offlinesynchronisation die sich im Windows-Dateiserver so wunderbar einfach pro Freigabe deaktivieren lässt, ist auch unter Linux durchaus konfigurabel.

Die zuständige Option heißt „CSC Policy“ und wird in die smb.conf im jeweiligen Abschnitt der Freigabe eingefügt, in der die Offlinedaten angepasst werden sollen.

In meinem Fall (eine Abas-ERP Freigabe für die Offline-Verfügbarkeit sperren) sieht das in der smb.conf so aus:

csc policy: disable

CSC steht für „Client-side caching“ und bietet analog zur Windows-Einstellung die Varianten „manual“, „documents“, „programs“ und „disable“. Mehr gibt’s in der manpage für Samba3.

Windows Server 2008R2 DHCP Synchronize reserved IPs (DHCP-Reservierung von einem Server auf einen anderen kopieren)

DHCP SynchronisationRedundante DHCP-Server sind eine feine Sache. Microsoft geht sowas gerne mit der 70/30 Methode an, andere Hersteller haben andere Zahlen – nutzen aber die selbe Technik. Die Proportionen sind natürlich jeweils anpassbar, die Taktik aber gleich: Man baut einfach identische DHCP-Server, schliesst aber jeweils die Hälfte der Adressen (oder 70% und 30%) von der Verteilung pro Server aus. Funktioniert gut, ist aber nicht die performateste Möglichkeit – und löst das Problem der Reservierungen nicht. Reservierungen müssen jeweils auf beiden (oder mehr) Servern angelegt werden, sonst endet ein Client gerne mal mit einer falschen (oder vermeintlich reservieren) Adresse.

Dieses Script holt sich die DHCP-Reservierungen von einem „Master“ Server ab und importiert diese in (den selben Bereich) in einen Zielserver. Der Bereich muss schon existieren. Die restliche Konfiguration der Server bleibt dem Admin überlassen – ob 50/50, 70/30 oder 100/100 ist egal. Es werden nur die Reservierungen kopiert. Diese Aufgabe ist Scripttechnisch etwas hakelig, weil die Waffe der Wahl „netsh“ die Daten im DHCP zwar lesen und schreiben kann, dafür aber unterschiedliche Formatierungen benötigt. MAC-Adressen werden zum Beispiel im Format „aa-aa-aa-aa-aa-aa-“ (ja mit dem „-“ am Ende) ausgegeben, beim ‚delete reservedip‘ muss aber das Format „aaaaaaaaaaaa“ genutzt werden. Danke Microsoft *ARGH*.

Features

  • Benötigt keine Erweiterungen oder ekelige Tools (VBScript, Powershell, .NET, Whatever). Nur Einfaches Batch, SED (enthalten) und netsh
  • Läuft – abhängig vom DHCP-Server – recht schnell
  • Nutzung sehr einfach
  • Keine Parameter, einfach starten

Benutzung

  • Herunterladen, auspacken
  • Script bearbeiten, Variablen ausfüllen
  • Als Nutzer mit passenden Rechten (z.B. DHCP-Operator) starten. Sowohl Quell- als auch Ziel-DHCP Dienst müssen laufen.

Download

ToDo

  • Auf Server 2012 erweitern (DHCP-Failover nutzen)
  • Übersetzen 🙂

Internet Explorer Warnung „Die Sicherheitseinstellungsstufe ist ein Risiko für den Computer.“

Auf frisch installierten Windows 8 und vor allem Windows Server 2012 Maschinen erschreckt den findigen Administrator der es erst einmal geschafft hat den „geschützten Modus“ des Internet Explorer zu verlassen (um zum Beispiel einen anderen Browser herunterzuladen) diese Warnungsmeldung:

 Die Sicherheitseinstellungsstufe ist ein Risiko für den Computer.

ie10-warnungNatürlich lässt sich die Warnung und die unfreiwillige Startseite „about:SecurityRisk“ weder wegklicken noch per GPO deaktivieren. Selbstverständlich erst recht nicht auf Terminalservern, wo kämen wir denn hin wenn am Ende tatsächlich jemand den Internet Explorer wirklich zum Websurfen verwenden würde? Das sucht Microsoft ganz offensichtlich mit allen Mitteln zu verhindern. ARGH.

Lösung: Einen offiziellen GPO-Eintrag gibt es (noch) nicht (…). Dafür reicht für den IE8/9/10 unter Windows 7/2008R2/8/2012 aber ein kleiner Eintrag in die Registry:

[HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSecurity]
"DisableSecuritySettingsCheck"=dword:00000001

Dieser lässt sich natürlich auch (als Quick-Fix) per Logonscript verteilen:

reg add "HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerSecurity" /V "DisableSecuritySettingsCheck" /D 1 /T REG_DWORD

Bitte liebes Microsoft, gebt und Admins doch weigstens die Möglichkeit, den IE vernünftig zu verwenden. Angesichts der langen Historie von Sicherheitslücken im IE ist zwar nachvollziehbar das JavaScript ganz furchtbar gefährlich für den IE ist, aber ohne IE ist das Web nunmal heute unbrauchbar. Auch für Benutzer. Lasst uns Admins doch wenigstens die Sicherheitseinstellungen anpassen.

Windows Server 2012 lässt sich nicht aktivieren („DNS-Server ist nicht verfügbar“)

windows-2012-ist-aktiviertEine interessante Eigenheit zeigt der Windows Server 2012 nach einem In-Place Upgrade von Windows Server 2008R2. Nach dem ansonsten erfolgreichen Upgrade lässt sich die Produktaktivierung des neuen Serversystems nicht erfolgreich abschliessen. Der Assistent gibt dazu nur den überaus nicht-hilfreichen Hinweis auf einen Netzwerk- oder KMS-Fehler fehler aus (Für den es zumindest die MSKB hält):

Aktivierungsfehler: Code 0x8007232b
Der DNS-Name ist nicht vorhanden.

Interessanterweise hast der Fehler nichts mit DNS zu tun, sondern mit dem Productkey. Dieser muss auf das passende Server 2012-Pendant aktualisiert werden:

slui 0x03

Der Product Key lässt sich zum Glück recht schnell ändern. Danach klappt auch die Internetaktivierung wieder.

<rant>Microoosooooft! Wenn wir schon unter dieser umständlichen Aktivierung leiden müssen, gebt doch BITTE wenigstens korrekte, nachvollziehbare und debugbare Fehlermeldungen aus!</rant>