Exchange Server 2010 startet nicht mehr

Nach 2 Tagen Umziehen und Virtualisieren unserer internen Server, haben wir jetzt endlich den Durchbruch geschafft.

Die bisherige Server-Umgebung war:

  • S1 – Microsoft SBS 2003 mit Exchange 2003 und Active Directory und SQL Server
  • …weitere Server…

Die neue Server-Umgebung ist:

  • S20 – Microsoft Windows Server 2008 R2 mit Active Directory
  • S21 – Microsoft Windows Server 2008 R2 mit Exchange 2010
  • S23 - Microsoft Windows Server 2008 R2 mit SQL Server 2008
  • …weitere Server…

Nun sind wir so vorgegangen, dass wir zunächst S20 aufgesetzt haben und das AD als zweiten DC eingerichtet, anschließend auf S21 den Exchange und von S1 die Postfächer übernommen haben. Das ganze haben wir mit einer schönen Umzugs-Anleitung gemacht. Nach einigen Berechtigungs-Issues, haben wir S1 soweit mit DCPROMO heruntergestuft.

Und dann fing es an: Unser Exchange 2010 hing ewig beim Server-Start, es konnten sich keine Benutzer mehr am Exchange via Outlook verbinden und alles war brechend langsam. Der Rechner konnte nicht mal mehr von extern gepingt werden. Dutzende von Fehlermeldungen standen im Ereignisprotokoll.

Nach über 10 Stunden recherchieren und ausprobieren, hat mein Kollege schließlich in einem Blog den entscheidenden Tipp gefunden:

Das Computerkonto des Exchange-Server muss im Active Directory zur Gruppe “Domänen-Admins” hinzugefügt werden.

Danach lief auf wundersame Weise auf einmal alles wieder völlig korrekt und schnell.

 

Datenbanken zwischen 2 Oracle Express Editionen kopieren

Bei Microsoft SQL Server (Express) geht es ja relativ einfach, Datenbanken zwischen 2 Datenbank-Servern zu verschieben. Z.B.:

  1. Backup erstellen auf Server 1 und später auf Server 2 wiederherstellen. -oder-
  2. Datenbank auf Server 1 detachen (trennen), Dateien auf Server 2 kopieren und später auf Server 2 wieder attachen (anhängen).

Bei Oracle XE ist das auch möglich, allerdings ein bisschen aufwändiger und via Befehlszeile.

Rosenzuechter-sei-Dank weiß ich jetzt, wie das geht:

Exporting and Importing Data

Da ist es sehr ausführlich und Schritt-für-Schritt beschrieben.

Error message “An unexpected error has occurred” when using the IIS Search Engine Optimization (SEO) Toolkit

Recently when creating a site analysis with the IIS Search Engine (SEO) Toolkit for this page, an error occurred:

An unexpected error has occurred.
Error details: “System.ArgumentException: An entry with the same key already exists.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.SortedList`2.Add(TKey key, TValue value)
at Microsoft.Web.Management.SEO.Crawler.XmlCrawlerReportProvider.XmlCrawlerReport.GetProperty(String name)
at Microsoft.Web.Management.SEO.Crawler.UrlInfo.SetPropertyValue(String name, Object value)
at Microsoft.Web.Management.SEO.Crawler.Parsers.HtmlLinkParser.GetLinksInternal(CrawlerProcessContext result, Uri baseUri, String text, CrawlerSettings settings, Boolean isSnippet, Boolean& noIndex)”.

Until now, I am not aware of a resolution for the error. My assumption is that some content on the page is ambigous.

Fehlermeldung “Klasse unterstützt keine Automatisierung” beheben

In einem .NET-Programm (Zeta Producer, logisch) in dem ich Microsoft Active Scripting verwendet habe, kam beim Verwenden einer neuen Klasse (Zugriff aus einem VBScript auf diese Klasse) die Fehlermeldung:

Klasse unterstützt keine Automatisierung

Bzw. in Englisch:

Class does not support Automation

Die Lösung war dann ganz einfach, ich hatte die Klasse als “internal” markiert, anstatt als “public“.

Falsch:

[ComVisible(true)]
internal sealed class MyClass
{
}

Richtig:

[ComVisible(true)]
public sealed class MyClass
{
}

So einfach ist das, nach nur 4 Stunden habe ich es schon erkannt.

Windows Forms: Handle Keyboard Input at the Form Level

To handle keyboard input in code on a form level, even if a control on the form currently has the focus, simply set the KeyPreview property of the form to true.

This configures that the form will receive key events before the event is passed to the control that has focus.

See also this Microsoft HOWTO article.

(Keyword: keypress, keypressed, keydown, key press, key pressed, key down)

Softerra LDAP Browser/Administrator

Alt bekannt, trotzdem mal als Referenz:

Softerra LDAP Browser 4.5

(Achtung, die Version 4.5 ist die letzte kostenlose!)

Das ist ein Tool um sich mit beliebigen LDAP-Verzeichnissen zu verbinden und Daten auszulesen. Eignet sich hervorragend um mal zu testen, ob die LDAP-Anbindung in einem bestimmten Programm wirklich buggy ist, oder ob schlicht der Server gar nicht erreichbar ist. Verwende sich selbst oft beim Kunden um z.B. zu schauen, ob Zeta Test richtig konfiguriert ist (Benutzer via LDAP auslesen).

Direkte Downloads:

“Servervorgang steht in diesem Kontext nicht zur Verfügung.”

Beim Aufruf von Server.MapPath in der Global.asax-Datei tritt unter IIS 7 oder IIS 7.5 die Fehlermeldung auf:

Servervorgang steht in diesem Kontext nicht zur Verfügung.

Auf Englisch:

Server operation is not available in this context.

Um das zu lösen einfach System.Web.Hosting.HostingEnvironment.MapPath stattdessen verwenden.

Siehe auch diesen Artikel bei Stack Overflow dazu.

PHP not executing code

Just upgraded my PHP and Apache installation on Windows. After the upgrade, the PHP pages are not executed on the server anymore but the code was sent to the browser.

Doh!

Solution was to add a line to the “httpd.conf” file:

AddType application/x-httpd-php .php

Seems that the upgrade somehow removed the line from somewhere, maybe in the “mime.types” file.

The line has to be added inside the “IfModule mime_module”, like in the following excerpt:

<IfModule mime_module>
    AddType application/x-httpd-php .php
</IfModule>

Works well after that. Remember to restart Apache. :-)