Outlook Anywhere (RPC/HTTP) über einen anderen (nicht-Standart) Port verwenden

Aus verschiedenen Gründen – die allermeisten davon esoterisch – kommt es vor, das Administratoren oder Systembetreuer Ihr OWA nicht über den Standard-Port (SSL TCP/443) erreichbar machen, sondern über einen Geheimport (444, 4430 oder ähnlich seltsames). RPC-over-http ist eines der (glücklicherweise wenigen) Protokolle die von Natur aus nicht mit verbogenen Zielports leben können (http://www.ietf.org/rfc/rfc2818.txt). Trotzdem bleibt der RPC auf den meisten Sites, vor allem SBS-Servern, seit Exchange 2007 eingeschaltet, so dass man über einen vermeintlich simplen OWA-Zugang auch ganz passabel mit Outlook arbeiten kann. Wenn man seinem Profil diese Eigenart denn nun beibringt.

Weil „unsupported“ ist die Einrichtung leider etwas hakelig. Aber so geht’s:

  1. Zuerst ganz normal das MAPI-Profil einrichten (oder hinzufügen, je nachdem wie man möchte). Das geht über Systemsteuerung -> E-Mail -> E-Mail Konten

     

     

     

  2. Den Exchange-Server mit seinem INTERNEN Namen (z.B. foobar.local) hinzufügen. NICHT auf „Namen prüfen“ Klicken, das hätte eine lange Wartepause und ängstliche Fehlermeldungen zur Folge.

     

     

  3. Den RPC-over-http-Proxy einstellen. Wichtig: hier nicht den Port eingeben (das akzeptiert Outlook nicht), sondern diesen mit einem Minus an die Adresse anhängen. Die Haken setzen und auf „Standardauthentifizierung“ umstellen. NTLM stinkt ganz furchtbar, besonders über einen http/RPC.

 

 

  1. Ok – Ok – Ok – Schliessen – Schliessen – ok (Reihenfolge und Anzahl mag abweichen :-). Achtung, es kann zu ewig langen Wartezeiten kommen, weil die Verbindung ja tatsächlich (noch) nicht hergestellt werden kann. Das Timeout sind 30 Sekunden (mal drei). Den Fehler auch ignorieren und das Profil trotzdem erstellen.
  2. Jetzt kommt der interessante Teil 🙂
    1. Regedit aufmachen und zu diesem Schlüssel surfen: HKCUSoftwareMicrosoftWindows NTCurrentVersionWindows Messaging SubsystemProfiles
    2. Suche nach dem Servernamen-String mit dem Minus. Bei einem einzigen Profil ist das in der Regel der Schlüssel „13dbb0c8aa05101a9bb000aa002fc45a“.
    3. Finde die Zeichenfolge „001f6622“ (Das ist der MAPI-RPC-Servername) vom Typ Reg_Binary. Bearbeite diese mit einem Doppelklick.
    4. Ersetze das Minus (hex: 2D) durch einen Doppelpunkt (hex: 3A) und Bestätige mit OK
  3. Das wars schon – alles fertig. Beim nächsten Start richtet Outlook das Konto fertig ein.

Tipp: In den MAPI-Einstellungen ab jetzt NICHTS MEHR am RPC-Proxy ändern. Outlook wird das Schließen des Dialoges nicht mehr zulassen; aber sehen kann man die den Doppelpunkt durchaus schon.

WDS/RIS „Dies ist kein gültiges installations- Abbild“

Beim Hinzufügen eines WIM-Installationsabbildes (kein Startabbild) zum WDS über die WDS-Konsole erscheint die Fehlermeldung Dies ist kein gültiges installations- Abbild.“. Stimmt auch fast – nur die Meldung ist gelinde gesagt „irreführend“. Das passiert schon mal, wenn das Abbild direkt aus einer laufenden Maschine heraus nach einem Sysprep mit imagex erstellt wird.

Die Lösung ist, dass die Integration der unattend.xml an dieser Stelle obligatorisch ist. Ohne Antwortdatei hält die WDS-Konsole das Abbild nur für ein Startabbild, nicht für ein Installationsabbild. Natürlich ist dieser Fall auch nicht dokumentiert. Dem Sysprep muss zwingend eine unattend-Datei mitgegeben werden und schon läuft das Image.

  • Es gibt noch einen zweiten Fall in dem das passiert: Wenn das WIM-Image nicht von der Windows-Installation stammt sondern nur von der Bootpartition des Systems. Vorher mit diskpart und „list volumes“ kurz prüfen … und sich im Fehlerfall wundern das imagex in 2 Sekunden ein Windows 7 Installationabbild erstellt haben will.

jqPlot funktioniert im Internet Explorer 9 nicht, wenn dieser automatisch den Renderingmodus falsch wählt

Aus welchem wie auch immer gelagerten magischen Grund der Internet Explorer beim Aufruf eines Dokuments automatisch den Renderingmodus wählt, es ist im Falle von jqPlot desöfteren der falsche.

jqPlot bringt mit der excanvas.js zwar alles Nötige mit, damit auch in alten Internet Explorer Versionen alles so funktioniert wie es soll. Dafür gibt es die folgende Zeile in allen jqPlot-Seiten.

<!–[if lt IE 9]><script language=“javascript“ type=“text/javascript“ src=“excanvas.min.js“></script><![endif]–>

Der Internet Explorer 9 wählt nun manchmal für eine Seite die jqPlot enthält (100% gleiches Dokument, gleiche Sicherheitszone, jedoch unterschiedliche second-level-Domain) den Renderer für IE7 („Dokumentmodus: Internet Explorer 7 Standard“). Wenn das passiert bekommt man folgende Meldung im Debugger und der Plotbereich bleibt weiß.

SCRIPT438: Das Objekt unterstützt die Eigenschaft oder Methode „getTime“ nicht
jquery.jqplot.min.js, Zeile 57 Zeichen 143467

Um dies zu umschiffen muss die Seite dem Internet Explorer 9 mitgeben, dass sie zwingend mit dem Dokumentmodus für den Internet Explorer 9 gerendert werden soll. Um keine Abwärtskompatibilitäten zu zerstören, etwas umständlicher mit Conditional Comment:

<!–[if IE 9]><meta http-equiv=“X-UA-Compatible“ content=“IE=EmulateIE9″ /><![endif]–>

jqplot funktioniert nicht im Internet Explorer, wenn nicht der richtige Doctype gesetzt ist

Bei jqPlot handelt es sich um ein jQuery-Plugin mit dem man bequem Graphen und Charts zeichnen kann. Es ist wie jQuery browserunabhängig, sagt zumindest die Dokumentation. Leider ist das nicht die ganze Wahrheit.

Fehlt im HTML-Code der Seite, in der geplottet werden soll nämlich die explizite Angabe des Doctype, so funktioniert es im Internet Explorer nicht und der Zeichenbereich bleibt weiß. Das ergibt dann je nach Versionsständen von jQuery und jqPlot verschiedenste Fehlermeldungen. Hier mal ein kurzer Auszug aus dem internen Debugger des Internet Explorer:

jQuery 1.6.1 mit jqPlot 1.0.0b2_r792

SCRIPT5007: Für die Eigenschaft „initElement“ kann kein Wert abgerufen werden: Das Objekt ist Null oder undefiniert
jquery.jqplot.min.js, Zeile 30 Zeichen 2036

jQuery 1.7.2 mit jqPlot 1.0.0b2_r1012

SCRIPT5007: Für die Eigenschaft „initElement“ kann kein Wert abgerufen werden: Das Objekt ist Null oder undefiniert
jquery.jqplot.min.js, Zeile 57 Zeichen 2123

Fügt man nun einfach als erste Zeile in den HTML-Code den Doctype

<!DOCTYPE html>

ein, so funktioniert es mit einem Mal auch im Internet Explorer.

Debian Squeeze Update von mysql-server auf 5.1.61-1 – Meldung über Changes

Beim Update auf mysql 5.1.61-1 aus dem Debian-Repository erscheint folgende nicht ganz unwichtige Meldung, die an dieser Stelle festgehalten werden soll.

mysql-5.1 (5.1.61-1) stable-security; urgency=high

 

Due to the non-disclosure of security patch information from Oracle,

we are forced to ship this upstream version update of MySQL 5.1 into

all releases that carry MySQL 5.1. There are several known incompatible

changes, which are listed below, taken from dev.mysql.com’s changelogs,

available here: http://dev.mysql.com/doc/refman/5.1/en/news-5-1-x.html

 

5.1.51:

Incompatible Change: Previously, if you flushed the logs using FLUSH

LOGS or mysqladmin flush-logs and mysqld was writing the error log to

a file (for example, if it was started with the –log-error option),

it renamed the current log file with the suffix -old, then created a

new empty log file. This had the problem that a second log-flushing

operation thus caused the original error log file to be lost unless

you saved it under a different name. For example, you could use the

following commands to save the file:

.

shell> mysqladmin flush-logs

shell> mv host_name.err-old backup-directory

.

To avoid the preceding file-loss problem, renaming no longer

occurs. The server merely closes and reopens the log file. To rename

the file, you can do so manually before flushing. Then flushing the

logs reopens a new file with the original file name. For example, you

can rename the file and create a new one using the following commands:

.

shell> mv host_name.err host_name.err-old

shell> mysqladmin flush-logs

shell> mv host_name.err-old backup-directory

.

(Bug #29751)

.

References: See also Bug #56821.

 

5.1.55:

Incompatible Change: When auto_increment_increment is greater than

one, values generated by a bulk insert that reaches the maximum

column value could wrap around rather producing an overflow error.

.

As a consequence of the fix, it is no longer possible for an

auto-generated value to be equal to the maximum BIGINT UNSIGNED

value. It is still possible to store that value manually, if the

column can accept it. (Bug #39828, Bug #11749800)

 

5.1.59:

Incompatible Change: Handling of a date-related assertion was

modified.

.

However, a consequence of this change is that several functions

become more strict when passed a DATE() function value as their

argument and reject incomplete dates with a day part of zero. These

functions are affected: CONVERT_TZ(), DATE_ADD(), DATE_SUB(),

DAYOFYEAR(), LAST_DAY(), TIMESTAMPDIFF(), TO_DAYS(), TO_SECONDS(),

WEEK(), WEEKDAY(), WEEKOFYEAR(), YEARWEEK(). Because this changes

date-handling behavior in General Availability-status series (MySQL

5.1 and 5.5), it was reverted in 5.1.62 and 5.5.21. The change is

retained in MySQL 5.6.

.

References: See also Bug #13458237.

 

— Clint Byrum <[email protected]> Thu, 01 Mar 2012 23:25:34 -0800

PS: Natürlich ware dies auch im Changelog nachzulesen, wenn selbiges funktionieren würde…