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 und Linux/Samba (3.0.x) Umlaute/Sonderzeichen Darstellung

windows-linux-samba-umlauteAn diesem Phänomen habe ich jetzt eine ganze Weile gebastelt – aber ich bin zufrieden mit der Lösung 🙂

Problem: Umlaute in Dateinamen werden Unter Windows anders angelegt als unter Linux (Shell/Konsole/X) und noch anders unter DOS. Einen brauchbarer Fileserver mit Umlauten in Dateinamen ist unter Samba praktisch nicht zu betrieben.

Lösung: Die meisten Phänomene mit deutschen Umlauten bekommt man in den Griff, indem man das Dateisystem weiterhin in UTF-8 betreibt (es gibt da die wildesten Anleitungen im Netz), aber die Umlaute durch Samba hart in Windows-Ansi (Codeseite 1252) schreiben lässt. Da Windows selber immer abwärtskompatibel zu DOS bleibt (die gute alte CP850), kann man 1252 in der Regel ohne Probleme zu Samba 3.0.3x (smb.conf)  hinzufügen:

[global]
unix charset = UTF-8
dos charset = cp1252

In Samba <3 lautet die Option (hier alternativ mit ISO8859-1 für Windows-ANSI):

character set = ISO8859-1

Ein schnelles

/etc/init.d/smb reload

läd die Config im laufenden Betrieb auch neu und alles ist gut.

AchtungBestehende Dateien werden dadurch natürlich nicht verändert. Schon geschriebene Umlaute bleiben so wirsch wie sie sind. Das gilt auch nur für den Zeichensatz CP1252, also nicht für den ganzen UTF-8 Zeichenraum. Da wird es so auch weiterhin diese lustigen Codierungsfehler geben.

windows-samba-linux

Bestehende falsche Umlaute im Dateinamen nachträglich (bulk) korrigieren

In der Shell kann man solche falsch benannten Dateien natürlich einfach einzeln umbenennen; zum Beispiek mit mv (oder dem rename-alias):

mv seltsamezeichen???.txt seltsamezeichenÄÖÜ.txt

Das Fragezeichen ist hier der Platzhalter für ’nur ein Zeichen, aber jedes‘. Achtung beim Escapen von Leereichen ( ), hier habe ich mich auch schon ein paarmal „Ganz sch?n ge?rgert.txt“ weil ich einen Backslash an der falschen Stelle eingebaut hatte.

Lösung: Bulk umbenennen mit „convmv“. Das ist bei allen großen Distributionen dabei oder im Repository (warum wohl?) und funktioniert so:

convmv -f iso-8859-15 -t utf-8 --notest /foo/bar

Damit werden in /foo/bar alle Dateinamen von ISO-8859-15 nach UTF-8 konvertiert. Mit -r geht das natürlich auch rekursiv.

HP Integrated Lights-Out (ILO, alle Versionen) Kennwort zurücksetzen, Benutzer hinzufügen

Problem

Da hat der Kunde einen Server mit dem schicken HP Integrated Lights Out (ILO) gekauft, aber irgendwann™ hat irgendjemand™ wohl irgendwo™ das Kennwort geändert und natürlich nicht dokumentiert oder vergessen.

Voraussetzung für den Kennwortreset ist ein lokaler administrativer Benutzer oder root-Zugang auf dem Hardware-Server. Sollte die Maschine ein ESX(i) sein, ist ein bisschen mehr Aufwand notwenig, geht aber auch. Unter vmware ESX müssen die HP-Tools installaiert sein oder ein HP-ESX(i) Image gebootet sein (das enthält schon automatisch den Interface Driver und HPONCFG).

Lösung

  1. HP Service Pack for ProLiant herunterladen (das ersetzt ab jetzt die Smart Update Firmware DVD und die ProLiant Support Packs (PSPs) und installieren. Wichtig ist der „ILO Channel Interface Driver“, das ist das API Interface für HPONCFG.
  2. Alternativ: Download hponcfg (für Windows) mit ilo-rest.xml direkt von hier. Achtung, das ist bestimmt superillegal und total gefährlich und so und überhaupt. hponcfg für Windows (ugg.li mirror download)
  3. Erstelle im hponcfg-verzeichnis eine ilo-reset.xml
    <ribcl VERSION="2.0">
    <login USER_LOGIN="Administrator" PASSWORD="egalpasswort">
    <user_INFO MODE="write">
    <mod_USER USER_LOGIN="Administrator">
    <password value="neuespasswort"/>
    </mod_USER>
    </user_INFO>
    </login>
    </ribcl>
  4. An der Kommandozeile das neue XML dann ins ILO schreiben: HPONCFG.exe /f ilo-reset.xml

Alternativ lässt sich auch ein neue „nackter“ Admin-Benutzer zum ILO hinzufügen.

Neuer-ILO-Benutzer.XML

<RIBCL VERSION="2.1">
 <LOGIN USER_LOGIN="Administrator" PASSWORD="password">
 <USER_INFO MODE="write">
 <ADD_USER
 USER_NAME = "aadmin" <-- neuer user (name)
 USER_LOGIN = "aadmin"  <-- neuer user (loginname)
 PASSWORD = "Just1Tribute"> <-- neues passwort
 <ADMIN_PRIV value = "Y"/>
 <REMOTE_CONS_PRIV value = "Y"/>
 <RESET_SERVER_PRIV value = "Y"/>
 <VIRTUAL_MEDIA_PRIV value = "Y"/>
 <CONFIG_ILO_PRIV value = "Y"/>
 </ADD_USER>
 </USER_INFO>
 </LOGIN>
</RIBCL> 

Weider mit hponcfg /f einlesen und setzen, fertig.