 TechNet Magazine January 2007
TechNet Magazine January 2007
JANUARY 2007
SharePoint

Diesen Monat widmet TechNet Magazin eine Ausgabe SharePoint und allen Neuerungen im letzten Release. Hier stellen wir SharePoint Server 2007 vor und führen Sie durch die neuen Funktionen, die die Erstellung einer Zusammenarbeits-Site einfacher denn je machen. Ein Übersichtsartikel behandelt die unternehmensweite Suche, Dokumentenverwaltung und vieles mehr. Wir bringen Ihnen auch Artikel zur Sicherheit in SharePoint, zu Aufgaben der schnellen Befehlszeilenverwaltung und Erstellung einer Wiki für Ihr Unternehmen unter Verwendung von SharePoint. Wie üblich enthält die Ausgabe unsere beliebten Kolumnen, darunter Raymond Chen mit einem Artikel zur Erlösung aus der DLL-Hölle und die Scripting Guys zum Sortieren in VBScript mit Hilfe der .NET Framework-Methode DataList.Sort.

FUNKTIONEN
SharePoint Ein Überblick über Microsoft Office SharePoint Server 2007

Die neue Version von SharePoint erfüllt alle Ihre Anforderungen in punkto Zusammenarbeit und Informationsverwaltung in einer integrierten Plattform. Hier finden Sie eine Tour der neuen Funktionen und Tools in MOSS, die die Art und Weise, wie Ihr Unternehmen funktioniert, verändern werden.

Thomas Rizzo 7 neue Funktionen, die die Sicherheit in SharePoint verbessern

Da SharePoint mehr Unternehmensdaten abruft und zum integralen Bestandteil des Geschäfts-Workflow wird, wird die Sicherheit immer wichtiger. Finden Sie heraus, wie diese sieben neuen Funktionen in MOSS die Sicherheit in Ihrem Unternehmen schnell verbessern können.

Adam Robert Buenz Die Suche nach beliebigen Daten mit SharePoint Enterprise Search

Ihr Unternehmen verschwendet Zeit und Geld, während Mitarbeiter nach Informationen suchen. Enterprise Search kann helfen. MOSS bietet ein Unternehmenssuch-Tool, das Informationen schnell findet, egal, ob sie irgendwo im Intranet versteckt sind oder in einer Line-of-Business-Anwendung oder gar bei einem einzigen Mitarbeiter zu finden sind.

Matt Hester Leistungsstarke Befehlszeilenverwaltung für SharePoint

Lassen Sie sich von einer GUI nicht bei Ihrer Arbeit behindern. Es gibt eine viel leistungsstärkere und schnellere Möglichkeit, um SharePoint zu verwalten, mit der Sie Administrationsaufgaben über eine Befehlszeilenaufforderung und Skripts häufig verwendeter Verfahren durchführen können.

Todd Klindt Wiki While You Work

Wikis bietet eine neue, flexiblere Möglichkeit zur Zusammenarbeit und fördern einen unstrukturierten Ansatz für die Entwicklung und den Austausch von Ideen. Und MOSS 2007 macht die Implementierung von Wikis in Ihrem Unternehmen ganz einfach. Hier finden Sie die Informationen, die Sie benötigen, um Wikis am Arbeitsplatz zu erstellen und zu verwenden.

Mauro Cardarelli
SPALTEN
Mitteilung der Redaktion

Joshua Trupin Toolbox

Neue Produkte für IT-Profis

Greg Steen Schwerpunkt Dienstprogramme

Internet Explorer Administration Kit

Lance Whitney Fragen und Antworten zu SQL

Datenarchivierung, verknüpfte Server, Messen der Bandbreite und mehr

Herausgegeben von Nancy Michell The Cable Guy

Automatische Optimierung des TCP-Empfangsfensters

Joseph Davies Windows PowerShell

Windows PowerShell-Konstrukte

Don Jones 		Hey, Scripting Guy!

Vorsicht, was Sie sagen

Die Scripting Guys von Microsoft Exchange Fragen & Antworten

Wir haben alle Antworten (weil wir die Fragen gestellt haben)

KC Lemson und Paul Bowden Sicherheit auf dem Prüfstand

Service Hardening in Windows Vista

Wole Moses Die Desktopdateien

Windows Automated Installation Kit

Wes Miller Feldnotizen

Unterstützung für In-Laws

James Snell Windows Confidential

Erlösung aus der DLL-Hölle

Raymond Chen


 SharePoint: &#220;berblick &#252;ber Microsoft Office SharePoint Server&#160;2007
SharePoint Thomas Rizzo

Überblick über Microsoft Office SharePoint Server 2007
Kurz zusammengefasst:
  • SharePoint-Webintegration
  • Content Management
  • Businessintelligenz

Die Arbeitsweise von Unternehmen ändert sich aufgrund zweier Phänomene. Erstens: Teams, die zusammenarbeiten, arbeiten immer öfter an verschiedenen Orten und
sogar zu verschiedenen Tageszeiten. Demzufolge ist Software für die Zusammenarbeit noch wichtiger geworden, um eine global vernetzte Arbeitswelt zu schaffen. Zweitens: Die Verwendung digitaler Informationen wächst explosionsartig, und dabei werden die Regeln zur Einhaltung von Gesetzen und Bestimmungen in Bezug auf diese Geschäftsdaten immer komplexer. Für Unternehmen ist es schwierig, Zusammenarbeit und gemeinsame Nutzung von Ressourcen zu ermöglichen und die Sicherheit von Informationen und den Datenschutz zu gewährleisten. Eine Lösung, die allen diesen Anforderungen genügt – Kommunikation über Kontinente und Zeitzonen hinweg, effektive Tools für die Zusammenarbeit und sicherer Umgang mit Daten – ist unverzichtbar, damit Sie Ihre Informationsressourcen und die Fähigkeiten Ihrer Mitarbeiter optimal nutzen können.
Die Einführung von Microsoft® Office SharePoint® Server (MOSS) 2007 vereint die verschiedensten Technologien in einer einzigen, integrierten Plattform von Unternehmensdiensten. Diese Technologien reichen von Zusammenarbeit über Portale und unternehmensweiter Suche bis zu Workflow und Geschäftsprozessen. MOSS stellt die nächste Generation von SharePoint Portal Server (SPS) dar und baut auf Windows® SharePoint Services (WSS) auf. Einen Überblick über die Zusammenarbeit von MOSS und WSS gibt das Kreisdiagramm in Abbildung 1. Die grün schattierten Flächen werden von WSS bereitgestellt, und weil MOSS auf WSS aufbaut, wird der gesamte Kreis von MOSS geliefert. MOSS stellt speziell die Teilbereiche Portal, Suche, Enterprise Content Management, Geschäftsprozesse und -formulare sowie Businessintelligenz bereit.
Abbildung 1 Auf MOSS und WSS aufbauender Dienst
Abbildung 1 Auf MOSS und WSS aufbauender Dienst (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 Auf MOSS und WSS aufbauender Dienst
Abbildung 1 Auf MOSS und WSS aufbauender Dienst (Klicken Sie zum Vergrößern auf das Bild)
Im weiteren Verlauf dieses Artikels werden Sie durch die herausragenden Technologien in MOSS geleitet, und Sie werden erfahren, wie Sie diese Verbesserungen zur Steigerung der Produktivität der Benutzer einsetzen können.

SharePoint trifft Web 2.0
Web 2.0, Enterprise 2.0, zusammengesetzte Anwendungen, communitygestützte Inhalte – wie Sie es auch bezeichnen möchten, Internettechnologien wie z. B. AJAX, RSS, Blogs und Wikis bieten den Benutzern bessere Steuerungsmöglichkeiten bezüglich ihrer Inhalte, der Zusammenarbeit und der Art und Weise, wie Daten zu ihnen gelangen. Ferner wünschen sich die Benutzer die Interaktivität von Windows, kombiniert mit der einfachen Bereitstellung und Nutzung, die das Web bietet. Das einfache Übernehmen von Internetkonzepten in eine Unternehmensumgebung führt jedoch zu neuen Problemen. Können Sie z. B. die Quelle eines Diensts überprüfen und dieser Quelle vertrauen? Kann der Dienst problemlos in Ihre vorhandene Infrastruktur integriert werden?
MOSS 2007 stellt eine Anzahl neuer Features bereit, wobei die bereits vorhandene Plattform für die Zusammenarbeit durch Bereitstellen von integrierten Möglichkeiten für Dokumentverwaltung und Warnungen verbessert wird. Außerdem werden neue Funktionen wie Blogs (siehe Abbildung 2), Wikis und ein Webpart für das Veröffentlichen und Empfangen von RSS-Feeds hinzugefügt. Beim Verwenden von Microsoft Office Outlook® 2007 können Sie Ihre Daten für die Zusammenarbeit, wie z. B. Kalender, Aufgaben und Kontakte, zwischen Outlook und Microsoft SharePoint bidirektional synchronisieren. Wenn Sie einen Kontakt bearbeiten oder einen Termin verschieben möchten, können Sie die Änderung entweder in Outlook oder in SharePoint vornehmen, und die Änderungen werden im anderen Programm angezeigt.
Abbildung 2 MOSS 2007 unterstützt Blogs und Wikis
Abbildung 2 MOSS 2007 unterstützt Blogs und Wikis (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 MOSS 2007 unterstützt Blogs und Wikis
Abbildung 2 MOSS 2007 unterstützt Blogs und Wikis (Klicken Sie zum Vergrößern auf das Bild)
Outlook unterstützt außerdem, dass Sie Ihre Dokumentbibliotheken offline nehmen. Sie können, getrennt vom Netzwerk, Änderungen an Ihren Dokumenten vornehmen und anschließend diese Änderungen synchronisieren, wenn Sie wieder online sind.
Außerdem verfügt MOSS über eine Funktion zum Überwachen und Durchsetzen von Konformitätsregeln bei communitygestützten Inhalten, damit für Kunden das Bereitstellen dieser neuen Funktionen nicht zu Nachteilen hinsichtlich Verwaltbarkeit oder Sicherheit führt.
Eine wesentlicher Fortschritt in MOSS 2007 ist die verbesserte Personalisierbarkeit der Portalfunktionalität. MOSS führt eine überarbeitete Version von „Meine Website“ ein, die im vollen Umfang die Funktionalität einer SharePoint-Website nutzt. Benutzer können Listen, Dokumentbibliotheken oder Unterwebsites unter ihrer „Meine Site“ erstellen und die Anzeige dieser Websites sowohl für ihre persönliche Ansicht als auch für die Arbeitsgruppenansicht anpassen. „Meine Website“ stellt außerdem neue Webparts für Organisationshierarchien und Nachverfolgung von Kollegen bereit, einschließlich Warnungen, wenn sich Metadaten Ihrer Kollegen, wie z. B. Telefonnummer, Position, Arbeitsort oder sonstige Informationen, ändern. Abbildung 3 zeigt eine benutzerdefinierte Version von „Meine Website“ in MOSS.
Abbildung 3 „Meine Website“ unterstützt SharePoint-zentriertere Features
Abbildung 3 „Meine Website“ unterstützt SharePoint-zentriertere Features (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 „Meine Website“ unterstützt SharePoint-zentriertere Features
Abbildung 3 „Meine Website“ unterstützt SharePoint-zentriertere Features (Klicken Sie zum Vergrößern auf das Bild)

Unternehmensweite Suche
Als Festplatten noch geringe Kapazitäten hatten, war es meist kein Problem, sich zu erinnern, wo etwas gespeichert war. Aber mit dem explosionsartigen Anstieg der Kapazitäten von Massenspeichern und mit den scheinbar grenzenlosen Fähigkeiten der Benutzer, diese zu füllen, wurde das Suchen zu einem entscheidenden Bestandteil jeder Informationsarchitektur. MOSS stellt verbesserte Features für das Suchen in Unternehmensrepositorys bereit, die auf der ursprünglich in SPS 2003 bereitgestellte Suchplattform aufbauen. MOSS 2007 crawlt weiterhin Dateifreigaben, Websites, Exchange Server und Lotus Notes-Repositorys, die alle als unstrukturierte Datenrepositorys angesehen werden.
Was SPS nur unter Schwierigkeiten bieten konnte, war die Fähigkeit, strukturierte Repositorys wie z. B. Branchenanwendungen oder relationale Datenbanken zu durchsuchen. Außerdem werden strukturierte und unstrukturierte Repositorys durch die Metadaten und die Fachkenntnisse, die jeder einzelne Angestellte in die Organisation einbringt, ergänzt. MOSS kann anhand einer neuen Technologie mit der Bezeichnung „Geschäftsdatenkatalog“ (Business Data Catalog, BDC) strukturierte Repositorys durchsuchen und über das neue Knowledge Network nach Personen und Fachwissen suchen.
Der BDC bietet die Möglichkeit, eine Verbindung zu Systemen herzustellen, die ihre Daten entweder über ADO.NET-Anbieter oder Webdienste verfügbar machen. Die Systeme können zudem gecrawlt und durchsucht werden. Sie erstellen eine XML-Konfigurationsdatei, die die notwendigen Informationen über das System enthält, zu dem Sie eine Verbindung herstellen möchten. Diese kann den Namen des Servers oder des Endpunkts beinhalten, beliebige Filter, die das Back-End-System unterstützt, sowie Informationen darüber, wie Objekte von diesem System spezifiziert und abgerufen werden und wie die Back-End-Daten den SharePoint-Daten zuzuordnen sind. Dann können Sie die Features für die unternehmensweite Suche in SharePoint verwenden, um BDC-Daten zu durchsuchen, wie Sie auch andere Unternehmensrepositorys crawlen.
Standardmäßig erstellt SharePoint eine Profilseite für jedes Unternehmenselement von Ihrem Back-End-System. Sie können diese Profilseiten anpassen, wie Sie auch andere Seiten in SharePoint anpassen. Abbildung 4 zeigt eine benutzerdefinierte Profilseite, die sowohl Geschäftsdaten als auch sonstige Informationen zurückgibt. SharePoint beinhaltet außerdem eine Anzahl von Geschäftsdaten-Webparts, mit denen Sie BDC-Daten auf Ihren Seiten anzeigen und außerdem optional Daten auf diesen Seiten auf Grundlage verfügbarer Metadaten filtern können. Da die Geschäftsdaten SharePoint zugeordnet sind, können Sie mithilfe des neuen Spaltentyps „Geschäftdaten“ auf Ihre Daten in SharePoint-Listen zugreifen. Es gibt keine Dateneingabefehler und Datenbereinigung mehr, da die Daten, die in der Liste enthalten sind, vom autorisierenden Back-End-System kommen.
Abbildung 4 Ziehen von Geschäftsdaten aus Back-End-Diensten in SharePoint-Seiten
Abbildung 4 Ziehen von Geschäftsdaten aus Back-End-Diensten in SharePoint-Seiten (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 4 Ziehen von Geschäftsdaten aus Back-End-Diensten in SharePoint-Seiten
Abbildung 4 Ziehen von Geschäftsdaten aus Back-End-Diensten in SharePoint-Seiten (Klicken Sie zum Vergrößern auf das Bild)
Das Knowledge Network stellt vielfältige Möglichkeiten bereit, um nach Personen und Fachkenntnissen zu suchen. Soziale Netzwerke innerhalb des Unternehmens sind die Grundlage des Geschäftsbetriebs. In vielen Fällen könnten Angestellte produktiver sein, wenn sie Fachleute finden könnten, die ihnen bei den gerade bearbeiteten Geschäftsproblemen helfen. Wenn Ihr direkter Kollegenkreis nicht über die von Ihnen benötigten Kenntnisse verfügt, hören Sie wahrscheinlich auf, diese Fachkenntnisse zu suchen. Mit dem Knowledge Network werden Sie durch Software beim Aufstellen der „sozialen Übersichtskarte“ Ihrer Organisation unterstützt, und Sie können dieses soziale Netzwerk durchsuchen und brauchen sich nicht mehr auf „physische“ soziale Netzwerke zu verlassen. Sie können Ergebnisse nach Social Distance sortieren und nach Metadateneigenschaften wie Position oder Abteilung filtern.
Wie bei jeder Lösung, die mit Personen und ihren persönlichen Informationen umgeht, stellt das Knowledge Network ein umfangreiches Sicherheits- und Datenschutzmodell bereit, damit sich Benutzer am Netzwerk beteiligen und außerdem steuern können, was welchen Teilnehmern im Netzwerk angezeigt wird. Das Knowledge Network crawlt Ihre serverseitigen Informationen wie z. B. Ihre Version von „Meine Website“ in SharePoint. Es verfügt außerdem über eine clientseitige Komponente, die in Outlook und Instant Messaging integriert wird, um Ihre E-Mails und Kontakte zu crawlen. Auf der Clientseite können Sie festlegen, wann der geplante Suchvorgang stattfindet und was aus dem Clientsuchvorgang im Serverprofil veröffentlicht wird. Eines der Probleme bei Fachkenntnissystemen besteht darin, die Daten über Personen auf dem neuesten Stand zu halten. Im Knowledge Network kümmert sich die Software um die gesamte Arbeit der Aktualisierung von Informationen, wobei die Benutzer die Möglichkeit haben, die Sichtbarkeit der Daten und den Zugang auf die Daten zu kontrollieren.

Enterprise Content Management
MOSS 2007 geht über das einfache Verwalten von Dokumenten hinaus und bietet durch Hinzufügen von Unterstützung für das Verwalten von Datensätzen, Webinhalt und elektronischen Formularen eine stabile Lösung für das Enterprise Content Management. Die Funktionen für das Verwalten von Datensätzen in SharePoint umfassen die Möglichkeit, ein verwaltetes Repository zu erstellen, das Ihren Anforderungen an die Einhaltung von Bestimmungen und Gesetzen, wie z. B. Aufbewahrung, Überwachung, Kennzeichnung und Beschriftung von Inhalten, erfüllt. Durch enge Integration in Exchange Server kann das Datensatzrepository zusätzlich zu den innerhalb von SharePoint erstellten und gespeicherten Informationen E-Mail-Nachrichten als offizielle Datensätze enthalten. Durch die Funktionen für die Verwaltung von Datensätzen können Sie anhand des Durchsuchens von Datensätzen rechtlich relevante Daten bereitstellen und angeordnete Aufbewahrungen realisieren, auch wenn diese nicht den Richtlinien für Aufbewahrungsfristen entsprechen (in Abhängigkeit von anhängigen Gerichtsverfahren, durch die Sie Inhalte länger aufbewahren müssen als in den Richtlinien für Aufbewahrungsfristen vorgegeben).
Im Bereich des Webinhaltsmanagements nimmt MOSS 2007 nun den Platz von Microsoft Content Management Server 2002 ein. Mit diesem Wechsel kann SharePoint jetzt Ihren Webanforderungen gerecht werden, vom Intranet über das Extranet bis zu Websites. Da alle diese Funktionen in SharePoint zur Verfügung stehen, brauchen Sie nur eine einzige Technologie in Ihrer gesamten Infrastruktur zu unterstützen. SharePoint unterstützt Inhaltsbereitstellung, damit Sie getrennte Testserver und Bereitstellungsserver einrichten können. Ferner hat SharePoint durch den Support von ASP.NET 2.0-Masterseiten die Anpassung von Websites vereinfacht. Darüber hinaus unterstützt SharePoint für mehrsprachige Szenarios Websitevarianten. Dadurch kann eine einzelne Website über mehrere Varianten verfügen und anhand der Spracheinstellungen im Browserclient, mit die Seite angezeigt wird, eine automatische Weiterleitung durchführen.
Für elektronische Formulare führt SharePoint eine neue Funktion mit der Bezeichnung „InfoPath® Forms Services“ ein. Mit dieser Funktion können Sie Ihre InfoPath-Formulare in elektronische Formulare konvertieren. Der Prozess besteht aus dem Erstellen von InfoPath-Formularen, dem Aktivieren eines Kontrollkästchens im Designer (damit Sie gewarnt werden, wenn Sie Features verwenden, die nicht in das Web konvertiert werden können) und dem Speichern des Formulars an einem vertrauenswürdigen Ort innerhalb einer SharePoint-Liste. Anschließend können die Benutzer diese Formulare mit einem einfachen Webbrowser anzeigen, bearbeiten und senden.
Eine wichtige Anforderung von Benutzern von SPS 2003 bestand darin, die Workflowfunktionen zu verbessern, da viele Kunden Workflows in die in SharePoint gespeicherten Inhalte einbetten möchten. Mit dem Hinzufügen der neuen Windows Workflow Foundation-Features von .NET Framework 3.0 leistet MOSS viel mehr, als nur die Workflows zu verbessern. Dies ermöglicht Ihnen, Workflows mithilfe der Windows Workflow Foundation zu erstellen und die Workflows innerhalb von SharePoint arbeiten zu lassen. Neben dem Hosten der Windows Workflow Foundation beinhaltet SharePoint außerdem eine Anzahl gebrauchsfertiger Workflows, einschließlich Workflows für die Dokumentsignatur. Abbildung 5 zeigt, wie ein gebrauchsfertiger Workflow in MOSS konfiguriert wird.
Abbildung 5 Einrichten von Workflows in MOSS
Abbildung 5 Einrichten von Workflows in MOSS (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 5 Einrichten von Workflows in MOSS
Abbildung 5 Einrichten von Workflows in MOSS (Klicken Sie zum Vergrößern auf das Bild)
MOSS ermöglicht Ihnen, Ihre Workflows zu überwachen, damit Sie über den aktuellen Aufgabenstatus und den Verlauf verfügen. Außerdem kann SharePoint in Office-Clients integriert werden, damit Endbenutzer Workflows aus ihren Office-Anwendungen heraus starten können. Die Benutzer können schnell erkennen, wenn Ihnen Workflowaufgaben zugewiesen wurden, und sie können diese Aufgaben erledigen, ohne die Office-Anwendungen verlassen zu müssen.
MOSS dehnt außerdem seine Reichweite auf Businessintelligenzportale aus. Diese Portale enthalten normalerweise Berichte, Diagramme und Tabellen von Daten, die Sie sortieren und filtern können. Es stehen grafische Darstellungen zur Verfügung, mit denen Sie den Status der Daten visuell darstellen können. Mit MOSS ist das Erstellen von Businessintelligenzportalen einfach eine Frage der Erstellens eine neue Seite mithilfe der Businessintelligenz-Dashboardvorlage. Das BI-Dashboard beinhaltet standardmäßig eine KPI-Liste (Key Performance Indicator) und das Excel® Web Access-Webpart.
Die KPI-Liste ist ein neuer Listentyp in MOSS, der Sie in die Lage versetzt, eine Verbindung zu Informationsquellen wie z. B. Excel, SQL Server™ Analysis Services, SharePoint-Listen oder manuell eingegebenen Informationen herzustellen, und der Ihnen ermöglicht, Ihre KPIs von diesen Datenquellen aus nachzuverfolgen. Mit der KPI-Liste können Sie anhand visueller Indikatoren aktuelle Werte, Zielwerte, Trends und Status anzeigen.
Excel Web Access ist Bestandteil von Excel Services in MOSS, einer serverseitigen Version von Excel, mit der Sie Excel-Daten mithilfe eines Webbrowsers berechnen und anzeigen können. Um Excel Services zu verwenden, können Sie Ihre Tabelle direkt aus der Excel-Desktopanwendung an einem vertrauenswürdigen Ort in SharePoint veröffentlichen. Benutzer können dann die Tabelle oder die Diagramme von Excel mithilfe ihres Webbrowsers anzeigen. Wenn Parameter oder Filter vorhanden sind, können Benutzer diese Funktionen nutzen, um die Darstellung der Excel-Daten im Webbrowser zu ändern.

Weitere Informationen
Ich konnte hier nur einen kleinen Teil der neuen Funktionen in MOSS behandeln. Es gibt jedoch eine Fülle an Onlineressourcen, mit deren Hilfe Sie mehr erfahren können. Meine Empfehlung ist, mit dem SharePoint Team Blog und dem SharePoint Server TechCenter zu beginnen.

Thomas Rizzo ist Direktor in der Arbeitsgruppe „SharePoint“ bei Microsoft. Zuvor war Thomas Rizzo in den Arbeitsgruppen „SQL Server“ und „Exchange Server“ tätig. Er ist außerdem Autor von vier Büchern. Thomas Rizzo ist zu erreichen unter thomriz@microsoft.com.
© 2007 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.


 SharePoint: 7 neue Funktionen sorgen f&#252;r verst&#228;rkte Sicherheit in SharePoint
SharePoint Adam Robert Buenz

7 neue Funktionen sorgen für verstärkte Sicherheit in SharePoint
Kurz zusammengefasst:
  • Authentifizierungsanbieter
  • Verschlüsselungsfunktionen
  • Alternative Zugriffzuordnungen und Zonen
  • Verwaltung von Informationsrechen (IMR, Information Rights Management)

Durch die Implementierung von effizienten Sicherheitsmaßnahmen für Ihre Microsoft Office SharePoint Server (MOSS) 2007-Umgebung kann der Verwaltungsaufwand deutlich gesenkt werden, während Mitarbeiterteams
in einer sicheren Umgebung zusammenarbeiten und geschäftliche Daten gemeinsam nutzen können. Die in MOSS 2007 integrierten Authentifizierungsfunktionen sind neuartig und ermöglichen die Nutzung von Web-basierten Sicherheitsstandards mittels spezifischen Authentifizierungsanbietern, der Authentifizierung anhand von Webformularen sowie das einmalige Anmelden im Internet (SSO, Single Sign-On). Außerdem bietet MOSS die genau abgestimmte Verwaltung von Berechtigungen für 2007 Microsoft® Office-Systemdateien, Funktionen für die einheitliche Verschlüsselung sowie die Reduzierung der erforderlichen Client-Authentifizierung.
Im Folgenden werden sieben schnell einsetzbare Sicherheits-Features von MOSS 2007 vorgestellt.
1. Austauschbare Authentifizierungsanbieter Ein Authentifizierungsanbieter ist eine Komponente zur Überprüfung von Benutzeranmeldeinformationen. Die Konfigurierung eines Authentifizierungsanbieters für Ihre MOSS-Umgebung ist ein wichtiger Sicherheitsfaktor bei der Einrichtung einer SharePoint®-Authentifizierung im Internetformat. Zwar unterstützt MOSS auch weiterhin die bei den SharePoint-Vorgängerversionen verfügbaren Windows®-basierten Authentifizierungsmethoden, einschließlich der integrierten sowie der Standardauthentifizierung (plus der Digestauthentifizierung) zur Auflösung der realen Windows-Identitäten von Benutzern. Jedoch ist die Auflösung von Windows-Identitäten nicht mehr die einzige Option. Sie können jetzt sogar multiple Authentifizierungsanbieter einsetzen, so dass sich interne Benutzer beispielsweise über die Windows-Authentifizierung anmelden, während externe Benutzer dafür einen separaten, austauschbaren Anbieter nutzen.
MOSS baut auf ASP.NET 2.0 auf, was die Nutzung von austauschbaren Authentifizierungsanbietern ermöglicht. Sie können daher konfigurierbare Verzeichnisse zum Speichern von Benutzerdaten nutzen, sofern ein ASP.NET 2.0-Mitgliedschaftsanbieter (und optioneller Rollenanbieter) vorhanden ist, der dem Mitgliederdatenspeicher entspricht. Auf die Anmeldeinformationen für austauschbare Anbieter können Hash oder Verschlüsselung angewendet werden. Sie können abhängig von den in der Datei machine.config gespeicherten Knotenwerten für den Mitgliedschaftsanbieter aber auch in Klartext gespeichert werden. Mit MOSS können Sie diverse Mitgliedschaftsanbieter nutzen, von denen einige einen (mit MOSS gelieferten) LDAP V3-Mitgliedschaftsanbieter, plus einen SQL Server™-Mitgliedschaftsanbieter und einen mit ASP.NET 2.0 erhältlichen Active Directory®-Mitgliedschaftsanbieter ASP.NET 2.0 einschließen.
Die Mitgliedschafts- und Rollenanbieter, die implementiert werden können, sind nicht auf die mitgelieferten Anbieter begrenzt. Durch die Nutzung der ASP.NET 2.0-Mitgliedschaftsarchitektur können benutzerspezifische Anbieter erstellt werden, die Mitgliedschaftsspeicher wie Microsoft Access™- oder Oracle-Datenbanken, XML-Dateien oder auch einfache Textdateien nutzen. Ein angepasster Authentifizierungsanbieter erbt von der ASP.NET MembershipProvider-Benutzeroberfläche, die wiederum von der ProviderBase-Klasse erbt (siehe Abbildung 1).
Abbildung 1 .NET-Mitgliedschaftsklassenhierarchie
Abbildung 1 .NET-Mitgliedschaftsklassenhierarchie
Die Nutzung der ASP.NET 2.0-Authentifizierung mit MOSS bringt (im Gegensatz zur Windows-Authentifizierung) einige Implikationen mit sich, die beachtet werden sollten. Für viele Benutzer ist die reduzierte Microsoft Office-Client-Interoperabilität dabei das Wichtigste, die dadurch bedingt ist, dass die Webdienstekommunikation zwischen MOSS und Office-Clients ursprünglich für die Nutzung mit Windows-Identitäten konzipiert wurde.
Zusätzlich dazu müssen bestimmte MOSS-Dienste, insbesondere die für das Durchsuchen und Indizieren von Inhalten, ein Windows-Konto benutzen, auch wenn ein austauschbarer Anbieter genutzt wird. Für die Benutzung eines Authentifizierungstyps, der keine Windows-Identitäten auflöst, ist die Erstellung einer zusätzlichen MOSS-Zone erforderlich, welche die Windows-Authentifizierung übernehmen wird. (Zonen werden später in diesem Artikel erörtert.)
Wenn Sie eine mandatierte PKI-Infrastruktur haben, die auf Sicherheitsmechanismen wie Smartcards basiert, wo öffentliche Schlüssel oder Zertifikate von Clients getragen werden, muss für das ordnungsgemäße Akzeptieren und Autorisieren von Client-Zertifikaten normalerweise und je nach Implementierung eine Windows-Identität aufgelöst werden. Dies kann wiederum das Erstellen einer zusätzlichen MOSS-Zone oder andere Authentifizierungskonfigurationen erforderlich machen.
2. Formularbasierte Authentifizierung und einmaliges Anmelden über das Web Ein anderer toller Authentifizierungsmechanismus, der mit MOSS 2007 zur Verfügung steht, ist die auf ASP.NET 2.0 gründende formularbasierte Authentifizierung. Bei den Vorgängerversionen von SharePoint konnte dies nur durch eine benutzerdefinierte Erweiterung der Internet Server Application Programming Interface (ISAPI) oder mit Hilfe der CustomAuth ISAPI-Erweiterung des IIS 6.0 Toolkits erreicht werden. Und selbst bei diesen Lösungen muss SharePoint immer noch das Konto zurück zu einer Windows-Benutzeridentität aufschlüsseln, wodurch perimeterbasierte Bereitstellungen zwingend werden.
Die formularbasierte MOSS-Authentifizierung verwendet austauschbare Authentifizierungs- und Rollenanbieter, um Sicherheitsmechanismen im Internetformat zu aktivieren, durch die Kunden nicht mehr auf altmodische NT-Anmeldeaufforderungen beschränkt sind. Stattdessen können Sie einen den Anforderungen Ihrer Benutzer angepassten Anmeldevorgang erstellen. Um den Authentifizierungsvorgang noch sicherer zu gestalten, sind Formularauthentifizierungs-Cookies und Authentifzierungstickets verschlüsselt und fälschungssicher.
Der Formularidentitätsanbieter muss nicht lokal sein und kann tatsächlich mit einem externen System zur Verwaltung von Identitäten verbunden sein, was wiederum die Anmeldeinformationen validiert. Dieses einmalige Anmelden ist als Web Single Sign-On (SSO) bekannt. Dabei wird ein HTTP-Modul für die externe Authentifizierung verwendet. Bei solch einem Szenario können Sie Identitäten Ihres Unternehmens und Ihrer Geschäftspartner bündeln, wobei Letztere ihre eigenen unternehmensspezifischen Anmeldungen für die Authentifizierung bei Ihrer MOSS-Implementierung verwenden können.
3. Verschlüsselung von MOSS-Verbindungszeichenfolgen Es ist keine gute Sicherheitspraxis, wertvolle Daten wie Verbindungszeichenfolgen in Klartext in eine web.config-Datei zu schreiben. Die somit verfügbar gemachten Daten könnten von einem Benutzer zum Erstellen von Objektinstanzen auf dem SQL-Datenbankserver und Manipulieren von Daten genutzt werden. Durch die Verwendung von ASP.NET 2.0-eigenen Funktionen können Sie die Daten jedoch durch eine der beiden Technologien verschlüsseln: Windows Data Protection API (DPAPI) oder RSA-Verschlüsselung. DPAPI nutzt die in Windows integrierten Kryptografiefunktionen für die Ver- und Entschlüsselung mit dem Computerschlüssel des MOSS-Servers. Die RSA-Verschlüsselung ermöglicht die Nutzung von öffentlichen Schlüsselalgorithmen, birgt jedoch zusätzlichen Aufwand, da entsprechende Container für die Verschlüsselungsschlüssel erforderlich sind.
Für MOSS 2007 - und insbesondere für den austauschbaren ASP.NET 2.0 SQL Server-Authentifizierungsanbieter - müssen die <connectionStrings>-Knoten in chiffriertem Text verschlüsselt werden, da dort das größte Sicherheitsrisiko liegt:
<connectionStrings>
<add name="MembershipConnectionString"
     connectionString="connectionString"/>
</connectionStrings>
Die DPAPI-Verschlüsselung ist relativ unkompliziert zu benutzen und am einfachsten zu implementieren, da sie die originale Computerschlüsselverschlüsselung für sowohl virtuelle als auch physische Verzeichnisse verwendet. Es gibt andere Wege für eine programmatische Implementierung, wobei die Verwendung der folgenden Befehle in einer Befehlseingabeaufforderung jedoch milde ausgedrückt mühsam ist:
aspnet_regiis.exe -pe section -app MOSS_virtual_directory -prov provider

aspnet_regiis.exe -pef section MOSS_physical_directory -prov provider
Da es Ihnen in erster Linie nur um die Implementierung der Verschlüsselung für den Verbindungszeichenfolgeknoten geht, können Sie diesen speziellen Abschnitt verschlüsseln, indem Sie seine Parameter festlegen:
aspnet_regiis.exe -pef "connectionStrings" "C:\Inetpub\wwwroot\WssVirtual " -prov "Provider"

aspnet_regiis.exe -pe "connectionStrings" -app "/MOSSAppinstance" -prov "Provider"
Nach der Implementierung werden die Knoten sensibler Daten durch wohlgeformte XML-Chiffrierwerte ersetzt:
<connectionStrings confiProtectionProvider=
"EncryptionProvider">
<EncryptedData>
<CipherData>
<CipherValue>XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
</CipherValue>
<CipherData>
</EncryptedData>
</connectionStrings>
Wie die MOSS-Architektur insgesamt, ist auch dieses Modell insofern austauschbar, als dass Sie Ihre eigenen Verschlüsselungsanbieter erstellen können, um Chiffriertext für relevante MOSS-Konfigurationsdateien wie web.config oder machine.config zu verwalten. Dabei sind Sie zudem nicht auf die RSA- oder DPAPI-Verschlüsselungen beschränkt.
Die Verwendung von Verschlüsselungen hat einige Auswirkungen. Da Sie für die Verschlüsselung den Schlüssel des lokalen Computers verwenden, können Sie nur den Konfigurationsknoten auf dem MOSS-Server benutzen, auf dem er erstellt wurde - andererseits wird die Chiffrierung fehlschlagen. Erhält ein Eindringling Zugriff auf den Server, könnte er den Computerschlüssel abrufen und die Verbindungszeichenfolge dechiffrieren. Der Dechiffrierungsvorgang wird sich auch nachteilig auf die Leistung der Anwendung auswirken.
4. Alternative Zugriffszuordnungen und Zonen Die alternative Zugriffszuordnung (AAM, Alternate Access Mapping) ist entscheidend, insbesondere wenn mehr als ein Eintrittspunkt für Ihre SharePoint-Umgebung erstellt wird. Mit AAM können Sie einfach verschiedene URLs definieren, über die Benutzer auf eine einzige physikalische Site zugreifen können (siehe Diagramm in Abbildung 2). AAM kann Benutzer zum gleichen physikalische Pfad für Ihre MOSS-Site leiten, jedoch mit verschiedenen Authentifizierungsanbietern und Sicherheitsrichtlinien für Webanwendungen. Außerdem kompensiert AAM die Nutzung verschiedener Domänen, Reverseproxys und anderer URL-Umleitungsmechanismen. Die URL, die MOSS benutzen wird, ist bereits standardmäßig zugeordnet, kann jedoch auch um zusätzliche URLs erweitert werden, die von einem SharePoint-Architekten ausdrücklich für die Handhabung verschiedener Zugriffsmethoden angelegt wurden. AAM ist erforderlich um sicherzustellen, dass die interne und öffentliche URL-Zuordnung ordnungsgemäß funktioniert.Ein Authentifizierungsanbieter für SQL Server
Lassen Sie uns die Implementierung des austauschbaren ASP.NET 2.0 SQL Server-Authentifizierungsanbieters durchgehen. Dieser Anbieter nutzt die formularbasierte Authentifizierung mit verschlüsselten web.config-Verbindungszeichenfolgen. Eine äußerst typische Implementierung für die Extranetbereitstellung von MOSS.
Als Erstes muss bei der Aktivierung des austauschbaren SQL Server-Anbieters sichergestellt werden, dass die Datenbank zum Speichern von Benutzeranmeldeinformationen auf der richtigen SQL Serverinstanz erstellt wird, so dass dem Dienstanbieter ein Speicher für Mitgliederdaten zur Verfügung steht. Führen Sie dazu im Dialogfeld "Ausführen" folgenden Befehl aus oder geben Sie ihn über die Eingabeaufforderung ein:
%WINDIR%\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql
Dadurch wird der SQL Server-Assistent aufgerufen, mit dem Sie die Datenbank für das Speichern der Daten Ihrer Mitglieder konfigurieren können.
Da Sie den Mitgliedschaftsanbieter höchstwahrscheinlich noch nicht für die Datenbankspeicherung eingerichtet haben, konfigurieren Sie SQL Server für Anwendungsdienste, damit es eine neue Datenbank anlegt. Haben Sie bereits eine Datenbank, können Sie die relevanten Informationen hinzufügen (sofern die Datenbankkonsolidierung ein organisatorisches Ziel ist).
Die SQL-Verbindungszeichenfolge wird eine Verbindung zu dieser SQL-Instanz herstellen, weshalb Sie diese Datenbank für die SQL Server-Authentifizierung einrichten sollten (siehe Abbildung A). An diesem Punkt werde ich einen Benutzernamen sowie ein Kennwort in Klartext benutzen, da ich Ihnen später im Setup-Vorgang zeigen werde, wie die ASP.NET 2.0-Verschlüsselungsfunktion zum Chiffrieren dieser privaten Verbindungsdaten eingesetzt werden kann, um einer eventuellen Ausnutzung vorzubeugen.

Erstellen des Anmeldeformulars
Die formularbasierte Authentifizierung wird oft für extern ausgerichtete Sites eines Netzwerks verwendet, die für alle Internetbenutzer veröffentlicht werden. Denken Sie beim Erstellen einer Extranet-Websitesammlung daran. Wählen Sie daher lieber die Vorlage Internetpräsenz von MOSS. Mit dieser Vorlage müssen Sie Anmeldeformulare nicht manuell erstellen. Erweitern Sie eine bestehende Site oder möchten Sie ein angepasstes Anmeldeformular implementieren, können Sie dies einfach mit Microsoft Visual Studio® 2005 tun. Das erfordert relativ wenig Codierung.
Öffnen Sie zunächst das physische Verzeichnis der Websitesammlung über Visual Studio als Website. Ein typischer Speicherplatz wäre:
C:\Inetpub\wwwroot\wss\VirtualDirectories\<GUID>
Fügen Sie als erstes eine default.aspx-Seite hinzu, da dies das Standarddokument in den IIS-Einstellungen für virtuelle Server ist. Benutzen Sie dazu im Projektmappen-Explorer den Befehl "Element hinzufügen". Fügen Sie dann mit Hilfe der Visual Studio-Toolbox der neu angelegten Web Form-Oberfläche ein Anmeldesteuerelement hinzu.
Abbildung a Einrichten der SQL Server-Authentifizierung
Abbildung a Einrichten der SQL Server-Authentifizierung (Klicken Sie zum Verkleinern auf das Bild)
Abbildung a Einrichten der SQL Server-Authentifizierung
Abbildung a Einrichten der SQL Server-Authentifizierung (Klicken Sie zum Vergrößern auf das Bild)

Abbildung b Auswählen des Authentifizierungsanbieters über den Bildschirm Anwendungsverwaltung (Klicken Sie zum Verkleinern auf das Bild)
Abbildung b Auswählen des Authentifizierungsanbieters über den Bildschirm Anwendungsverwaltung
Abbildung b Auswählen des Authentifizierungsanbieters über den Bildschirm Anwendungsverwaltung (Klicken Sie zum Vergrößern auf das Bild)
Vergewissern Sie sich auf der gleichen Seiten, dass im Bereich Mitgliedschaftsanbieter AspNetSqlMembershipProvider als Anbieter für die Authentifizierung ausgewählt ist und der Name des Rollenmanagers AspNetSqlRoleProvider ist. Legen Sie fest, auf welche Ressourcen Benutzer anonymen Zugriff erhalten sollen, indem Sie zu /_layouts/setanon.aspx navigieren und entweder die gesamte Site oder die für Ihren Zweck geeignetsten Sicherheitseinstellungen auswählen.
Umfassende Änderungen werden durch die Bearbeitung von web.config vorgenommen. Vergewissern Sie sich, dass das <Authentifizierungs>element für die Nutzung des <Formular>elements eingestellt ist. Diese Einstellung erfolgt normalerweise automatisch, wenn Sie von der Windows-Authentifizierung zur Formularauthentifizierung wechseln, und ist ein wichtiger Teil des Anmeldevorgangs, da sie die Daten über das Authentifizierungsticket von Benutzern trägt, das wiederum die Benutzeranmeldeinformationen mittels ASP.NET 2.0-Authentifizierungsmethoden überprüft, wenn das Postback der Seite erfolgt. Web.config ist über die SQL-Verbindung zu Ihrem Benutzerspeicher jedoch noch nicht im Bilde, so dass Sie den Verbindungszeichenfolgeneintrag für die Verbindung mit der Mitgliederdatenbank hinzufügen müssen:
<connectionStrings>
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Server=SQLserver;
Database=aspnetdb;uid=username;
pwd=password;" providerName="System.Data.SqlClient" />
</connectionStrings>
Nehmen Sie die gleichen Änderungen in der web.config-Datei der Zentraladministrationswebsite vor, damit die Authentifizierungstypen kohärent übermittelt werden und sicher gestellt wird, dass die PeoplePickerWildCard zum AspNetSqlMembershipProvider auflöst, so dass die Suchsteuerelemente für das Hinzufügen von Benutzern den richtigen Suchpfad kennen.
Da Sie Änderungen an Back-End-XML-Dateien vornehmen, erfordert MOSS den Neustart von IIS. Nachdem die Verbindung mit der SQL Server-Datenbank hergestellt wurde, können Sie die Website ganz bequem durchsuchen - mit der Ausnahme, dass Sie für die Inhaltsverwaltung über keine Eigentümer für Site-Sammlungen verfügen. Gehen Sie im Webverwaltungs-Tool (WAT) zur Registerkarte "Sicherheit" und fügen Sie einen Benutzer hinzu. Ernennen Sie diesen Benutzer anschließen zum Websitesammlungenadministrator, indem Sie zur SharePoint-Websiteverwaltung gehen und den entsprechenden Benutzer unter Websitesammlungenadministrator hinzufügen. Der Name sollte aufgrund der vorab für den Knoten zur Auswahl von Personen durchgeführten Änderungen korrekt sein.
Verschlüsseln Sie zum Abschluss die Verbindungszeichenfolgen mit DPAPI, indem Sie das Dialogfeld "Ausführen" öffnen und folgenden Befehl eingeben:
aspnet_regiis.exe -pef "connectionStrings"
"C:\Inetpub\wwwroot\WssVirtual\<GUID> "
£prov "DataProtectionConfigurationProvider"
Nach erfolgreich abgeschlossenem Vorgang erhalten Sie eine Bestätigungsmeldung.

Abbildung 2 URL-Zuordnung und Zonen
Abbildung 2 URL-Zuordnung und Zonen (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 URL-Zuordnung und Zonen
Abbildung 2 URL-Zuordnung und Zonen (Klicken Sie zum Vergrößern auf das Bild)
Zonen sind eine neue Funktion in MOSS, die für eine bessere Steuerung der Site-Zuordnung durch AAM sorgen. Mit Hilfe von Zonen können Sie verschiedenen Authentifizierungsanbietern den gleichen physikalischen Pfad und je nach durch AAM zugeordneter URL, über die Benutzer auf Inhalte zugreifen, MOSS-Inhalte zuordnen. Auch wenn es beim Festlegen von AAM URL-Zuordnungen nicht nötig ist, eine Zone an einen Authentifizierungsmechanismus zu binden, wird es dennoch empfohlen. Eine AAM URL-Zuordnung zu einer Zone, die nicht in der Authentifizierungsanbieterseite definiert ist, wird die Sicherheitseinstellungen der Standardzone verwenden.
Zonen erfordern eine Planung, da sie weit reichende Auswirkungen auf die Art und Weise haben, wie Personen authentifiziert und ausgehend von multiplen URL-Eintrittspunkten durch Ihr Portal geleitet werden. Wird eine neue Webanwendung erweitert, können Sie in den Einstellungen unter dem Bereich URL-Lastenausgleich festlegen, welche Zone benutzt werden soll (siehe Abbildung 3). Es wird empfohlen, dass Sie Ihre überwiegend öffentlich zugängliche URL (z. B. die URL, die im Internet erscheinen soll) in die Standardzone platzieren, da dies die URL sein wird, die SharePoint benutzen wird, wenn es nicht genau bestimmen kann, in welcher Zone Sie sich befinden.
Abbildung 3 Konfigurieren von MOSS-Zonen
Abbildung 3 Konfigurieren von MOSS-Zonen (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 Konfigurieren von MOSS-Zonen
Abbildung 3 Konfigurieren von MOSS-Zonen (Klicken Sie zum Vergrößern auf das Bild)
Sie können in jede Zone eine globale Sicherheitsrichtlinie für Webanwendungen einbinden, anhand der die Berechtigungseinstellungen für Benutzer in dieser Zone definiert werden. Dadurch können Sie groß angelegte Änderungen von Berechtigungen zentral verwalten. Webanwendungen beinhalten im Allgemeinen mehrere Sites in unterschiedlichen Websitesammlungen, und die Verwaltung der Berechtigungen für diese Sites kann problematisch werden, wenn Anwendungen an Umfang und Komplexität zunehmen. MOSS 2007 ermöglicht globale Sicherheitsrichtlinien, die Richtlinieneinstellungen wie Vollzugriff, Alles Lesen, Schreibzugriff verweigern oder Zugriff völlig verweigern an einen bestimmten Benutzer oder eine bestimmte Gruppe innerhalb dieser Anwendung zu binden. Da diese Richtlinien die durch MOSS bereitgestellten und über die Benutzeroberfläche der SharePoint-Zentraladministration verwalteten genau geregelten Berechtigungseinstellungen außer Kraft setzen können, sollten Sie Ihre Konfiguration gründlich planen.
Wird all dies berücksichtigt, verfügt ihre extern ausgerichtete Site eventuell über zwei URLs, wie in Ihren AAM-Einstellungen definiert: eine für die Anmeldung unternehmensinterner Benutzer und eine für externe Benutzer. Jede hat eine eindeutige URL - z. B. contoso für interne Benutzer und extranet.contoso.com für vertrauenswürdige externe Partner. Auch wenn beide dieser URLs dem gleichen Inhalt zugeordnet sind, kann jede Site durch ihre eigene Zone darauf zugreifen, mit ihrem eigenen Authentifizierungsanbieter und ihrer eigenen Anwendungssicherheitsrichtlinie. Durch die Konfigurierung der internen URL als Intranetzone werden interne Benutzer zu deren domäneauthentifizierten Windows-Identitäten aufgelöst, während die Anmeldung externer Partner mittels der Authentifizierung beim einmaligen Anmelden über die Extranetzone erfolgt, so dass Letztere die Benutzeranmeldeinformationen ihrer eigenen Organisation benutzen können. Werden alle Möglichkeiten wirksam genutzt, die das Anbinden von Webanwendungssicherheitsrichtlinien an Zonen bietet, kann allen vertrauenswürdigen externen Benutzern voller Lesezugriff erteilt werden, ohne manuelle Einstellungen für jedes einzelne Objekt vornehmen zu müssen.
5. Gezielter Inhalt für sichere Zusammenarbeit Das Sperren Ihrer SharePoint-Websitesammlung bedeutet, dass Benutzer nur Informationen handhaben werden, auf die Sie den Zugriff erlauben. Neue und flexible Berechtigungsmechanismen ermöglichen eine genauere Steuerung für verschiedene Typen geschäftlicher Informationen in Ihrer MOSS-Umgebung.
Mit MOSS 2007 haben Sie die Möglichkeit, eine Identität an ein bestimmtes Objekt anzubinden. Dabei kann es sich entweder um eine Websitesammlung, eine einzelne Site, eine Bibliothek für Dokumente, einen untergeordneten Ordner, eine Liste, ein einzelnes Dokument oder ein Listenelement handeln. Dadurch ist eine genaue Zugriffsteuerung sowie die ausdrückliche Mitgliedschaft für solche Elemente erforderlich, wobei beides den Zugriff steuert und die Benutzeroberfläche anpasst. Benutzer sind sich somit gar nicht bewusst, dass ihnen der Zugriff auf bestimmte Elemente verwehrt wurde. Diese MOSS-Funktionalität ist als Item Level Security (ILS) oder Secured Objects (SO) geläufig. MOSS-Objektberechtigungen sind hierarchischer Natur und reichen von einzelnen Objekten, wie z. B. Listenelementen, bis zu umfangreicheren Elementen, wie z. B. eine Listen- oder Dokumentbibliothek. Die Vererbung von Berechtigungen kann implementiert werden, wodurch untergeordnete Elemente optional Berechtigungen von übergeordneten Elementen erben können. Es gibt 33 eindeutige Standardberechtigungen, die einem Benutzer oder einer SharePoint-Gruppe gewährt werden können und von denen jede an ein Objekt angebunden werden kann. Sie können aber auch neue Berechtigungsebenen anlegen.
Innerhalb einer Projektmanagement-Site können Sie beispielsweise nur Entwicklern und Projektmanagern den Zugriff auf sensible Entwicklungsdaten erlauben, wie Design-Spezifikationen und in Microsoft Word-Dokumenten eingebaute Codiertechniken, die in einer Dokumentbibliothek gespeichert sind. Die Standardberechtigungen für die Bibliothek erben von den Berechtigungen für die Site, wobei die Berechtigungen jedoch geändert werden können, um nur Entwicklern und Projektmanagern den Zugriff zu erlauben. Es kann sogar für jedes einzelne Word-Dokument festgelegt werden, dass es nur vom entsprechenden Projektmanager oder Entwicklungsteam angezeigt und aufgerufen werden kann. Im Gegensatz dazu kann nicht sensibles Material komplett öffentlich gemacht werden, und zwar auf Element-, Ordner- oder Dokumentbibliothekebene.
Berechtigungen können sogar für Ereigniselemente festgelegt werden, wie z. B. Projektfälligkeitsdaten in einer Ereignisliste. So können Sie sicherstellen, dass bestimmte Ereignisse nur von bestimmten Mitgliedern gesehen werden. Die ILS-Funktion erstreckt sich weiterhin bis hin zu zurückgegebenen Suchergebnissen, durch die nur Objekte zurückgeben werden, die den sicherheitskontextabhängigen Zuordnungen der Personen entsprechen, welche die Suche durchführen. Durch diese ganzen Steuerelemente wird die Benutzeroberfläche exklusiv auf den jeweiligen Benutzerkontext zugeschnitten.
Die Architektur der Berechtigungsverwaltung wurde in MOSS 2007 in hohem Maße verbessert. Berechtigungen können sowohl für SharePoint-Gruppen und Domänengruppen als auch auf individueller Ebene festgelegt werden. Einige Gruppen werden standardmäßig eingeführt, insbesondere Besitzer (die Vollzugriff erhalten), Besucher (welche die Rechte von Mitwirkenden erhalten) und Mitglieder (die Leserechte erhalten). Einzelpersonen oder Domänengruppen können diesen Standardgruppen oder auch angepassten Gruppen zugeordnet werden. Sie können angepasste Gruppen auf der Websitesammlungsebene erstellen und verwalteten, die wiederum unterschiedliche eindeutige Berechtigungsebenen haben kann.
Werden Gruppen auf Rollen basierend erstellt, könnten Sie die Gruppen "Entwickler" und "Projektmanager" anlegen. Anschließend könnten Sie die genauen Berechtigungen zuweisen, mit denen Entwickler beispielsweise relevante Codierdokumentation uploaden können, und Projektmanagern Lese- und Genehmigungsberechtigungen einräumen, so dass sie diese Dokumente evaluieren und bestätigen können. Eine Gruppenmitgliedschaft bleibt innerhalb der Websitesammlung konsistent. Erstellte Gruppen können somit für diverse Projekt-Sites wieder verwendet werden.
6. Integrieren austauschbarer einmaliger Anmeldungen (SSO) In einer typischen Datenverarbeitungsumgebung kann ein Benutzer Zugriff auf beliebig viele Drittanwendungen haben, von denen jede über ihre eigenen Authentifizierungskriterien verfügt, was zu diversen Sicherheitsproblemen und einer Kennworterschöpfung führt. Der MOSS SSO-Dienst verringert diese Probleme durch die Bereitstellung eines verschlüsselten Back-End-Caches der Benutzeranmeldeinformationen für die Zuordnung zu verbundenen LOB-Systemen (Line Of Business). Dies kann beim Abrufen von geschäftskritischen Informationen zur Anzeige durch MOSS-Mechanismen helfen, wie z. B. Business Data Catalog (BDC) oder SharePoint DataView Web Parts (DVWP).
Der MOSS SSO-Anbieter ist, wie einige andere der besprochenen Funktionen der Anwendungsarchitektur auch, austauschbar. Sie können einen anderen eindeutigen SSO-Anbieter als den mit MOSS gelieferten (SpsSsoProvider) festlegen, wobei innerhalb der Umgebung nur jeweils ein SSO-Anbieter pro LOB-System registriert werden kann.
7. Verwaltung von Informationsrechten (IMR, Information Rights Management) Der Datenschutz auf Client-Ebene ist selbst für offline beschaffte geschäftliche Daten ein Hauptanliegen von Unternehmen, die mit sensiblen Daten umgehen. Dies gilt besonders für Unternehmen, die bestimmte gesetzliche Vorgaben erfüllen müssen, wie denen aus dem Gesetzentwurf Nr. 1386 des kalifornischen Senats, Sarbanes-Oxley (SOX Compliance) und der Health Insurance Portability and Accountability Act (HIPAA). Die serverseitige Verwaltung von Informationsrechten (IRM) integriert MOSS Repositories, um eine allgemeine, auf dem Windows-Rechteverwaltungsframework aufbauende Lösung bereitzustellen. IRM verleiht Ihnen eine genaue Kontrolle über Geschäftsdaten, indem Zugriffseinschränkungen auf Dokumentebene festgelegt werden. Dabei ist es unerheblich, wo ein Dokument gespeichert wird, oder wer es öffnen möchte. Bei einer gewöhnlichen Implementierung der Verwaltung von Informationsrechten (IRM) haben Sie die Möglichkeit, nur autorisiertes Anzeigen oder Drucken zulassen. Dies kann jedoch auch auf andere Szenarien ausgeweitet werden, wie z. B. die Überprüfung der Anmeldeinformationen des Benutzers nach einer bestimmten Zeit; Benutzern den Upload von Elementen ohne IRM zu untersagen; ein geplantes Ablaufdatum, das die Einschränkungsrichtlinie außer Kraft setzt; und Anbinden an eine globale und unternehmensweite IRM-Berechtigungspolitik.
Die IRM-Funktion wird durch eine Schutzvorrichtung bereitgestellt, von denen mehrere mit MOSS 2007 installiert werden. Eine Schutzvorrichtung ist eine Anwendung, die den Verschlüsselungsvorgang für einen Dateityp verwaltet. Normalerweise sind für alle Dateien, die Sie innerhalb von MOSS speichern, bereits Schutzvorrichtungen integriert. (Microsoft Office-Systemdateien werden unterstützt, wie auch OpenXML-Dateiformate.) Wie andere Anbieter innerhalb von MOSS ist die Anwendungsarchitektur jedoch austauschbar, so dass Sie angepasste Schutzmechanismen für andere Dateitypen implementieren können.
Als Erstes müssen Sie bei der Implementierung von IRM sicherstellen, dass Ihre MOSS-Umgebung alle Voraussetzungen erfüllt. Auf jedem Front-End-Webserver muss WRM Services Client installiert sein und Microsoft Rights Management Services (RMS) muss über Konnektivität mit den MOSS Front-End Webservern verfügen. Dann müssen Sie über SharePoint-Zentraladministration den für MOSS zu assimilierenden RMS-Server festlegen, entweder durch die Nutzung des Standards in Active Directory oder durch die Angabe des Standorts.
IRM arbeitet direkt mit SharePoint-Datenspeicherstrukturen wie Dokumentbibliotheken zusammen, damit Berechtigungen beibehalten werden. Wenn ein Benutzer zu einer Dokumentbibliothek mit aktiviertem IRM navigiert und versucht ein Dokument zu downloaden, bindet MOSS die für die Dokumentbibliothek konfigurierten Berechtigungen an das Dokument an (siehe Abbildung 4). Das Ergebnis ist eine 1:1-Zuordnung zwischen MOSS und den Dokumentberechtigungen, wodurch mit dem Dokument verbundene SharePoint-Rollen in IRM-Berechtigungsebenen für das Dokument selbst übersetzt werden.
Abbildung 4 Übergang von IRM-Berechtigungen einer Dokumentbibliothek
Abbildung 4 Übergang von IRM-Berechtigungen einer Dokumentbibliothek (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 4 Übergang von IRM-Berechtigungen einer Dokumentbibliothek
Abbildung 4 Übergang von IRM-Berechtigungen einer Dokumentbibliothek (Klicken Sie zum Vergrößern auf das Bild)
Das Dokument wird für den Offline-Schutz lokal verschlüsselt und bleibt es so lange, bis es wieder in die Dokumentbibliothek geuploadet wird. Ist das Dokument geuploadet bleibt es unverschlüsselt, so dass der SharePoint Gatherer seinen Inhalt für die Volltextsuche indizieren kann (wobei jedoch kein Benutzerkonto auf den Inhalt in unverschlüsselter Form zugreifen kann).
MOSS 2007 stellt einige neue Funktionen bereit, die Ihnen bei der Implementierung einer effizienten Sicherheit in Ihrem Unternehmen ohne viel mehr Verwaltungsaufwand helfen kann. Noch besser ist, dass die Funktionen äußerst flexibel sind und weit reichende Anpassungen zulassen. So können Sie sicherstellen, dass Benutzer nur auf die Daten zugreifen, die sie brauchen. Ein einfaches Beispiel wird im Kurzartikel "Ein Authentifizierungsanbieter für SQL Server" beschrieben.

Adam Robert Buenz ist einer der SharePoint-Architekten and Entwickler für ARB Security Solutions LLC (sharepointsecurity.com). Er konzentriert sich dabei auf Sicherheitsfragen im Hinblick auf Umgebungen für die Zusammenarbeit. Sie können ihn unter adam@sharepointsecurity.com erreichen.


 SharePoint: Mit SharePoint finden Sie alles in Ihrem Unternehmen
SharePoint Matt Hester

Mit SharePoint finden Sie alles in Ihrem Unternehmen
Kurz zusammengefasst:
  • Architektur einer Lösung für die Suche in Unternehmen
  • Indizierung und Abfrage von Geschäftsdaten
  • LOB-Daten und Wissen von Personen

Wahrscheinlich haben Sie schon eine Menge Zeit damit verbracht. über Dinge wie aktive Serverzeit und -verfügbarkeit, Software-Updates und Sicherheit nachzudenken. Aber selbst bei einer perfekten Infrastruktur, in der alle Anwendungen und
alle Dateien überall im Netzwerk verfügbar sind, kann es trotzdem zu Produktivitätseinbußen Ihrer Benutzer kommen. Alle benötigten Daten mögen verfügbar sein, aber wie lange dauert die Suche danach?
Ein Menge wurde getan, um den Informationsüberfluss handhabbar zu machen. Desktop-Suchtools haben es leichter gemacht, gerade diese eine in dem Wust anderer in Ihrem System gespeicherten Daten versteckte Information ausfindig zu machen. (Siehe meinen im August 2006 erschienen Artikel "Find Anything with Windows Desktop Search" (in Englisch). Was ist aber mit all den Daten in Portalen, freigegebenen Ressourcen und Unternehmensanwendungen, mal ganz abgesehen von den wichtigen Informationen in den Köpfen der verschiedenen Mitarbeiter? Diese Informationen sind entscheidend für Ihre Benutzer, da sie diese Daten für ihre Arbeit benötigen. Und sie benötigen diese Informationen schnell, um rechtzeitig die richtigen Entscheidungen treffen zu können. Denken Sie darüber nach, wie lange ein Benutzer braucht, um im Netzwerk verstreute Daten zu finden und zusammenzutragen? Denken Sie auch darüber nach, wie sich dies auf das Betriebsergebnis Ihres Unternehmens auswirkt.
Sie müssen dafür sorgen, dass Ihre Benutzer Informationen schneller finden, die im ganzen Unternehmen verteilt sind. Aber wie lässt sich das bewerkstelligen? Im Grunde ist es ganz einfach. Setzen Sie ein Suchmodul mit Funktionen für die unternehmensweite Suche ein.
Durch den Einsatz einer unternehmensweiten Suche finden Sie fast alle Daten, die irgendwo in Ihrem Unternehmen gespeichert wurden. Dabei ist es unerheblich, ob sich die Daten auf einem Desktopcomputer, im Intranet, in einer LOB-Anwendung (Line of Business) oder im Kopf eines Mitarbeiters befinden. (Keine Angst, Sie müssen keine Chips ins Hirn Ihrer Mitarbeiter implantieren.)
Eine Lösung für die unternehmensweite Suche kombiniert die Suche auf Desktopcomputern mit schnellen Intranet-Suchfunktionen. Letzten Endes muss ein Tool zur unternehmensweiten Suche in der Lage sein, mehrere Suchabfragen gleichzeitig durchzuführen, so dass bei einem Suchvorgang auf mehrere Datenquellen zugegriffen wird. Benutzer geben ihre Abfragen über eine einzige Benutzeroberfläche ein. Im Hintergrund wird die Suche jedoch an mehrere unterschiedliche Suchmodule gesendet, deren Ergebnisse in einer konsolidierten Ansicht angezeigt werden.
In diesem Artikel werde ich darlegen, wie Microsoft® Office SharePoint® Server 2007 (MOSS 2007), die nächste Generation der Microsoft SharePoint-Lösungen, ein leistungsstarkes Suchmodul bereitstellt, das dabei helfen wird, die Informationssilos Ihrer Organisation einzureißen. MOSS 2007 bietet gegenüber den Vorgängerversionen zahlreiche Verbesserungen mit komplett überarbeiteten Komponenten sowie einige brandneue Funktionen. Ich werde hier einige der Schlüsselkomponenten beschreiben, wie Indizierung, Weitergabe, Relevanz sowie Inhaltsquellen, wie sie Ihnen bei der Bereitstellung optimierter Funktionen für Ihre Benutzer helfen werden.

Recherchen im Unternehmen mit SharePoint
Die unternehmensweite Suche wird in vier unterschiedlichen Versionen erhältlich sein: Microsoft Office SharePoint Server 2007 for Search Standard Edition, Microsoft Office SharePoint Server 2007 for Search Enterprise Edition, Microsoft Office SharePoint Server 2007 Standard sowie Microsoft Office SharePoint Server 2007 Enterprise.
Der Hauptunterschied zwischen den beiden Search-Versionen und den SharePoint Server-Vollversionen ist, dass die beiden Search-Versionen nicht über die Funktionen zur Personensuche (dazu gehört auch die Integration von Knowledge Network for MOSS 2007), den Business Data Catalog oder das verbesserte Suchcenter mit anpassbaren Registerkarten verfügen. Abbildung 1 zeigt die wichtigsten Unterschiede im Detail.
Figure 1 Hauptunterschiede der vier Search-Versionen (Close Figure 1)

 | Microsoft Office SharePoint Server 2007 for Search Standard Edition | Microsoft Office SharePoint Server 2007 for Search Enterprise Edition | Microsoft Office SharePoint Server 2007 Standard Edition | Microsoft Office SharePoint Server 2007 Enterprise Edition
Indizes | standardmäßig 40 Dateitypen (erweiterbar) | standardmäßig 40 Dateitypen (erweiterbar) | standardmäßig 40 Dateitypen (erweiterbar) | standardmäßig 40 Dateitypen (erweiterbar)
Unterstützt (standardmäßig) Suchläufe in Dateifreigaben, Websites, SharePoint-Sites, öffentliche Exchange-Ordner, Notes-Datenbankdateien |  |  |  |
Unterstützt Suchläufe in Dokument-Respositorys von Dritten |  |  |  |
Unterstützt Suchläufe nach Personen und Fachwissen |  |  |  |
Unterstützt Suchläufe in strukturierten Datenquellen |  |  |  |
Bietet Zugriffsteuerung auf sichere Inhalte |  |  |  |
Bietet erweiterte Suchcenter-Benutzeroberfläche |  |  |  |
Dokumentlimit | 400,000 | Unbegrenzt | Unbegrenzt | Unbegrenzt
Die Benutzeroberfläche bietet eine Reihe neuer Funktionen, wie z. B. Rückfragen nach der eigentlichen Bedeutung. Eine der wichtigsten Funktionen von Internetsuchmaschinen, die Sie auf eventuelle Schreibfehler in häufig verwendeten Suchbegriffe hinweist (siehe Abbildung 2). Die Benutzeroberfläche umfasst weiterhin das Hervorheben der Treffer und die Unterstützung von "wahrscheinlichsten Treffern". Damit kratzen wir aber gerade mal an der Oberfläche der neuen Suchfunktionen.
Abbildung 2 Das neue 'Meinten Sie...' Funktionalität bei der Suche mit SharePoint
Abbildung 2 Das neue 'Meinten Sie...' Funktionalität bei der Suche mit SharePoint (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Das neue 'Meinten Sie...' Funktionalität bei der Suche mit SharePoint
Abbildung 2 Das neue 'Meinten Sie...' Funktionalität bei der Suche mit SharePoint (Klicken Sie zum Vergrößern auf das Bild)

Suche nach einem bestimmten Wissen von Personen
Eine der interessantesten neuen Funktionen umfasst die Suche nach Personen, die über ein bestimmtes Wissen oder Sachkenntnis verfügen. Dadurch können Benutzer das Wissen von Mitarbeitern im ganzen Unternehmen anzapfen - ein wichtiger Schritt zur Aufschlüsselung von Informationssilos.
Um dies möglich zu machen, können Indizierung und Suche in allen LDAP-Verzeichnissen (Lightweight Directory Access Protocol) erfolgen, u. a. auch in Active Directory®-Verteilerlisten und SharePoint-Benutzergruppen. MOSS sucht allerdings nicht wirklich direkt in LDAP-Verzeichnissen. Damit die Suche nach Personen funktioniert, müssen die LDAP-Daten in MOSS importiert werden. (Suchläufe können auch in der gesamten Infrastruktur des Unternehmens erfolgen.)
Suchergebnisse können nach der "sozialen Distanz" zu einer Einzelperson gruppiert werden. Die Distanz wird dabei abhängig von der Position des Benutzers (ein Verkäufer möchte wahrscheinlich nicht direkt den Leiter Finanzen anrufen) und anhand gemeinsamer Interessen bewertet. Abbildung 3 zeigt die Ergebnisse einer Suche nach Personen.
Abbildung 3 Suche nach Kollegen mit relevantem Wissen
Abbildung 3 Suche nach Kollegen mit relevantem Wissen (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 Suche nach Kollegen mit relevantem Wissen
Abbildung 3 Suche nach Kollegen mit relevantem Wissen (Klicken Sie zum Vergrößern auf das Bild)

Suche nach geschäftlichen Daten
SharePoint kann auch verschiedene Typen von Geschäftsdaten indizieren. Dazu zählen LOB-Anwendungen (wie HR-Anwendungen, CRM, Kostenberichte usw.). Normalerweise kann auf solche Daten außerhalb der normalen LOB-Benutzeroberfläche nur schwer zugegriffen werden, so dass die meisten Mitarbeiter diese Daten weder finden noch nutzen können.
Doch jetzt können dank der MOSS-Suche Daten von jeder beliebigen LOB-Anwendung abgerufen werden, wie z. B. eine relationale oder eine Lotus Notes-Datenbank, auf die über ADO.NET oder Webdienste zugegriffen werden kann. Das Besondere daran ist, dass kein benutzerspezifischer Code geschrieben werden muss. Mit der Business Data Catalog-Funktion ist das Abrufen von Geschäftsdaten genauso einfach wie das Öffnen eines Dokuments oder das Aufrufen einer Website. Die Business Data Catalog-Funktion kann einfach in die Eigenschaftsverwaltung integriert und den im Suchcenter verfügbaren Bereichen angepasst werden.

Rückgaberelevanz
Natürlich wären alle neuen Funktionen wenig Wert, wenn sie keine genauen Ergebnisse bringen würden. Aber zum Glück hat MOSS enorme Fortschritte bei der Relevanz gemacht. Bevor ich diese Verbesserungen vorstellen werde, müssen Sie jedoch zunächst den Unterschied zwischen der Relevanz im Internet und der Relevanz in Unternehmen verstehen.
Sie werden sich vielleicht wundern, warum Suchläufe im Intranet nicht mit den gleichen Tools (und somit der gleichen Genauigkeit) wie Suchläufe im Internet erfolgen können. Einfach ausgedrückt, weil es sich dabei um zwei äußerst unterschiedliche Umgebungen mit unterschiedlichen Anforderungen und Voraussetzungen handelt. Diese Unterschiede können in drei Hauptkategorien unterteilt werden: Sicherheit, Struktur und Hierarchie.
Die Sicherheit bezieht sich dabei auf das im Vergleich zum Unternehmen einfache Konzept des Internets. Im Internet kann auf Daten weitestgehend anonym zugegriffen werden; die Indizierung oder Suche erfordert weder eine Authentifizierung noch eine Einschränkung aus Sicherheitsgründen. In Unternehmensumgebungen müssen jedoch strikte Sicherheitsmodelle eingehalten werden. Dazu gehören auch Funktionen zum Filtern von Ergebnissen, damit die zurückgegebenen Resultate der Berechtigungsstufe des suchenden Benutzers entsprechen.
Die Auswirkungen von Strukturen haben etwas mit Dichte zu tun. Das Internet ist eine reiche und tief reichende Ressource, wo Websites mit anderen Websites verknüpft sind, um deren Inhalte zu ergänzen. In einem Unternehmen ist die Struktur bei weitem nicht so dicht und Links dienen normalerweise lediglich der Navigation.
Der Faktor Hierarchie hat entfernt mit der Struktur zu tun. Im Internet existieren so gut wie keine Hierarchien zwischen Websites, und es gibt nur sehr wenige auf höchster Ebene. Im Gegensatz dazu ist das Intranet eines Unternehmens im Regelfall geplant und hierarchisch geordnet. Selbst wenn ein Unternehmen mehrere Stammebenen hat, gibt es normalerweise für die ganze Organisation nur ein Hauptportal.
Aufgrund dieser grundlegenden Unterschiede erfolgt die Indizierung von Daten und die Rückgabe von Ergebnissen durch die unternehmensweite Suchlösung nach einem anderen Schema. Mit MOSS 2007 wird den unterschiedlichen Anforderungen von Unternehmen besser Rechnung getragen. Es beinhaltet ein neues Rangfolgemodul, das durch die Kombination von bereits existierenden Technologien mit den Erkenntnissen von Microsoft Research und dem MSN®-Team entwickelt wurde. Die Relevanz wurde durch eine Reihe von Relevanzalgorithmen verbessert, die interne und externe Informationen über durchsuchte Dokumente und LOB-Daten erfassen. Bei der Indizierung von geschäftlichen Daten werden über 200 Dokumenttypen gescannt und Algorithmen werden angewendet, um die Sprache zu erkennen, Metadaten zu extrahieren und eine Textanalyse durchzuführen. Diese neuen, speziell für Geschäftsdaten und LOB-Anwendungen entwickelten Algorithmen liefern ungemein akkurate Ergebnisse.
Bei der Relevanzberechnung werden diverse Tags für Metadaten berücksichtigt. Einige davon sind:
  • Klick-Distanz Browsing, die Distanz zu autorisierenden Sites (kürzere Entfernungen sind meist relevanter).
  • Ankertext, Hyperlinks fungieren als Anmerkungen zu ihren Zielen. Außerdem sind sie oft höchst informativ.
  • URL-Tiefe, URLs in der oberen Hierarchie sind meist relevanter.
  • URL-Übereinstimmung Direkte Entsprechungen in Texten innerhalb einer URL.
  • Metadaten-Extrahierung Extrahiert automatisch Titel und Autoren aus Dokumenttexten, wenn diese Angaben fehlen.
  • Automatische Sprachenerkennung hilft, Ergebnisse in Ihrer Sprache zu privilegieren.
  • Dateitypeinstellung Bestimmte Dateitypen sind meist relevanter (beispielsweise sind PPT-Dateien oft relevanter als XLS-Dateien).
  • Textanalyse Traditionell basiert die Rangfolgebewertung für Texte auf Faktoren wie Ausdruckentsprechung, Häufigkeit der Ausdrücke und Wortvarianten.

Wie funktioniert die Indizierung?
MOSS 2007 hat große Fortschritte bei der Funktionsweise des Indizierungsdienstes sowie der Verwaltung von Inhalten erzielt. Das fängt schon damit an, dass Sie festlegen können, ob die Inhaltsquellen SharePoint-Server, Websites, Dateifreigaben, öffentliche Exchange-Ordner, Lotus Notes-Datenbanken oder LOB-Anwendungen sind. Die Indizierungsverwaltung wurde insgesamt neu gestaltet, so dass Sie nunmehr frei wählen können, was, wie und wann über verschiedene Inhaltsquellen hinweg indiziert werden soll. Dies wird mit Hilfe von so genannten Crawlregeln gehandhabt, über die Sie festlegen können, ob bestimmte Pfade verfolgt werden dürfen oder nicht. Sie können sogar konfigurieren, wie der Webcrawler den Links der URL folgen soll. Eine integrierte Protokolldatei gibt einen umfassenden Überblick über die Anzahl der vom Webcrawler besuchten Sites und wie diese indiziert wurden.
Der Index ähnelt der in der Windows®-Desktopsuche verwendeten Indextechnologie. Er besteht aus zwei Hauptkomponenten: einem Inhaltsindex und einem Eigenschaftenspeicher. Diese Art der Datenverarbeitung ist extrem effizient. Der Inhaltsindex umfasst den tatsächlich in den Dateien enthaltenen Text sowie einen zugeordneten invertierten Index mit Wörtern aus Ihrem Unternehmensindex. Die Eigenschaftenspeicherdatenbank ist entscheidend für die Verarbeitung der Ergebnisse. Sie enthält alle zusätzlichen Metadateneigenschaften (Autor, Erstellungsdatum, Dokumenttyp usw.) aller Dokumente im Speicher. Die Struktur des Eigenschaftenspeichers besteht aus einer Tabelle von Eigenschaften und deren Werten. Jede Zeile in der Tabelle entspricht einem separaten Dokument im Volltextindex. Gleichzeitig erzwingt und erhält der Eigenschaftenspeicher die Sicherheit auf Dokumentenebene, die bei der Indizierung eines Dokuments erkannt wird.
Der Indizierungs- und Speichervorgang wird mit dem Indizierungsmodul gestartet, welches für das Durchsuchen der Inhaltsquellen verantwortlich ist. Das Modul beginnt mit dem Durchsuchen nachdem es überprüft hat, dass es über einen geeigneten Protokollhandler zum Lesen der Inhaltsquellen verfügt. Ist der Protokollhandler für die Inhaltsquelle geladen, extrahiert und filtert der Protokollhandler die Elemente mit den erforderlichen IFiltern aus der Inhaltsquelle. Ein IFilter ist ein Add-In ohne dessen Hilfe das Indizierungsmodul den Inhalt neuer Dateitypen weder öffnen, lesen oder komplett indizieren könnte. IFilter extrahieren Text und Metadaten aus jedem Dokument und geben den Stream dann zurück an das Indizierungsmodul.
Die Dokumenteigenschaften werden dann im Eigenschaftenspeicher und der eigentliche Text des Dokuments im Inhaltsindex hinterlegt. Davor entfernt das Indizierungsmodul jedoch Störwörter. Das Modul verarbeitet die Daten ebenfalls mit Hilfe von Wörtertrennung und Wortstammerkennung, wodurch die einheitliche Organisation von Informationen und somit bessere Abfrageergebnisse möglich werden. (Die Wörtertrennung bricht den Text in Wörter und Sätze auf. Die Wortstammerkennung generiert gebeugte Formen von Wörtern.)
Das Indizierungsmodul nutzt die kontinuierliche Propagierung, so dass der Index quasi sofort erstellt werden kann. Dank der kontinuierlichen Propagierung wächst der Index sogar, während die Inhaltsquellen vom Crawler durchsucht werden. Diese Verbesserung ermöglicht fast sofortige Ergebnisse. Im Vergleich zum SharePoint Portal Server 2003 eine fantastische Leistungssteigerung, wo großangelegte Recherchen einige Tage dauern konnten und der Index außerdem erst propagiert wurde, nachdem die Suche abgeschlossen war.

Wie funktioniert das Abfragen?
Wenn ein Benutzer einen Suchbegriff eingibt oder eine benutzerspezifische Anwendung den Index aufruft, beginnt das Abfragemodul mit der Verarbeitung der Anfrage. Es lässt die Abfrage zunächst durch ein sprachspezifisches Worttrennmodul laufen. Kann die Sprache nicht identifiziert werden, wird ein neutrales Worttrennmodul aufgerufen. Nachdem die Abfrage aufgeschlüsselt wurde, leitet das Modul die Daten zur weiteren Verarbeitung an eine Wortstammerkennung (sofern aktiviert). Diese 2-Stufen-Verarbeitung verbessert die Relevanz und Effizienz der von der Abfrage zurückgegebenen Ergebnisse.
Enthält die Abfrage Eigenschafteninformationen, wird der Inhaltsindex zunächst nach Entsprechungen durchsucht, die mit Dokumenten im Eigenschaftenspeicher gepaart sind. Anschließend werden die Eigenschaften in der Abfrage sicherheitshalber noch einmal mit der gefundenen Entsprechung verglichen. Das Abfragemodul filtert bei einem weiteren Vorgang die Ergebnisse heraus, für die ein Benutzer keine Zugriffsberechtigungen hat. Die entsprechenden Ergebnisse werden in Form einer nach Relevanz geordneten Liste zurückgegeben. Abbildung 4 zeigt, wie die einzelnen Indizierungs- und Abfragekomponenten ineinander greifen.
Abbildung 4 Architektur der MOSS 2007 Enterprise Search-Umgebung
Abbildung 4 Architektur der MOSS 2007 Enterprise Search-Umgebung (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 4 Architektur der MOSS 2007 Enterprise Search-Umgebung
Abbildung 4 Architektur der MOSS 2007 Enterprise Search-Umgebung (Klicken Sie zum Vergrößern auf das Bild)

Verbesserte Verwaltung
Administratoren werden die Verwaltung der Suchumgebung leichter finden. Ein ganzer Satz verbesserter Tools für Endbenutzer und Administratoren hilft dabei, die durch die verschiedenen Verbindungspunkte in der Plattform bedingte Komplexität zu vereinfachen. Das Suchmodul profitiert seinerseits erheblich vom neuen Verwaltungsmodell in MOSS 2007. (Abbildung 5 zeigt die zum Ändern von Sucheinstellungen verwendete Hauptseite.)
Abbildung 5 Konfigurieren von Sucheinstellungen
Abbildung 5 Konfigurieren von Sucheinstellungen (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 5 Konfigurieren von Sucheinstellungen
Abbildung 5 Konfigurieren von Sucheinstellungen (Klicken Sie zum Vergrößern auf das Bild)
Die Bereiche, über die Sie die verschiedenen Sucheigenschaften steuern können, wurden ebenfalls verbessert. Mit Hilfe von Bereichen können Sie Inhaltsquellen einfacher durchsuchen, da Sie letztendlich den Index in kleineren Stücken verarbeiten. In SharePoint Portal Server 2003 sind Bereiche mit den Inhaltsquellen verbunden, die dadurch weniger flexibel und schwieriger zu verwalten sind. In MOSS 2007 sind die Bereiche und Inhaltsquellen separiert, was viel mehr Flexibilität ermöglicht. Sie können Bereiche für beliebige Inhaltseigenschaften definieren, wie z. B. URL, Typ oder Autor. Um multiple Regeln zu nutzen, können Sie Bereiche sogar miteinander kombinieren, beispielsweise alle technischen Dokumente eines bestimmten Autors.
Wenn ein Administrator die Leistung eines Suchmoduls verbessern möchte, muss er natürlich zunächst verstehen, wie der Index gegenwärtig funktioniert. Eins der besten hinzugefügten Tools für Administratoren ist die Abfrageberichterstattung. Mit dieser standardmäßig im Lieferumfang enthaltenen Berichterstattungsfunktion finden Sie umgehend Informationen über Volumentrendabfragen, Top-Abfragen, Durchklickraten, Abfragen ohne Ergebnisse usw. Die Abfrageberichterstattung kann Details auf Site- und Kerndienstanbieterebene liefern. Abbildung 6 zeigt einen Beispielbericht. Sie können die Daten zur weiteren Analyse oder Pivotisierung nach Microsoft Excel® exportieren.
Abbildung 6 Abfrageberichterstattung in MOSS 2007
Abbildung 6 Abfrageberichterstattung in MOSS 2007 (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 6 Abfrageberichterstattung in MOSS 2007
Abbildung 6 Abfrageberichterstattung in MOSS 2007 (Klicken Sie zum Vergrößern auf das Bild)

Sicherheit und Rechte
Wie bereits erwähnt, filtert das Abfragemodul Ergebnisse, so dass die Liste, die einem Benutzer angezeigt wird, nur solche Dokumente enthält, auf die er zugreifen darf. (In SharePoint Portal Server 2003 werden dem Benutzer auch Links angezeigt, für die er nicht unbedingt über die erforderlichen Zugriffsrechte verfügt.) Ein Vorbehalt im Hinblick auf Einschränkungen aus Sicherheitsgründen ist, dass MOSS 2007 keine Sicherheitseinschränkungen für Webcrawls durchführt. Websites können nicht aus Sicherheitsgründen eingeschränkt werden, da das HTTP-Protokoll nicht in der Lage ist, Zugriffssteuerungsdaten zurückzuverfolgen. Weiterhin lässt MOSS 2007 keine Sicherheitseinschränkungen für den Business Data Catalog oder die Suche nach Personen zu.
MOSS 2007 berücksichtigt bestehende Zugriffsteuerungslisten (ACLs, Access Control Lists), um die Sicherheit der Dokumente im Index zu gewähren. Dies ist ein entscheidender Unterschied im Vergleich zu anderen Suchtools. Ungleich einiger anderer Suchmodule, bei denen zum manuellen Festlegen von Dateizugriffsrechten eine Konfigurationsdatei verwendet werden muss, ermöglicht MOSS 2007 die Synchronisierung mit bestehenden Rechten.
Änderungen in der Zugriffsteuerungsliste eines einzigen Dokuments werden umgehend vom Index übernommen. Nehmen wir zum Beispiel eine im Index gespeicherte Excel-Tabellenkalkulation, deren Zugriffsteuerungsliste (ACL) eingeschränkt wird. Ein Administrator kann nur dieses eine Dokument neu indizieren und durchsuchen. Die Einschränkung aus Sicherheitsgründen erfolgt sofort (falls nötig, kann das Dokument auch komplett aus dem Index entfernt werden).
Weiterhin können einzelnen Dokumenten eindeutige Rechte zugewiesen werden. Ebenso ist es möglich, dass die Berechtigungseinstellungen aus einer Dokumentenbibliothek oder einem übergeordneten Verzeichnis übernommen werden. Dadurch wird das Auswählen von Gruppen oder Einzelpersonen, die Dokumente anzeigen, bearbeiten und speichern dürfen, um erleichtert.
Die Authentifizierung sowie die Anmeldungsverwaltung wurden ebenfalls verbessert. Der Cache für sichere Anmeldeinformationen kann nunmehr erweitert werden, so dass MOSS Cachesysteme für das einmalige Anmelden über Drittquellen wie auch benutzerangepasste Add-Ins akzeptieren kann. Außerdem kann die Kernauthentifizierung jetzt auch Drittsysteme akzeptieren. Diese beiden Verbesserungen bauen auf dem neuen ASP.NET-Anbietermodell auf, wodurch die Nutzung anderer Verzeichnisdienste möglich wird.

Anpassung
In MOSS 2007 verfügen Sie über zahlreiche Optionen zur Anpassung der Benutzeroberfläche. Die Benutzeroberfläche kann mit einem der zahlreichen Tools angepasst werden, die bereits zum Bearbeiten von Websites eingesetzt werden. Es gibt jedoch auch neue Tools, wie z. B. Office SharePoint Designer, mit denen Sie Ihre Master-Seiten erstellen können (leichtes Erstellen von Sites mit einem einheitlichen Layout). Abbildung 7 zeigt eine Seite mit Suchergebnissen in Bearbeitung.
Abbildung 7 Anpassen der Ansicht von Suchergebnisseiten
Abbildung 7 Anpassen der Ansicht von Suchergebnisseiten (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 7 Anpassen der Ansicht von Suchergebnisseiten
Abbildung 7 Anpassen der Ansicht von Suchergebnisseiten (Klicken Sie zum Vergrößern auf das Bild)
MOSS 2007 bietet standardmäßig zwei Registerkarten für die Suchcenter-Benutzeroberfläche an: Alle Websites und Personen. Für andere Typen von Informationen, nach denen Ihre Benutzer häufig suchen, können Sie einfach zusätzliche Registerkarten hinzufügen. Beispielsweise können Sie einen Direktverweis zu einer beliebigen Unternehmensanwendung, Datenbank oder selbst Verzeichnisdiensten bereitstellen. Mehr noch, Sie können diese Registerkarten sogar zu Bereichen aufeinander abstimmen. Das ist äußerst praktisch, um Registerkarten für kontextabhängige Suchläufe innerhalb bestimmter Inhalte zu erstellen. Dabei ist jedoch zu beachten, dass die Search-Editionen die Anpassung der Registerkarten für Suchläufe nicht unterstützen.

Schlussbemerkung
Wie Sie gesehen haben, bietet MOSS 2007 einige äußerst verlockende Verbesserungen an der unternehmensweiten Suche, durch die Benutzer effizienter und produktiver arbeiten können. Weitere Informationen finden Sie unter Microsoft Office SharePoint Server TechCenter.

Matt Hester ist ein TechNet-Moderator des Microsoft Across America-Teams. Erleben Sie ihn live unter www.technetevents.com/mhester. Oder besuchen Sie seinen Blog unter blogs.technet.com/matthewms.


 SharePoint: Leistungsstarke Befehlszeilenverwaltung f&#252;r SharePoint
SharePoint Todd Klindt

Leistungsstarke Befehlszeilenverwaltung für SharePoint
Kurz zusammengefasst:
  • SharePoint-Konfiguration mit STSADM
  • Skriptprogrammierung täglicher Administrationsaufgaben
  • Erweiterte STSADM-Befehle

Überlegen Sie sich, wie Benutzer mit Windows oder Microsoft Office interagieren. Einige Benutzer verwenden am liebsten die Maus und den Mauszeiger zur Navigation in Menüs und Symbolleisten, um häufige Aufgaben durchzuführen. Andere verwenden lieber
die Tastatur und führen schnell vertraute Tastatureingaben und Tastenkombinationen aus. Für jede Aufgabe gibt es stets mehrere Durchführungsmöglichkeiten.
Tatsache ist, dass eine grafische Benutzeroberfläche oft einfach zu verwenden ist, aber für Aufgaben, die die wiederholte Durchführung der gleichen Schritte erfordern, ebenso umständlich sein kann. Einige Dinge sind mit der Tastatur einfacher zu erledigen. Falls Sie mit SharePoint®-Administrationsaufgaben betraut sind, haben Sie wahrscheinlich bereits erfahren, wie es ist, wenn man in einer grafischen Benutzeroberfläche festgefahren ist. SharePoint bietet aber eine leistungsstärkere Möglichkeit, die Arbeit zu erledigen.
Die Hauptschnittstelle zur Verwaltung von Windows® SharePoint Services (WSS) und Microsoft® Office SharePoint Server 2007 (MOSS) ist die GUI-basierte SharePoint-Zentraladministration. SharePoint umfasst außerdem ein Befehlszeilen-Tool für die leistungsstärkere Administration. Dieses Tool mit der Bezeichnung STSADM.exe bietet alle Funktionen der SharePoint-Zentraladministration, aber darüber hinaus die Befehlszeilenflexibilität, die viele Administratoren schätzen. In diesem Artikel erhalten Sie eine Einführung in die Verwendung von STSADM zur Verwaltung von WSS und MOSS. Ich werde Ihnen auch einige Tipps zur Konfiguration Ihrer Umgebung geben und einige häufig verwendete STSADM-Befehle besprechen. Ich werde Ihnen sogar einige fortgeschrittene STSADM-Befehle zeigen, die Sie wie einen Helden aussehen lassen, wenn diese Befehle je notwendig sein sollten.

Erste Schritte
Falls Sie noch nicht auf STSADM gestoßen sind, könnte es daran liegen, dass das Tool etwas versteckt ist. In Windows SharePoint Services 2.0 ist es standardmäßig unter c:\Programme\Gemeinsame Dateien\microsoft shared\web server extensions\60\bin zu finden. In Version 3.0 unter c:\Programme\Gemeinsame Dateien\microsoft shared\web server extensions\12\bin.
Um den Zugriff auf dieses Tool zu erleichtern, verwende ich zwei verschiedene Ansätze. Zunächst füge ich dieses Verzeichnis einfach zu meiner Umgebungsvariablen PATH hinzu. Dadurch kann ich STSADM immer dann verwenden, wenn ich im Dateisystem arbeite. Das ist allerdings nicht in jeder Situation möglich. Mein zweiter Ansatz besteht darin, eine Verknüpfung zu CMD.EXE zu erstellen und den STSADM-Speicherort als Ausgangsverzeichnis einzustellen. Warum keine direkte Verknüpfung mit STSADM herstellen? Das funktioniert nicht, weil STSADM nicht interaktiv ist. Wenn Sie daher eine direkte Verknüpfung mit STSADM herstellen, wird die Verwendung des Tools kurz angezeigt, dann verschwindet diese Anzeige.
Um STSADM auszuführen, müssen Sie Mitglied der lokalen Administratorengruppe auf dem Webserver sein und die Anwendung lokal ausführen. Das bedeutet, Sie können STSADM nicht für die Remote-Administration eines SharePoint-Servers einsetzen.
Um zu sehen, welche Befehle Sie mit STSADM durchführen können, geben Sie auf einer Befehlszeile stsadm.exe -help ein. Überprüfen Sie diese Liste, nachdem Sie Aktualisierungen und Hotfixes in SharePoint übernommen haben, da evtl. neue Befehle hinzugefügt wurden. Unter go.microsoft.com/fwlink/?LinkId=77516 finden Sie auch eine praktische Anleitung zu stsadm.exe.

STSADM-Grundlagen
Wir wollen zunächst einige der Befehle betrachten, die Sie evtl. zur Einstellung Ihrer bestehenden SharePoint-Installation verwenden. Sie können mit STSADM Funktionen zu SharePoint hinzufügen und Konfigurationseinstellungen ändern.
STSADM verwendet den Parameter -o gefolgt von dem Befehl, den Sie durchführen möchten. Wenn Sie nur STSADM -operationname eingeben, funktioniert das nicht. Wenn Sie z. B. Websitevorlagen zu Ihrer Installation hinzufügen möchten, können Sie folgenden Befehl verwenden:
Stsadm -o addtemplate -filename <filename of the template>
-title <title of template> -description <description of template>
Oder, wenn Sie ein Web Part Package hinzufügen möchten, verwenden Sie diesen Befehl:
Stsadm -o addwppack -filename <filename of the Web Part Package>
Um Details zur Verwendung eines Befehls anzuzeigen, geben Sie den Befehl einfach ohne Parameter ein und STSADM sagt Ihnen, welche Eingabe erwartet wird. STSADM -help operationname zeigt ebenfalls Verwendungsinformationen an.
Wenn Sie Vorlagen verwalten, können Sie den Befehl enumtemplates verwenden, um festzustellen, welche Vorlagen hinzugefügt wurden. Installierte Vorlagen können Sie mit deletetemplate entfernen. Es gibt auch ähnliche Befehle, um mit Web Part Packages zu arbeiten. Mit dem Befehl enumwppacks können Sie die Web Part Packages auflisten, die auf jedem virtuellen Server oder in jeder Webanwendung installiert sind, und mit deletewppack können Sie hinzugefügte WPPs entfernen.
STSADM weist auch zwei Befehle zu den SharePoint-Einstellungen auf: setproperty und getproperty. Wenn Sie einen dieser Befehle ohne Parameter ausführen, erhalten Sie eine Liste der Eigenschaften, die Sie anzeigen oder ändern können. Wie STSADM ändert sich diese Liste bei Aktualisierungen und Hotfixes. Trotzdem gibt es einige Eigenschaften, die nützlicher sind als andere. Abbildung 1 besteht aus einer Liste mehrerer Eigenschaften, die Sie evtl. einstellen möchten, nachdem Sie SharePoint installiert haben. Dazu zählen die häufigsten Eigenschaften, nach denen SharePoint-Administratoren fragen.
Figure 1 Einstellung nützlicher SharePoint-Eigenschaften (Close Figure 1)

Eigenschaft | Funktion
Alerts-enabled | Aktivieren bzw. deaktivieren Sie Benachrichtigungen für Ihren virtuellen Server oder Ihre Web-Anwendung.
Alerts-limited | Legt fest, ob Benutzer auf die Einstellung einer bestimmten Anzahl von Benachrichtigungen auf dem virtuellen Server oder in der Web-Anwendung beschränkt sind.
Alerts-maximum | Sind Benachrichtigungsbeschränkungen festgelegt, ist dies die maximale Anzahl der Benachrichtigungen, die ein Benutzer festlegen kann.
Days-to-show-new-icon | Dies legt fest, wie lange das Symbol „Neu“ neben Objekten angezeigt wird, die zur Website hinzugefügt wurden, z. B. Ankündigungsmitteilungen.
Job-immediate-alerts | Legt fest, wie oft SharePoint direkte Benachrichtigungen zum Senden sucht. Der Standard für SharePoint 2.0 beträgt fünf Minuten. Sie können dieses Intervall hier einstellen. Wenn Sie die Zeit verringern, wird die Belastung Ihrer Web- und Datenbankserver erhöht, seien Sie also wachsam, wenn Sie diese Eigenschaft ändern.
Job-daily-alerts | Legt fest, zu welcher Uhrzeit die täglichen Benachrichtigungen gesendet werden. SharePoint 2.0 verwendet standardmäßig „zwischen 22:00 und 06:00“. Falls Sie Benutzer haben, die sich nicht in der Serverzeitzone befinden, können Sie diese Eigenschaft anpassen.
Job-weekly-alerts | Sie sehen wahrscheinlich, wie das Ganze funktioniert. Diese Einstellung legt den Zeitplan für wöchentliche Benachrichtigungen fest.
Wir wollen nun kurz die Verwendung einer dieser Eigenschaften erläutern. Bei dem folgenden Befehl sendet SharePoint alle 10 Minuten direkte Warnungen aus:
Stsadm -o setproperty -pn job-immediate-alerts -pv "Every 10 minutes"
Beachten Sie, dass ich statt -propertyname und -propertyvalue -pn und -pv verwendet habe. Das sind zulässige Abkürzungen, wenn Sie nicht das ganze Wort eingeben möchten. Beachten Sie auch, dass alle Beispiele und Befehle, die in diesem Abschnitt angesprochen werden, sowohl in Version 2.0 als auch 3.0 von Windows SharePoint Services funktionieren.

Tägliche Administration
Die alltägliche SharePoint-Administration ist recht einfach. Für die meisten SharePoint-Administratoren besteht der Großteil der täglichen Aufgaben aus der Arbeit mit Benutzern und Websites. STSADM bietet mehrere Befehle zur Rationalisierung dieser Aufgaben.
Ich möchte mit Websites und Webs beginnen. Aus Einheitlichkeitsgründen verwende ich „Website“ für Websitesammlungen und „Web“ für Unterwebseiten (werden auch als Subwebs bezeichnet). Einige der Begriffe sind problematisch, aber wenn Sie mit den von STSADM verwendeten einheitlich arbeiten, ist es einfacher, den benötigten Befehl zu finden.
Wenn Sie eine große SharePoint-Installation betreiben, verbringen Sie viel Zeit mit der Erstellung neuer Websites für Benutzer. Ich selbst mache das jedenfalls immer wieder. Die Erstellung neuer Websites ist in der SharePoint-Zentraladministration ganz einfach. Weil ich diese Aufgabe aber so oft durchführe, ist es für mich schneller, dazu STSADM zu verwenden.
Ich verwende den Befehl createsite. Das ist ganz einfach und die folgenden Parameter sind erforderlich:
  • url <url>
  • ownerlogin <DOMAIN\name>
  • owneremail <irgendwer@beispiel.com>
  • ownername <Anzeigename>
  • lcid <Sprache>
  • sitetemplate <Websitevorlage>
  • title <Websitetitel>
  • description <Websitebeschreibung>
  • quota <Quotenvorlage>
Sie können diese durch Eingabe von stsadm -help createsite (siehe Abbildung 2) an der Eingabeaufforderung anzeigen. Von diesen neun Parametern sind nur url, ownerlogin und owneremail obligatorisch.
Abbildung 2 Createsite-Parameter
Abbildung 2 Createsite-Parameter (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Createsite-Parameter
Abbildung 2 Createsite-Parameter (Klicken Sie zum Vergrößern auf das Bild)
Falls Sie bestimmte Websites routinemäßig erstellen, können Sie bei der Rationalisierung noch einen Schritt weiter gehen und ein Wrapper-Skript um STSADM schreiben, um die Aufgabe zu automatisieren. Um z. B. die Erstellung persönlicher Websites zu automatisieren, können Sie folgende Eingaben in einer Textdatei namens createpersonalsite.cmd speichern:
stsadm -o createsite -url http://localhost/users/%1 -ownerlogin contoso\%1
-owneremail %1@contoso.com -sitetemplate usersite.stp
-title "Personal site for %1" -description "Personal site for %1" -quota "500 MB"
Um dann eine Website für den Benutzer jsmith zu erstellen, könnten Sie einfach Folgendes ausführen:
createpersonalsite.cmd jsmith
Durch die Skriptprogrammierung zur Website-Erstellung ersparen Sie sich viele Eingaben und Sie können gewährleisten, dass alle neu erstellen Websites einheitlich sind. Der Befehl createweb bietet die gleichen Funktionen auf Webebene.
In Windows SharePoint Services 2.0 besteht die einzige einfache Möglichkeit, eine umfassende Liste der Websitesammlungen auf einem bestimmten virtuellen Server zu erhalten, in der Verwendung von STSADM. Enumsites führt alle Websitesammlungen auf einem bestimmten virtuellen Server oder in einer Webanwendung im XML-Format auf. Dies kann mit einem Data View Web Part kombiniert werden, um eine Liste der Websitesammlungen ganz einfach anzuzeigen. (Weitere Informationen siehe Randleiste „Arbeiten mit einem Data View Web Part“).
STSADM stellt den Befehl deletesite bereit, mit dem Sie Websites entfernen können. Sie müssen lediglich den URL angeben. Als Option können Sie die Konten mit -deleteadaccounts in Active Directory® löschen. Wenn Sie mit Webs arbeiten, verwenden Sie in diesem Fall den Befehl deleteweb.
Sie können auch Benutzer einer Website oder eines Webs hinzufügen, löschen und auflisten. Die dazu verwendeten Befehle lauten adduser, deleteuser und enumusers. Diese Befehle sind nützlich, wenn Benutzer massenweise zu einer Website hinzugefügt werden müssen oder Sie zu Überwachungszwecken eine Liste der Benutzer mit Zugriff auf eine Website benötigen.
Wenn Sie mit Webs arbeiten, haben Sie Zugriff auf einen weiteren Befehl, renameweb, mit dem Sie Namen und URL eines Webs ändern können. Um das Web z. B. von „oldname“ auf „coolnewname“ umzubenennen, verwenden Sie Folgendes:
Stsadm -o renameweb -url http://localhost/oldname -newname coolnewname
Dies kann viel Zeit sparen, wenn Projektnamen geändert oder Geschäftseinheiten neu ausgerichtet werden. In Windows SharePoint Services 2.0 ist das ein großes Problem, da die einzige Möglichkeit zum Migrieren von Webs SMIGRATE.exe ist, wodurch aber keine Benutzereinstellungen wie z. B. Mitgliedschaften oder Benachrichtigungen gepflegt werden. Bei Windows SharePoint Services 3.0 ist das weniger ein Thema, da STSADM Webs und Websites sichern und wiederherstellen kann.

Sicherung und Wiederherstellung
Eine der besten Verwendungsoptionen für STSADM ist die Sicherung und Wiederherstellung von Websites und Webs. Für kleine bis mittelgroße Installationen kann diese Funktionalität den Eckstein eines Wiederherstellungsplans für den Katastrophenfall darstellen. Der Backup-Prozess erklärt sich von selbst und ist sehr einfach zu verwenden. Teilen Sie STSADM einfach mit, welche Website gesichert und wohin die Backup-Datei geschrieben werden soll, z. B. so:
Stsadm -o backup -url http://localhost -filename site.bak
Dadurch wird die gesamte Websitesammlung in der Datei site.bak gespeichert. Dies umfasst den gesamten Inhalt wie z. B. Webs, Dokumentversionen, Listen und Benutzer. Website-Definitionen oder Änderungen, die auf der Dateisystemebene Ihrer Server vorgenommen wurden, werden nicht gesichert.
Während der Backup-Prozess wichtig ist, weist er doch einige Haken auf, die beachtet werden sollten. Ist die Website sehr groß, kann während des Backup-Vorgangs die Konfigurationsdatenbank gesperrt werden. Dies kann verhindern, dass Benutzer während des Backups auf Websites in dieser Datenbank zugreifen können. Dieses Problem kann mit Service Packs behoben werden, doch ist es auf jeden Fall etwas, worauf Sie achten sollten, wenn Ihre Websites wachsen. STSADM verwendet außerdem das temporäre Verzeichnis des Servers bei Backups und Wiederherstellungen. Achten Sie daher auf Ihren Festplattenspeicherplatz.
Arbeiten mit einem Data View Web Part
Sie können den Befehl enumsites mit einem Data View Web Part koppeln, um eine einfache Möglichkeit zum Anzeigen einer Liste von Websitesammlungen zu erhalten. Das funktioniert so.
Erstellen Sie zunächst einen geplanten Task, der Folgendes ausführt:
stsadm –o enumsites –url http://localhost
>c:\inetpub\wwwroot\excludedsite\sites.xml
Vergewissern Sie sich, dass die XML-Datei in ein Verzeichnis geschrieben wird, das mit IIS veröffentlicht, aber nicht von SharePoint verwaltet wird. Verwenden Sie dann Microsoft FrontPage® (oder den FrontPage-Nachfolger Microsoft Office SharePoint Designer 2007), um ein Data View Web Part zu einer Web Part-Seite hinzuzufügen und lassen Sie es auf den URL der XML-Datei verweisen.
Das Data View Web Part bietet Funktionen wie Sortieren, Filtern und Gruppieren. Sie können das URL-Feld auch zu einem Link machen, der Sie direkt zur Website führt. Falls Sie stattdessen eine Web-Liste wünschen, bietet der Befehl enumsubwebs eine XML-Ausgabe der Subwebs in einer Websitesammlung oder einem Web.

Achten Sie aber auch darauf, dass STSADM-Backups zwar gut für kleine bis mittelgroße Websites geeignet sind, aber nicht so gut skaliert werden können. Für sehr große Websites (mehrere Gigabyte oder mehr) können die Backup- und Wiederherstellungsprozesse sehr viel langsamer werden.
Die Wiederherstellung einer Website ist genauso einfach. STSADM -o restore schreibt eine mit STSADM -o backup erstellte Datei in eine Website in SharePoint. Dieser Befehl bietet viel Flexibilität: Sie können eine Website an ihrem Originalspeicherort wiederherstellen (wenn die Website z. B. aus Versehen gelöscht wurde), können Sie sie als andere Website auf dem gleichen virtuellen Server wiederherstellen (wenn Sie z. B. einen Prozess auf einer Website testen möchten, ohne zu riskieren, Daten zu vernichten), oder Sie können die Website auf einem völlig anderen Server oder virtuellen Server wiederherstellen.
Die Wiederherstellung auf einer anderen Website oder einem anderen Server macht es etwas einfacher, einzelne Dokumente wiederherzustellen. Falls Sie eine Website gesichert haben und ein Benutzer ein Dokument wiederherstellen möchte, müssen Sie nicht die gesamte Website wiederherstellen. Dadurch würden alle Änderungen gelöscht, die seit dem Speichern des Backups an der Website vorgenommen wurden. Stattdessen können Sie die Website einfach unter einem anderen URL wiederherstellen, die Dokumente abrufen und wieder auf der Original-Website speichern.
In Windows SharePoint Services 2.0 weist STSADM eine relativ schwerwiegende Beschränkung auf. Beim Backup kann diese Version nur Websites berücksichtigen, keine Webs. Administratoren haben ihre Unzufriedenheit geäußert, und Microsoft hat reagiert. In Windows SharePoint Services 3.0 können die Backup- und Wiederherstellungsprozesse jetzt mit Webs umgehen. Außerdem kommen zwei neue Befehle hinzu: import und export.
Um ein Web zu exportieren, verwenden Sie den folgenden einfachen Befehl:
Stsadm -o export -url http://localhost/web -filename backup.dat
Der Export weist praktische Optionen auf, darunter den Switch -versions. Dies ermöglicht Ihnen, zu entscheiden, wie groß Ihre Backup-Dateien sein werden, indem Sie beschränken, welche Dateiversionen gesichert werden.
Um ein Web wieder auf den Server zu importierten, verwenden Sie folgenden Befehl:
Stsadm -o import -url http://localhost/web2 -filename backup.dat
Ist Ihre Website sehr groß, kann die Backup-Datei aus mehreren Teilen bestehen. In diesem Fall lassen Sie STSADM -o import auf die erste Datei verweisen, es werden dann automatisch die nachfolgenden Dateien abgerufen.

Befehle für Experten
Da Sie jetzt mit STSADM vertraut sind, möchte ich Ihnen einige Befehle zeigen, die Ihnen in brenzligen Situationen wirklich weiterhelfen können. Der erste ist ein neuer Befehl namens migrateuser. Version 2.0 synchronisiert sich nicht selbst mit Active Directory. Wird ein Konto umbenannt, kann es sich nicht mehr bei SharePoint anmelden. Bisher gab es auch keine Möglichkeit, um den Benutzerzugriff von einem Domain-Benutzer auf einen anderen zu übertragen. Vor Windows SharePoint Services 2.0 Service Pack 2 (SP2) mussten Sie den Benutzer aus jedem Web entfernen und das neue Konto manuell hinzufügen.
SP2 führte eine neue API ein und STSADM profitiert davon. Wird das Konto jsmith in jjones umbenannt, können Sie folgenden Befehl verwenden:
Stsadm -o migrateuser -oldlogin domain\jsmith -newlogin domain\jjones -ignoresidhistory
Da Sie die Konten nicht wirklich migrieren, können Sie den Windows-Sicherheits-ID (SID)-Verlauf ignorieren. Beachten Sie, das dieser Befehl keinen URL erfordert. Er nimmt die Änderung in allen Konfigurationsdatenbanken unabhängig von Websites oder Webs vor.
Ein weiterer Befehl, der sehr nützlich sein kann, ist unextendvs. Wenn Sie nicht möchten, dass SharePoint einen virtuellen Server oder eine Web-Anwendung umwandelt, heben Sie die Erweiterung auf. Normalerweise würden Sie dies im SharePoint Configuration Analyzer bewerkstelligen. In einer Webfarm erfordert SharePoint Configuration Analyzer aber, dass sich alle Ihre Server auf der gleichen Patch-Stufe befinden. Es ist möglich, dass ein Server mit dem Rest der Farm nicht synchronisiert ist. Daher erhält er die unextend-Option in SharePoint Configuration Analyzer nicht. Mit STSADM hebt der folgende Befehl die Erweiterung Ihres virtuellen Servers auf:
Stsadm -o unextendvs -url http://localhost
Ist der Server nicht mehr Teil der Webfarm, können Sie die notwendige Wartung durchführen.
Zum Thema Webfarmen ist aus Gründen der einfachen Administration zu sagen, dass Sie für alle Ihre Server SharePoint Configuration Analyzer am gleichen Port haben sollten. Der Port wird bei der Installation von Sharepoint nach dem Zufallsprinzip generiert, doch enthält STSADM einen Befehl, um die Portauswahl entsprechend Ihren Angaben zu ändern:
Stsadm -o setadminport -port 1026
Dadurch werden alle notwendigen Datenbankänderungen und die IIS-Änderungen vorgenommen und die Verknüpfung zu SharePoint Configuration Analyzer in der Verwaltung wird angepasst.

Schlussbemerkung
Windows SharePoint Services ist eine leistungsstarke Lösung, die leistungsstarke Administration erfordert. STSADM bietet eine SharePoint-Administrationsmöglichkeit einschließlich Automation der Konfiguration und allgemeinen alltäglicher Aufgaben. Manchmal ist STSADM sogar die einzige Möglichkeit, eine bestimmte Aufgabe durchzuführen.

Todd Klindt arbeitet als Systemanalytiker bei UGS, wo er den ganzen Tag lang mit SharePoint spielt und dafür auch noch bezahlt wird. Er ist außerdem Windows SharePoint Services MVP und Wassermann.


 SharePoint: Nutzen Sie Wikis bei der Arbeit
SharePoint Mauro Cardarelli

Nutzen Sie Wikis bei der Arbeit
Kurz zusammengefasst:
  • Was ist ein Wiki?
  • Erstellen eines Wikis in SharePoint
  • Bearbeiten und Nachverfolgen von Änderungen

Das Wiki-Konzept existiert seit über 10 Jahren. In seiner einfachsten Form ist ein Wiki – der hawaiische Begriff für „schnell“ – ein Onlinespeicherort, an dem Benutzer Webseiteninhalte frei erstellen und bearbeiten können,
und das lediglich mithilfe eines Browsers. Das Ziel besteht darin, einen Ort zu bieten, an dem Mitglieder einer virtuellen Community beliebige Seiten bearbeiten und dabei Inhalte nach Belieben hinzufügen, ändern und löschen können, auch in Texten anderer Autoren. Im Unterschied zu Blogs, die für strukturierteren Wissensaustausch und Kommunikation von einer Person an viele vorgesehen sind, ermöglichen Wikis eine intensivere Zusammenarbeit.
In jüngster Zeit wurde der nächsten Onlinetoolgeneration, dem so genannten Web 2.0, hohe Aufmerksamkeit geschenkt. Voraussetzung ist, dass Barrieren beim Erstellen von Inhalten gesenkt werden, um Benutzern die Möglichkeit zu bieten, sowohl als Autoren als auch als Nutzer von Onlineinformationen aufzutreten. Dieses Phänomen ist nicht nur in der Internetwelt, sondern auch hinter Unternehmensfirewalls anzutreffen. Sie sollten sich dies wie Enterprise 2.0-Tools vorstellen, die allen Mitarbeitern das Erstellen von Inhalten erleichtern. Technologien wie Blogs und Wikis werden bei der Art und Weise, wie Unternehmen ihr firmeneigenes Fachwissen bewerten, speichern und wiederverwenden, für große Veränderungen sorgen.
Microsoft erleichtert diese Fähigkeiten der nächsten Generation mit der Einführung von Microsoft® Office SharePoint® Server (MOSS) 2007, die dritte Version der populären SharePoint-Technologie. MOSS 2007 bietet einen erweiterten Funktionsumfang für Zusammenarbeit und Kommunikation, einschließlich Unterstützung für das Erstellen von Blogs und Wikis. In diesem Artikel werden die ersten Schritte für das Erstellen von Wikis mithilfe von MOSS 2007 erläutert.

Erste Schritte
Wenn Sie schon mit SharePoint Portal Server 2003 gearbeitet haben, sind Sie mit der Verwendung von Websitevorlagen bereits sehr vertraut. Websitevorlagen stellen ein Grundgerüst für das Layout einer konkreten Art von Seite (z. B. für ein Team oder ein Meeting oder ein gesellschaftliches Ereignis) zur Verfügung, in dem bereits Platzhalter für bestimmte Inhalte vorhanden sind. MOSS 2007 weitet die Verwendung von Websitevorlagen durch Einführen einer neuen Sammlung an Vorlagentypen aus. Einer dieser Vorlagentypen ist für ein Wiki vorgesehen.
Abbildung 1 zeigt die Seite „Neue SharePoint-Website“, die zum Erstellen einer SharePoint-Website verwendet wurde. Beachten Sie, dass in der Vorlagenliste ein Element für eine Wiki-Website vorhanden ist. Durch Auswählen dieser Vorlage können Sie schnell und problemlos Ihr erstes Wiki erstellen. Sehen Sie sich Abbildung 2 an, die Standarddarstellung des neu erstellten Wiki. Die Struktur eines Wiki ist so aufgebaut, dass diese Standardseite Ihre Homepage ist. Hier kann alles bearbeitet werden. Ordnungsgemäß autorisierte Benutzer – Ihre virtuelle Community – können diese Seite bearbeiten und neue Seiten erstellen.
Abbildung 1 Auswählen der Wiki-Vorlage für eine neue Website
Abbildung 1 Auswählen der Wiki-Vorlage für eine neue Website
Abbildung 2 Ihr neues SharePoint-Wiki, bereit zum Bearbeiten
Abbildung 2 Ihr neues SharePoint-Wiki, bereit zum Bearbeiten (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Ihr neues SharePoint-Wiki, bereit zum Bearbeiten
Abbildung 2 Ihr neues SharePoint-Wiki, bereit zum Bearbeiten (Klicken Sie zum Vergrößern auf das Bild)
Bevor wir fortfahren, gehen wir einen Schritt zurück und diskutieren die Einführung von Wikis bei Ihren Benutzern. Wie ich bereits erwähnt habe, sind Wikis schon seit einer gewissen Zeit im Internet oder über Tools von Drittanbietern verbreitet. Zum größten Teil aber wurden Wikis sehr spezialisiert verwendet und wurden nur langsam, durch persönliche Weiterempfehlung populär. MOSS 2007 ist in der Lage, diese Situation zu ändern, indem für alle Intranetbenutzer Wiki-Funktionalität bereitgestellt wird. Dies ist eine sehr weitreichende (und möglicherweise ein wenig erschreckende) Möglichkeit. Wie erklären Sie den Nutzen eines Wiki technisch weniger versierten Mitarbeitern ohne Interneterfahrung? Was Sie diesen Menschen verdeutlichen müssen, ist, dass das Ziel von Wikis in der Förderung des kreativen Austauschs von Ansichten und Ideen besteht, in einer Umgebung, die allen Benutzern die Möglichkeit bietet, sich einzubringen. Wikis ermöglichen die Zusammenarbeit an Inhalten, aber sie sind in Wirklichkeit viel mehr. Das Endergebnis eines Wikis ist kein Dokument und kein Kapitel, sondern eher ein Buch, das nie abgeschlossen wird und an dem Sie, wenn notwendig, zu jeder Zeit Änderungen vornehmen können.
Für Neueinsteiger in die Wiki-Welt steht über den Link „How to Use This Wiki Site“ eine Onlineanleitung zur Verfügung. Der Standard-Wiki-Vorlage ist eine umfassende Dokumentation beigefügt, mit deren Hilfe neue Benutzer in kürzester Zeit eigene Inhalte beitragen können.

So funktionieren Wikis
Auf jeder Wiki-Seite befinden sich rechts oben interaktive Schaltflächen. Wenn Sie auf die Schaltfläche „Bearbeiten“ klicken, werden Sie zu einer Seite geleitet, die dem Bearbeiten von Inhalten dient. Abbildung 3 zeigt ein Beispiel. Alle Bearbeitungsvorgänge erfolgen im Browser. Es müssen keine externen Tools wie z. B. Microsoft Word verwendet werden. Die Bearbeitungen werden online und in Echtzeit (nach dem Speichern) implementiert. Außerdem sind keine Fertigkeiten in Webdesign und Webentwicklung erforderlich. Die Bearbeitungsschnittstelle ermöglicht die uneingeschränkte Nutzung des Rich-Text-Formats (einschließlich Fettdruck, Farben, Aufzählungszeichen und Bildern), und dies alles durch die Verwendung von Standardschaltflächen. Ein Benutzer öffnet einfach eine vorhandene Seite im Bearbeitungsmodus und fügt Inhalte hinzu oder ändert sie. Das ist alles.
Abbildung 3 Bearbeiten von Wiki-Inhalten im Browser
Abbildung 3 Bearbeiten von Wiki-Inhalten im Browser (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 Bearbeiten von Wiki-Inhalten im Browser
Abbildung 3 Bearbeiten von Wiki-Inhalten im Browser (Klicken Sie zum Vergrößern auf das Bild)
Wie verwalten Sie Änderungen in einer Umgebung, in der Inhalte beständig weiterentwickelt werden? Sie werden nicht unbedingt das Bedürfnis haben, alle Inhalte und Beiträge streng zu überwachen, aber Sie möchten sicherlich über einige Mittel zum Nachverfolgen von Änderungen und zur Verwaltung des Versionsverlaufs verfügen. Mit MOSS 2007 ist das kein Problem. Abbildung 4 zeigt, wie eine Standardseite aussieht, nachdem Sie auf die Schaltfläche „Verlauf“ geklickt haben. Sie werden bemerken, dass in der Seitenmitte alle Bearbeitungen am Text erfasst wurden. Links können Sie den Änderungsverlauf sehen, der jede Änderung enthält. Die Community das uneingeschränkte Recht, Änderungen zu überprüfen, nachzuverfolgen und sogar rückgängig zu machen. Dies ist ein leistungsfähiges Konzept. Während Sie Ihr Wiki erstellen und ändern, verfolgt MOSS 2007 diese Entwicklung nach.
Abbildung 4 Langfristiges Nachverfolgen von Änderungen an einem Wiki
Abbildung 4 Langfristiges Nachverfolgen von Änderungen an einem Wiki (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 4 Langfristiges Nachverfolgen von Änderungen an einem Wiki
Abbildung 4 Langfristiges Nachverfolgen von Änderungen an einem Wiki (Klicken Sie zum Vergrößern auf das Bild)
Wie bereits erwähnt, ist ein Wiki keine Webseite. Ein Wiki ist eine Sammlung einer unbegrenzten Zahl von Seiten. Als Mitglied einer Wiki-Community können Sie die Entscheidung treffen, eine neue Idee oder einen neuen Diskussionspunkt einzuführen. Statt einer bereits vorhandenen Seite Text hinzuzufügen, möchten Sie vielleicht eine Verzweigung zu einer neuen Seite erstellen. MOSS 2007 unterstützt dies, indem auf einfache Weise neue Wiki-Seiten hinzugefügt werden können. Klicken Sie einfach auf „Neu“, und schon haben Sie eine neue Wiki-Seite eröffnet. Beginnen Sie mit dem Einfügen von Inhalten, und schon sind Sie mitten im Erstellungsprozess.

Schlussbemerkung
MOSS 2007 hat sicherlich nicht das Konzept der Wikis erfunden, aber indem es Wikis allgemein verfügbar macht, werden sie wesentlich attraktiver. Wikis können die Art und Weise, wie Mitarbeiter innerhalb einer Organisation zusammenarbeiten, stark verändern. Die Mitarbeiter sind nicht mehr an die Grenzen einzelner Dokumente gebunden. Wikis ermutigen zum Denken über Strukturen hinweg und zu einer breiteren Zusammenarbeit. Dies passt sehr gut in die weit gefassten Konzepte, die mit der Philosophie von Enterprise 2.0 verbunden sind. Wikis machen Dinge möglich. Sie ermöglichen allen Benutzern, teilzuhaben statt nur mitzumachen und dabei auch in neue Richtungen zu gehen.

Mauro Cardarelli ist geschäftsführender Teilhaber bei Jornata, einer IT-Beratungsfirma in Boston. In seinem Verantwortungsbereich liegen Technologieförderung, Architekturentwurf und Softwareentwicklung. Mauro Cardarelli kann über mauro.cardarelli@jornata.com erreicht werden.


 Editorial: Gelegentlich erleben Branchen
Editorial

Gelegentlich erleben Branchen erschütternde Veränderungen. Dies gilt nicht nur für die Technik, sondern auch für die Politik, die Mode und alles andere. Diese Gedanken gingen mir vor einigen Wochen durch den Kopf, als ich auf der Konferenz "Windows Connection" in Las Vegas gesprochen habe. Fünf Jahre früher wäre ich im November auf der Comdex gewesen - eine riesige Messe, auf der die Abnehmer und Interessenten aller möglichen Segmente der Technologien dieser Welt bedient wurden. Aber diese Messe, die fast zwei Jahrzehnte lang ein beständiges Wachstum aufweisen konnte, verschwand nahezu über Nacht. Anstatt eine große, breit gefächerte Messe zu besuchen, habe ich daher auf einer sehr erfolgreichen Konferenz mit einem sehr eingeschränkten Themenbereich mit Schwerpunkt auf einige Entwickler- und IT-Produkten gesprochen. Ich habe dieselben Leute am selben Ort erreicht, der Rahmen jedoch war für alle Teilnehmenden einträglicher.
Mein Vortrag handelte über das Verfassen technischer Texte - wie macht man das, wo macht man das und warum. Die Veränderungen in unserer Branche zeigen sich nicht nur in der Geschichte der Comdex, sondern in der ganzen Welt der technischen Kommunikation. Vor fünf Jahren habe ich ein ähnliches Seminar abgehalten, und es ging ausschließlich um Magazine. Schon damals hatten einige Leute von Blogs gehört. Community-Sites waren lediglich ein Schatten dessen, was sie heute sind. In den vergangenen fünf Jahren haben wir bei der Art und Weise, wie das geschriebene Wort verbreitet wird, eine permanente Veränderung erlebt, in einem zuvor nie da gewesenen Umfang.
Das ist natürlich ein zweischneidiges Schwert. Unterschiedliche Formen der Kommunikation dienen unterschiedlichen Absichten. Menschen können ihre Gedanken ganz spontan online bringen. Wenn diese Gedanken jedoch in einem Magazin erscheinen, bedeutet dies normalerweise, dass die Wörter editiert und technisch korrigiert wurden. Sie können einen Blog-Beitrag schließen, aber Sie können nicht in ein x-beliebiges Haus gehen und die Leute dort auffordern, einen Abschnitt auf Seite 28 herauszureißen.
Wie dem auch sein, es gibt einen Grund, warum ich von all diesen Veränderungen spreche. Als Antwort auf die zahlreichen Leser, die uns ihre Meinung über das Magazin mitgeteilt haben, erweitern wir unsere Zusammenstellung an Rubriken. In dieser Ausgabe finden Sie die erste Fortsetzung von "The Cable Guy", eine bekannte Rubrik aus TechNet online, die nun den Weg auf die gedruckte Seite gefunden hat. Wir wissen auch von den vielen Postmastern, dass Exchange Server 2007 eine große Sache wird. Daher starten wir Exchange-Warteschlange & A als eine regelmäßige Rubrik. (Nicht doch, das ist ein netter Titel!)
Wenn Sie ein Feature über eine Technologie von Microsoft im Magazin lesen möchten, teilen Sie uns dies bitte mit. Ihnen zu geben, was Sie brauchen, ist die beste Methode, um für Sie nützlich zu sein. £Joshua Trupin

Unser Dank gilt den folgenden Technikexperten von Microsoft: Puneet Arora, Jeff Bienvenu, Nino Bilic, Eric Broberg, Ramesh Chinta, Matt Cohen, Michael Dalton, George Irimescu, Bryan Jeffries, Dave Kong, Vijay Krishna, Rob Lefferts, Lawrence Liu, Bob Ma, Manu Namboodiri, Joel Oleson, Arpan Shah, Troy Starr, James Sturms, Jim Truher und Blaine Young.


 Toolbox: Neue Produkte f&#252;r IT-Profis
Toolbox
Neue Produkte für IT-Profis
Greg Steen

Serververwaltung
Windows Server 2003 Resource Kit-Tools
go.microsoft.com/fwlink/?LinkId=77796
Die Microsoft Windows Server 2003 Ressource Kit-Tools stellen eine äußerst nützliche Sammlung von über 100 Dienstprogrammen dar, die Sie bei Rationalisierung und Automatisierung Ihrer Verwaltungsaufgaben unterstützen. Das Paket umfasst alles von Active Directory®-Tools über Dienstprogramme für die Problembehandlung in Netzwerken bis hin zu Brennern für CD/DVD-Abbilder.
Der Custom Reason Editor (custreasonedit.exe) ist ein hervorragendes Tool für das Organisieren der Ereignisprotokollierung. Als Komponente von Windows Server® 2003 protokolliert die Ereignisprotokollierung (Shutdown Event Tracker) die Ursachen für das Herunterfahren des Systems im Ereignisprotokoll. Mit dem Custom Reason Editor können Sie eine benutzerdefinierte Liste konfigurierbarer Parameter erstellen, die die standardmäßig aktivierten, vordefinierten Ursachen außer Kraft setzen. Mithilfe dieses Tools können Sie problematische Prozesse, Anwendungen und Systemzustände, die zu einem Herunterfahren des Systems führen, problemlos erkennen, da die einzelnen Ereigniselemente übersichtlich erfasst und organisiert werden.
Der DNS Resolver, ein Befehlszeilenprogramm, das die Ausführung der DNS-Auflösung durch den SMTP-Dienst simuliert, zeigt Nachrichten zum Status der DNS-Abfrage an, die Sie als Befehlsparameter vorgeben. Dieses Dienstprogramm kann auf jedem Windows Server 2003-Host ausgeführt werden, auf dem der SMTP-Dienst installiert ist, und gibt Fehlercodes zurück, die Sie in Batchdateien verwenden können. CDBurn.exe und DVDburn.exe sind Befehlszeilenprogramme, mit denen Sie aus ISO-Abbildern CDs und DVDs erstellen können. Diese Programme stellen mit dem Schalter „/Erase“ (Löschen) eine begrenzte Unterstützung für wiederbeschreibbare Medien bereit. Durch diesen Schalter werden die Medien vor dem Schreiben des neuen Datenträgerabbilds gelöscht. Mithilfe dieser Programme können Sie zum Beispiel Archivierungsvorgänge in Ihrer Infrastruktur automatisieren.
Windows Server 2003 Resource Kit
Windows Server 2003 Resource Kit (Klicken Sie zum Verkleinern auf das Bild)
Windows Server 2003 Resource Kit
Windows Server 2003 Resource Kit (Klicken Sie zum Vergrößern auf das Bild)
Wenn Sie überprüfen müssen, ob ein Konto erfolgreich gesperrt wurde, können Sie dies schnell und problemlos mithilfe des Tools „Account Lockout Status“ ausführen. Dieses Tool verfügt sowohl über eine grafische Benutzeroberfläche als auch über eine Befehlszeilenoption. Das Tool fragt jeden erreichbaren Domänencontroller ab und prüft den Status des Kontos des Zielbenutzers. Als vielleicht eines der besten Tools für die Automatisierung bietet Ihnen Robust File Copy Utility (Robocopy.exe) eine Vielzahl an Optionen für das Verschieben und Kopieren von Dateien. In diesem Tool können Sie mithilfe von Platzhalterzeichen und sogar Dateiattributen Kandidaten für das Kopieren angeben, und für ausgewählte Elemente kann ein rekursives Kopieren festgelegt werden. Sie können das Tool für die Synchronisierung verwenden, und Sie können vorgeben, dass Zieldateien oder Zielverzeichnisse, die aus dem Quellverzeichnis entfernt wurden, gelöscht werden.
Ein weiteres meiner bevorzugten Dienstprogramme ist das einfache Tool „Tail“ (tail.exe), mit dem Sie wie mit dem Linux-/UNIX-Dienstprogramm die letzten N Zeilen einer Datei anzeigen können, wobei die Anzeige beim Hinzufügen neuer Zeilen aktualisiert wird. Dies ist eine hervorragende Möglichkeit zum Debuggen und Überwachen beliebiger Tasks, die in eine Protokolldatei schreiben.
Mit Time It (timeit.exe) können Sie das zeitliche Verhalten von Befehlen steuern. Die Daten werden in einer gesonderten Datenbank gespeichert. Anhand dieser Daten können Sie ermitteln, wie viel Zeit Sie tatsächlich für Verwaltungsaufgaben benötigen.
Beachten Sie, dass die Tools nicht lokalisiert sind und ausschließlich in Englisch geschrieben und getestet wurden. Daher kann es bei der Ausführung möglicherweise zu „unvorhersehbaren Ergebnissen“ kommen. Stellen Sie sicher, dass die Tools auf Ihren nicht auf Englisch basierenden Systemen getestet wurden, bevor Sie eines dieser Dienstprogramme in einer Produktionsumgebung nutzen.
Preis: Kostenloser Download.

Nachverfolgen von Problemen
ASP.NET Issue Tracker
www.ASP.NET/StarterKits/WhitePapers/Issue%20Tracker%20Whitepaper.htm
Es gibt zwei Dinge, die meiner Ansicht nach eine Anwendung auf jeden Fall besser machen: wenn die Anwendung kostenlos ist und wenn die Anwendung anpassbar ist. Der ASP.NET Issue Tracker, der durch die ASP.NET-Onlineentwicklercommunity bereitgestellt wird, verfügt über beide diese Eigenschaften. Entworfen als ein Starter Kit für das Erlernen der Programmierung von Webanwendungen mit dem ASP.NET 1.1-Framework, stellt Issue Tracker ein einfaches, aber nützliches Tool für das Nachverfolgen projektbezogener Probleme dar.
Die Schnittstelle ist einfach gestaltet und ermöglicht Ihnen auf einfache Weise das Anlegen von Projekten, Benutzern und Problemfällen. Die Anwendung unterstützt mehrere Benutzer mit rollenbasierten Berechtigungen, wobei Probleme vor dem Anzeigen durch Unbefugte geschützt werden. Sie können außerdem benutzerdefinierte Problemkategorien für jedes einzelne Projekt und benutzerdefinierte Datenfelder verschiedener Typen erstellen. Tasks können ein Status, eine Priorität und ein Meilenstein zugewiesen werden, um Sie beim Organisieren Ihrer Projekte zu unterstützen.
Ein anderes hervorragendes Feature ist, dass Sie bei der Projekterstellung Ihre eigenen Statuscodes, Prioritäten und Meilensteine für jedes einzelne Projekt festlegen und ein Bild zur Darstellung des Projekts zuweisen können. Der gesamte Code ist als Download verfügbar. Wenn Sie also einen .NET-Entwickler zur Verfügung haben oder den vorhandenen Code selbst analysieren können, können Sie das Starter Kit als Ausgangsbasis für jede benutzerdefinierte Funktionalität nutzen, die Sie benötigen.
Preis: Kostenlos.

Systemüberwachung
NetHealth Sentinel Professional
www.nethealthsys.com
Die Überwachung von Netzwerken und Systemen ist eine äußerst wichtige Aufgabe, und ich bin immer auf der Suche nach Anwendungen, die mir auch aus der Ferne einen Einblick in den Zustand von Systemen bieten. NetHealth Sentinel Professional von NetHealth Systems leistet genau das.
Als eine agentbasierte Lösung gibt Ihnen Sentinel Professional einen tiefen Einblick in überwachte Hostcomputer. Die Anwendung besteht aus vier Komponenten: dem Admin Server, der Admin Console, dem Connection Manager und dem Remote Agent. Der Admin Server führt geplante Tasks aus, speichert Konfigurationsinformationen und sammelt über den Connection Manager Warnungen.
Die Admin Console ist die grafische Schnittstelle zum Admin Server, mit der Sie Ihre überwachten Systeme anzeigen und konfigurieren sowie beliebige geplante Tasks oder Ereignisse konfigurieren können. Der Connection Manager sammelt sämtliche Daten von den Remote Agents – Hostagents, die sich auf Ihrem überwachten System befinden. Der Remote Agent wird als Windows-Dienst ausgeführt und kommuniziert über eine sichere Verbindung mit dem Connection Manager. Jeder Remote Agent kann so konfiguriert werden, dass er Warnungen an einen oder mehrere Connection Manager sendet.
NetHealth Sentinel Professional
NetHealth Sentinel Professional (Klicken Sie zum Verkleinern auf das Bild)
NetHealth Sentinel Professional
NetHealth Sentinel Professional (Klicken Sie zum Vergrößern auf das Bild)
Ein interessantes Feature ist die Aggregation von Ereignissen von allen Computern in einer vorgegebenen Überwachungsgruppe. Die leicht zu bedienende grafische Benutzeroberfläche ermöglicht Ihnen das Ziehen und Ablegen von Datenspalten aus der Ereignisansicht in nach Elementen aufgeteilte Gruppen.
Die Anwendung verfügt außerdem über ein Fenster „Vital Signs“ (Lebenszeichen), in dem Sie sich einen schnellen Überblick über beliebige statistische Größen verschaffen können, die Sie überwachen möchten. Standardmäßig können Sie CPU-, Datenträger- und Speicherverwendung sehen, Sie können aber über die Registerkarte „Monitor“ Zähler Ihrer Wahl hinzufügen.
NetHealth Sentinel Professional verfügt außerdem über ein Feature zum Festlegen von Grundwerten für den „normalen“ Betrieb eines Computers. Wenn bei einem Vorgang einer dieser Grundwerte überschritten wird, werden entsprechende Warnungen ausgelöst.
Preis: 495 $ für ein Paket mit 10 CALs (Client Access License).

Datenverschlüsselung
TrueCrypt
www.truecrypt.org
TrueCrypt von TrueCrypt Foundation ist ein kostenloses Open Source-Schnellverschlüsselungstool. Mit dem korrekten Kennwort oder Verschlüsselungsschlüssel werden Informationen, die Sie lesen möchten, entschlüsselt bzw. Daten, die Sie in den Speicher bzw. von verschlüsselten oder auf verschlüsselte Volumes schreiben möchten, verschlüsselt. Zu keiner Zeit ist Ihr Volume unverschlüsselt. Nur wenn Sie ein Speicherabbild erzeugen, während die Anwendung Daten im Speicher entschlüsselt, könnte ein Angreifer ermitteln, welche Informationen Sie zu schützen versuchen. Dem kann auf einfache Weise begegnet werden, indem Sie das Erzeugen von Speicherabbildern in Ihrem System deaktivieren, ganz zu schweigen davon, dass zu einem bestimmten Zeitpunkt immer nur eine sehr geringe Datenmenge unverschlüsselt im Arbeitsspeicher vorhanden ist.
Die Anwendung unterstützt sowohl virtuelle Volumes als auch physische Partitionen und Geräte. Virtuelle Volumes, von den Autoren „Dateicontainer“ genannt, können mit einer beliebigen Dateierweiterung erstellt werden oder überhaupt keine Dateierweiterung besitzen. Für Unbefugte scheinen Ihre vertraulichen Daten aus zufälligen Daten zu bestehen. Es gibt keine TrueCrypt-„Dateisignatur“.
TrueCrypt
TrueCrypt (Klicken Sie zum Verkleinern auf das Bild)
TrueCrypt
TrueCrypt (Klicken Sie zum Vergrößern auf das Bild)
Außerdem können Sie TrueCrypt im „Reisemodus“ ausführen, was im Wesentlichen bedeutet, dass Sie einen Dateicontainer auf einem USB-Schlüssel zusammen mit den Anwendungsdateien erstellen können. Auf diese Weise können Sie verschlüsselte Daten überall hin mitnehmen, ohne die TrueCrypt-Anwendung auf dem Hostsystem installieren zu müssen. Aufgrund der Natur von Lese-/Schreibvorgängen über den Arbeitsspeicher benötigen Sie jedoch Administratorrechte für das System, auf dem Sie Ihren mobilen Datenträger verwenden möchten.
TrueCrypt verfügt außerdem über einen einfachen Assistenten zum Einrichten Ihres mobilen Datenträgers. Dies wäre eine ideale Möglichkeit, um Ihre Systemadministratorinformationen mit sich zu führen, ohne sich um die Sicherheit Ihrer vertraulichen Unternehmensdaten allzu sehr sorgen zu müssen.
Um eine weitere Sicherheitsstufe zu bieten, können Sie mit TrueCrypt außerdem ein verstecktes Volume innerhalb eines Dateicontainers erstellen. Selbst wenn ein Angreifer Zugriff auf das äußere Volume erlangt, wird er nicht in der Lage sein zu entdecken, dass es ein inneres verstecktes Volume auf dem Datenträger gibt. Jedes Volume wird mit zufälligen Daten initialisiert, wodurch das versteckte Volume, das sich innerhalb des „freien Speicherplatzes“ des äußeren Volumes befindet, nur sehr schwer entdeckt werden kann.
TrueCrypt kann Ihre Daten mithilfe von AES, Blowfish, CAST5, Serpent, Triple DES, Twofish und einigen Kombinationen dieser Algorithmen verschlüsseln. Die Anwendung verwendet den LRW-Betriebsmodus für die Verschlüsselung. Dieser Modus wird ein IEEE-Standard für sektorbasierte Speicherverschlüsselung werden. Für den Headerhashalgorithmus können Sie die Verwendung von Whirlpool, SHA-1 oder RIPEME-160 auswählen, und als zusätzliche Sicherheitsstufe speichert die Anwendung keinen Hashwert auf Ihrem System. Die Anwendung unterstützt die Dateisysteme FAT12, FAT16, FAT32 und NTFS, aber wie bei anderen Windows-basierten Dienstprogrammen für die Sektorverschlüsselung kann die Anwendung keine Windows-Startpartition verschlüsseln.
Preis: Kostenlos.

Buchbesprechung
Hacking Web Services
www.charlesriver.com
Das Buch Hacking Web Services von Shreeraj Shah (Charles River Media, 2006) ist eine wertvolle Ressource für Personen, die mit der Entwicklung, Bereitstellung oder Unterstützung von Webdiensten beschäftigt sind. Das Buch ist ein gut organisierter, allgemeiner Sicherheitsratgeber für Webdienste und ihre Komponententechnologien. Es wird genau geschildert, was dazugehört, um die Webdienste in Ihrer Infrastruktur und mithilfe Ihrer Entwicklungsverfahren zu schützen.
Das Buch beginnt mit einer verhältnismäßig detaillierten Einführung in Webdienste. Eine Fallstudie mit dem Titel „The Consequences of Procrastination“ informiert über die Leistungsstärke vorbeugender Sicherheitsverfahren und die Nachteile reaktiver Systeme. Im Kapitel mit dem Titel „Web Services Scanning and Enumeration“ wird diskutiert, wie Sie mithilfe von wsChess, einem auf .NET basierenden Sicherheitstoolkit für Webdienste (net-square.com/wschess/index.shtml), Webdienste konfigurieren und überwachen können.
Zum Buch gehört eine CD mit Dienstprogrammen, auf der sich auch eine auf .NET basierende Beispielanwendung mit dem Namen „SOAPWall“ befindet. Diese Beispielanwendung zeigt Ihnen, wie Injektionszeichen und Pufferüberläufe in Ihren .NET-Webdiensten blockiert werden können. Außerdem stellt die CD Demos von verschiedenen Arten von Webdienstangriffen bereit.
Preis: $49.95.
Das Buch Hacking Web Services von Shreeraj Shah (Charles River Media, 2006) ist eine wertvolle Ressource für Personen, die mit der Entwicklung, Bereitstellung oder Unterstützung von Webdiensten beschäftigt sind. Das Buch ist ein gut organisierter, allgemeiner Sicherheitsratgeber für Webdienste und ihre Komponententechnologien. Es wird genau geschildert, was dazugehört, um die Webdienste in Ihrer Infrastruktur und mithilfe Ihrer Entwicklungsverfahren zu schützen.
Das Buch beginnt mit einer verhältnismäßig detaillierten Einführung in Webdienste. Eine Fallstudie mit dem Titel „The Consequences of Procrastination“ informiert über die Leistungsstärke vorbeugender Sicherheitsverfahren und die Nachteile reaktiver Systeme. Im Kapitel mit dem Titel „Web Services Scanning and Enumeration“ wird diskutiert, wie Sie mithilfe von wsChess, einem auf .NET basierenden Sicherheitstoolkit für Webdienste (net-square.com/wschess/index.shtml), Webdienste konfigurieren und überwachen können.
Zum Buch gehört eine CD mit Dienstprogrammen, auf der sich auch eine auf .NET basierende Beispielanwendung mit dem Namen „SOAPWall“ befindet. Diese Beispielanwendung zeigt Ihnen, wie Injektionszeichen und Pufferüberläufe in Ihren .NET-Webdiensten blockiert werden können. Außerdem stellt die CD Demos von verschiedenen Arten von Webdienstangriffen bereit.
Preis: $49.95.

Kontaktaufnahme mit Toolbox
Wenn Sie ein Lieblingswerkzeug oder -dienstprogramm haben, das Ihrer Meinung nach hier vorgestellt werden sollte, dann schreiben Sie eine E-Mail (in englischer Sprache) an den Autor unter tntools@microsoft.com.

Die in diesem Artikel ausgedrückten Meinungen sind ausschließlich die des Autors und spiegeln nicht zwangsläufig die Meinungen von Microsoft wider. Alle Preise wurden zum Zeitpunkt der Drucklegung bestätigt. Änderungen vorbehalten.

Greg Steen ist Technologieexperte, Unternehmer und Enthusiast. Er ist immer auf der Suche nach neuen Hilfsmitteln und Methoden, die die Arbeitsprozesse und Entwicklung von IT-Profis erleichtern.


 Schwerpunkt Dienstprogramme: Internet Explorer Administration Kit
Schwerpunkt Dienstprogramme
Internet Explorer Administration Kit
Lance Whitney
Laden Sie den Code für diesen Artikel herunter: Schwerpunkt Dienstprogramme: Internet Explorer Administration Kit 7 (KB)

Ihr IT-Abteilungsleiter hat Sie gebeten, in der gesamten Organisation die aktuelle Version von Internet Explorer 7 zu installieren. Die Frist ist eng gesteckt, das Budget ist schmal, und die Anforderungen sind zahlreich. Sie benötigen ein benutzerdefiniertes Paket, mit dem bei allen Benutzern die gleichen Features und Einstellungen installieren werden. Sie müssen außerdem, wann immer notwendig, diese Einstellungen ändern können.
Zusätzlich müssen Sie Internet Explorer® so sperren, dass Benutzer die Einstellungen nicht ändern können. Wie können Sie diese Art von Installationspaket für Internet Explorer schnell und auf einfache Weise erstellen und liefern?
Ihre Rettung ist der Internet Explorer Administration Kit (IEAK) von Microsoft. Dieses kostenlose Konfigurationstool wurde geschaffen, um IT-Administratoren, Entwicklern, Internetdienstanbietern und anderen beim Erstellen benutzerdefinierter Installationspakete für Internet Explorer zu unterstützen. Yahoo! hat die Betaversion von IEAK 7 genutzt, um ein benutzerdefiniertes Paket für Internet Explorer 7 zu erstellen, das von der Yahoo!-Website heruntergeladen werden kann.
Der mit IEAK erstellte Build für Internet Explorer 7 beinhaltet ausschließlich die von Ihnen vorgegebenen Features und Optionen. Sie können bestimmte Sicherheitseinstellungen aktivieren und beliebige Steuerelemente sperren, von denen Sie nicht möchten, dass Benutzer auf sie zugreifen können.
Nachdem Internet Explorer bereitgestellt wurde, können jene Personen, die über Active Directory® verfügen, natürlich mithilfe von Gruppenrichtlinien die Browsereinstellungen kontrollieren und aktualisieren. Wenn Sie möchten, können Sie mithilfe von IEAK die vielfältigen Einstellungen von Internet Explorer verwalten.
IEAK 7 ist benutzerfreundlicher als vorherige Versionen, da eine einfache grafische Schnittstelle für das Erstellen Ihres Internet Explorer-Pakets bereitgestellt wird. Bei der Auswahl der Features und Optionen, die in Ihrem Build enthalten sein sollen, erhalten Sie schrittweise Bildschirmanweisungen.
Die neue Version von IEAK enthält einige Änderungen gegenüber früheren Versionen. Einige Optionen wurden neu hinzugefügt, andere wurden entfernt. Sie können nun Standard-RSS-Webfeeds in Ihren Internet Explorer-Build einfügen, auf mehr als eine Homepage und eine Suchseite verweisen und Unterstützung für einen Antiphishingfilter hinzufügen. Sie können auch das Microsoft® Windows®-Tool zum Entfernen schädlicher Software auf Ausführung und Aktualisierung einstellen. Sie können mit IEAK jedoch nicht mehr Outlook® Express und Windows Media® Player anpassen, da diese Anwendungen nicht Bestandteil von Internet Explorer 7 sind.
Sie können ein Internet Explorer-Paket für 32-Bit-Plattformen oder 64-Bit-Plattformen erstellen – Windows XP mit Service Pack 2 (SP2), Windows Server® 2003 mit SP1 oder Windows Vista™ – x86-, x64- oder Itanium-basiert. Bevor Sie IEAK 7 ausführen, muss Internet Explorer 7 auf dem PC installiert werden, auf dem Sie das Paket erstellen möchten. Aus Gründen der Kompatibilität sollten Sie IEAK auf einem Computer mit dem gleichen Betriebssystem erstellen, wie dem, das auf den Computern ausgeführt wird, auf denen der Build installiert werden soll.
In dieser Rubrik werde ich erläutern, wie Sie mithilfe von IEAK Ihr Internet Explorer 7-Installationspaket erstellen und die Browsereinstellungen warten und aktualisieren können.

So erhalten Sie IEAK 7
Sie können die aktuelle Version von IEAK 7 kostenlos unter microsoft.com/technet/prodtechnol/ie/ieak7 herunterladen. Außerdem stellt diese Seite interessante Dokumente und Anmerkungen zur IEAK-Version bereit.
Wenn Sie IEAK 7 mithilfe der heruntergeladenen Datei „ieak.msi“ installieren, werden Sie gefragt, welche Art Lizenz zu verwenden ist. Dies ist von Ihrer Rolle abhängig. Sie können die Installation als Internetdienstanbieter, Inhaltsanbieter bzw. Entwickler oder über ein Firmennetzwerk vornehmen. Die Bildschirmanweisungen, die Sie sehen werden, und die Art des Pakets, das Sie erstellen, unterscheiden sich in Abhängigkeit von der hier ausgewählten Rolle. Wenn Sie den Build für eine Geschäftsumgebung erstellen, müssen Sie daher unbedingt die Rolle und die Lizenz für ein Firmennetzwerk auswählen. Nach der Installation von IEAK erscheint im Startmenü eine neue Programmgruppe namens „Microsoft IEAK 7“, die drei Elemente enthält: die IEAK-Hilfe, den IEAK-Profil-Manager und den Assistenten zum Anpassen von Internet Explorer.
Sie werden Ihr Installationspaket mithilfe des Assistenten zum Anpassen von Internet Explorer erstellen. Der Umgang mit diesem Assistenten ist recht einfach, da Sie anhand einzelner Bildschirme durch den Entwurfsprozess für Ihr Paket geführt werden. Um zu wissen, wie jede einzelne Option konfiguriert werden muss, ist allerdings ein fundiertes Wissen über Features und Steuerelemente in Internet Explorer erforderlich. Glücklicherweise kann IEAK 7 auch hier helfen. Die integrierte Hilfe zu den Tools ist nun detaillierter und anschaulicher als in vorherigen Versionen. Auf jedem Bildschirm des Assistenten zum Anpassen von Internet Explorer gibt es eine Schaltfläche „Hilfe“, mit der eine Erläuterung zu den einzelnen Einstellungen und Optionen des jeweiligen Bildschirms angezeigt werden kann. Über die Verknüpfung „IEAK-Hilfe“ oder über die Datei „ieakhelp.chm“ in „C:\Programme\Microsoft IEAK 7“ können Sie auf die gesamte IEAK-Hilfe zugreifen. Ich empfehle das Lesen der Dokumentation, bevor Sie Ihren Build erstellen, damit Sie sich ein Verständnis der einzelnen Komponenten erarbeiten und einen Plan der benötigten Optionen aufstellen können.
Der Assistent zum Anpassen teilt das Erstellen des Pakets in die folgenden fünf verschiedenen Schritte auf:
  1. Sammeln von Informationen
  2. Angeben der Setupparameter
  3. Anpassen der Setupfunktionalität
  4. Anpassen des Browsers
  5. Zusätzliche Anpassungen
Microsoft hat die Anzahl der Bildschirme optimiert, mit denen Sie sich in IEAK 7 befassen müssen. Dadurch ist der Prozess verständlicher und weniger fehleranfällig als in früheren Versionen. Der Assistent zum Anpassen zeigt jedoch noch Dutzende von Bildschirmen an, in denen Sie die Optionen für Ihr Paket auswählen müssen. Daher werde ich in dieser Rubrik nicht jeden einzelnen Bildschirm detailliert erläutern. Viele dieser Bildschirme sind selbsterklärend, und ich habe ja bereits erläutert, wie Sie bei schwierigeren Bildschirmen auf die Hilfe zugreifen können. Stattdessen werde ich eine kurze Beschreibung dessen geben, was in den einzelnen Schritten geschieht, und einige der wichtigeren Bildschirme vorstellen.
Schritt 1 Sammeln von Informationen Hier entscheiden Sie, wo das Installationspaket gespeichert werden soll, unter welchem Betriebssystem und auf welcher Plattform das Paket ausgeführt werden soll, auf welche Art und Weise Internet Explorer bereitgestellt werden soll und welche Optionen anzupassen sind. In diesem Schritt können Sie aus drei Bereitstellungsmethoden für Internet Explorer 7 auswählen (siehe Abbildung 1) – „File“, wobei eine einfache Verzeichnisstruktur mit den Dateien erstellt wird, aus denen Ihr Build besteht; „CD-ROM“, wodurch ein Installationsdatenträger erstellt wird (sinnvoll, wenn Sie Remotebenutzer unterstützen); und „Configuration-only“- oder „Branding-only“-Paket, wodurch Ihre benutzerdefinierten Einstellungen auf eine bereits vorhandene Installation von Internet Explorer 7 angewendet werden. Sie könnten die letzte Option für Windows Vista verwenden, wenn Internet Explorer 7 bereits installiert ist und Sie Ihre eigenen Anpassungen auf Internet Explorer anwenden möchten.
Abbildung 1 Festlegen einer Bereitstellungsmethode
Abbildung 1 Festlegen einer Bereitstellungsmethode (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 Festlegen einer Bereitstellungsmethode
Abbildung 1 Festlegen einer Bereitstellungsmethode (Klicken Sie zum Vergrößern auf das Bild)
In diesem Schritt geben Sie außerdem an, welche Sprache für Ihren Build zu verwenden ist. Sie können für jede Sprache, die Sie unterstützen müssen, lokalisierte Versionen von Internet Explorer 7 erstellen.
Schritt 2 Angeben der Setupparameter Hier laden Sie die neuesten Komponenten und Updates für Internet Explorer herunter, um Ihr Paket zu erstellen.
Schritt 3 Anpassen der Setupfunktionalität In diesem Schritt wählen Sie die Installation aus, die Ihre Benutzer erhalten werden – „Interactive“ (wobei der Benutzer während der Installation Auswahlmöglichkeiten erhält), „Hands-free“ (wobei der Benutzer den Installationsvorgang sehen, jedoch nicht eingreifen kann) oder „Completely Silent“ (wobei die Installation vollständig im Hintergrund ohne Benutzereingriff ausgeführt wird). Wenn Sie eine CD-ROM erstellen, werden Sie in diesem Schritt aufgefordert, eine Startseite und andere Elemente für die CD zu erstellen.
Schritt 4 Anpassen des Browsers Hier passen Sie das Erscheinungsbild von Internet Explorer an, legen die URLs für Homepage, Supportseite und Favoriten fest, konfigurieren Ihre Proxyeinstellungen und richten die Sicherheits- und Datenschutzeinstellungen für den Browser ein. In diesem Schritt können Sie außerdem den Namen und den Ort für eine Autokonfigurationsdatei oder eine Datei für Interneteinstellungen (INS) vorgeben, mit der Sie Ihre Browsereinstellungen verwalten können, wenn Sie nicht vorhaben, Gruppenrichtlinien zu verwenden.
Das INS-Datei ist eine einfache Textdatei, die alle wichtigen Browsereinstellungen enthält, von Homepage über Favoriten und Sicherheitsoptionen bis zur Proxykonfiguration. Sie speichern diese INS-Datei auf einem internen Webserver. Jeder PC greift dann auf diese Datei zu, um seine Browsereinstellungen abzurufen. Wenn Sie später eine Einstellung ändern müssen, bearbeiten Sie einfach die INS-Datei, und Ihre Benutzer empfangen automatisch diese Änderung. Sie können die Häufigkeit angeben, mit der die Einstellungen aktualisiert und angewendet werden.
In diesem Schritt besteht außerdem die Gelegenheit zum Einrichten von Proxyservern, entweder durch manuelles Eingeben der entsprechenden IP-Adressen und Portnummern oder durch Erstellen und Angeben des Namens einer JScript®-Datei (JS), einer Javascript-Datei (JVS) oder einer Proxy-Autokonfigurationsdatei (PAC) mit den entsprechenden Proxyinformationen. Codebeispiele für diese Dateien finden Sie in der IEAK-Hilfe. Sie können diese Beispiele für das Erstellen der genannten Dateien verwenden.
Wenn Sie ein Internet Explorer 7-Paket unter und für Windows Vista entwerfen, können Sie außerdem den geschützten Modus aktivieren. Sie aktivieren einfach nur den geschützten Modus in Internet Explorer 7 auf Ihrem Referenz-PC und importieren dann diese Einstellung in IEAK.
Schritt 5 Zusätzliche Anpassungen Abschließend legen Sie in diesem Schritt Benutzerrichtlinien und Sicherheitseinschränkungen für Ihren Build fest. Sie können selektiv einzelne Einstellungen sperren, von denen Sie nicht möchten, dass die Benutzer diese Einstellungen sehen oder ändern. Abbildung 2 zeigt den Bildschirm für zusätzliche Einstellungen mit fünf Kategorien an Steuerelementen, die Sie aktivieren oder deaktivieren können. Die Einstellungen in diesen Bildschirmen sind den fünf ADM-Vorlagen für Internet Explorer 7 entnommen, die installiert werden, nachdem Sie in Schritt 2 des Assistenten die aktuellen Browserkomponenten heruntergeladen haben. Wenn Sie Gruppenrichtlinien verwenden, können Sie diesen Schritt weglassen. Andernfalls können Sie die Optionen in den fünf Kategorien konfigurieren. Da diese Kategorien direkt den ADM-Vorlagen entnommen wurden, können Sie diese Kategorien auch durch Bearbeiten der einzelnen ADM-Dateien in einem Texteditor ändern, um Ihre eigenen benutzerdefinierten Steuerelemente hinzuzufügen. Die ADM-Dateien befinden sich unter „C:\Programme\Microsoft IEAK 7\policies“ in verschiedenen Unterverzeichnissen für die einzelnen Windows-Betriebssysteme und -Plattformen. Abbildung 3 zeigt die fünf Kategorien mit einer entsprechenden kurzen Beschreibung.
Figure 3 Kategorien im Bildschirm für zusätzliche Einstellungen (Close Figure 3)

Kategorie | Beschreibung
Control Management (Steuerelementverwaltung) | In dieser Kategorie können Sie bestimmte ActiveX-Steuerelemente aktivieren oder deaktivieren. Die Einstellungen in dieser Kategorie gelten nicht für Windows Vista, sondern lediglich für Windows XP und Windows Server 2003.
Custom Settings (Benutzerdefinierte Einstellungen) | Diese Kategorie zeigt Sicherheitseinstellungen an. Sie können bestimmte Steuerelemente und Aktionen anhand von Zonen („Internet“, „Intranet“, „Vertrauenswürdige Sites“ oder „Eingeschränkte Sites“) aktivieren oder deaktivieren.
Corporate Settings (Firmeneinstellungen) | In dieser Kategorie können Sie die Größe und die Parameter für den Browsercache festlegen.
Corporate Restrictions (Firmeneinschränkungen) | Hier können Sie bestimmte Steuerelemente und Bildschirme in Internet Explorer sperren, damit Ihre Benutzer diese nicht sehen können. Diese Einstellungen gelten nicht für Windows Vista, sondern lediglich für Windows XP und Windows Server 2003.
Internet Settings (Interneteinstellungen) | Diese Kategorie bietet Optionen für AutoComplete, Anzeigegröße und erweiterte Einstellungen, die im Menü „Internetoptionen“ von Internet Explorer angezeigt werden.
Abbildung 2 Anpassen der Features von Internet Explorer
Abbildung 2 Anpassen der Features von Internet Explorer (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Anpassen der Features von Internet Explorer
Abbildung 2 Anpassen der Features von Internet Explorer (Klicken Sie zum Vergrößern auf das Bild)

Überprüfen des Builds
Nachdem Sie die Bildschirme im Assistenten zum Anpassen abschließend bearbeitet haben, wird Ihr Paket an dem Ort, den Sie in Schritt 1 angegeben haben, oder standardmäßig unter „C:\builds“ erstellt. In diesem Verzeichnis befindet sich auch das Zielverzeichnis. IEAK verwendet das aktuelle Datum als Verzeichnisnamen, z. B. 01012007 für den 1. Januar 2007. In diesem Verzeichnis werden zwei Unterverzeichnispfade angelegt, einer mit dem Namen „INS“ und ein weiterer mit dem Namen der von Ihnen gewählten Bereitstellungsmethode – „FLAT“, „CD“ oder „BrndOnly“.
Das Verzeichnis „INS“ dient als Arbeitsbereich oder Repository, in dem der Verlauf Ihrer Anpassungen nachverfolgt wird, während Sie Ihr Paket erstellen. In einer Textdatei mit dem Namen „install.ins“ in diesem Verzeichnis werden alle von Ihnen vorgenommenen Einstellungen gespeichert. Wenn Sie den Assistenten zum Anpassen neu starten, werden die zuvor vorgenommenen Auswahlen automatisch aus dieser Datei übernommen.
In den Verzeichnissen „FLAT“, „CD“ bzw. „BrndOnly“ werden die eigentlichen Installationsdateien gespeichert. An jedem dieser drei Speicherorte gibt es ein Unterverzeichnis, das nach Betriebssystem und Plattform benannt ist, beispielsweise „WIN32“ für die 32-Bit-Version von Windows XP oder Windows Vista. Das endgültige Unterverzeichnis ist nach der von Ihnen für das Paket verwendeten Sprache benannt, beispielsweise „EN“ für Englisch. Wenn Sie z. B. am 1. Januar 2007 einen Build mit der Bereitstellungsmethode „Flat“ für 32-Bit-Windows auf Englisch erstellt haben, wäre der Verzeichnispfad für diesen Build „c: \builds\01012007\FLAT\WIN32\EN“.
Um die mit der Bereitstellungsmethode „Flat“ erstellte Installation zu suchen, durchsuchen Sie die Verzeichnisstruktur „FLAT“, bis Sie die Datei „IE7Setup.exe“ im Sprachenunterverzeichnis sehen. Dies ist eine selbstextrahierende EXE-Datei, die alle Binär- und Konfigurationsdateien enthält, aus denen Ihr Build besteht. Diese Datei ist alles, was Sie benötigen, um das gewünschte Internet Explorer 7-Paket bereitzustellen. (Die Dateien im Verzeichnis „INS“ sind für die Installation nicht erforderlich.) Sie können diese einzelne Datei auf den Bereitstellungsserver kopieren, um das Paket zu testen, und anschließend, wenn alles in Ordnung ist, bei den Benutzern installieren.
Wenn Sie sich für eine Bereitstellung mittels CD-ROM entschieden haben, müssen Sie den gesamten Inhalt des Verzeichnisses „CD“ auf die CD kopieren. Dazu gehören eine Datei „autorun.ini“, die automatisch generiert wurde, und ein Verzeichnis mit der ausführbaren Datei, die Internet Explorer von der CD installiert.
Wenn Sie ein „Configuration-only“-Paket oder ein „Branding-only“-Paket erstellt haben, durchsuchen Sie die Verzeichnisstruktur „BrndOnly“, bis Sie die Datei „Setup.exe“ im Sprachenunterverzeichnis sehen. Dies ist eine selbstextrahierende EXE-Datei, die Sie auf Ihren Bereitstellungsserver zwecks Bereitstellung kopieren können.

Verwalten Ihrer Einstellungen
Ihr Internet Explorer 7-Paket enthält sämtliche Features und Einstellungen, die Sie anfangs brauchen. Aber was ist zu tun, wenn Sie eine Option ändern müssen? Sie haben zwei Möglichkeiten. Wenn Sie über Active Directory verfügen, können Sie die Browsereinstellungen mithilfe von Gruppenrichtlinien aktualisieren. Andernfalls stellt IEAK ein Tool mit dem Namen „Profil-Manager“ zum Ändern der Einstellungen zur Verfügung. Werfen wir zuerst einen kurzen Blick auf die Gruppenrichtlinien.
Die Verwendung von Gruppenrichtlinien ist die beste Methode zum Verwalten von Internet Explorer, da alle Browsereinstellungen unterstützt werden. Bei früheren Versionen von IEAK und Internet Explorer mussten Sie ADM-Dateien und IEM-Dateien (Internet Explorer Maintenance) Ihrer Gruppenrichtliniekonsole hinzufügen, um alle Einstellungen für Internet Explorer einzuarbeiten. Bei Internet Explorer 7 sind jedoch alle notwendigen Gruppenrichtlinieneinstellungen zur Wartung und zum Aktualisieren des Browsers in Windows XP SP2 und Windows Vista enthalten.
Wenn Sie den Gruppenrichtlinien-Editor (gpedit.msc) starten, werden Sie unter „Administrative Vorlagen | Windows-Komponenten | Internet Explorer“ alle erforderlichen Einstellungen für Internet Explorer 7 finden.
Verwenden von IEAK-Profil-Manager Mit dem IEAK-Profil-Manager erstellen und erzeugen Sie die Datei für die Autokonfiguration, die INS-Datei. In dieser Datei werden die Einstellungen für Internet Explorer 7 gespeichert. Der Profil-Manager fordert Sie zu Beginn auf, eine INS-Datei zu laden oder eine neue INS-Datei zu erstellen. Sie könnten von vorn beginnen und eine neue INS-Datei mit den gleichen Einstellungen erstellen, die Sie im Assistenten zum Anpassen konfiguriert haben. Aber warum die gleiche Arbeit zweimal machen? Als Sie Ihr Paket erstellt haben, hat IEAK die Standarddatei „install.ins“ angelegt, um die Browsereinstellungen zu speichern. Statt im Profil-Manager eine neue INS-Datei zu erstellen, verwenden Sie die Datei „install.ini“. Um diese Datei zu laden, durchsuchen Sie den Pfad „INS“ im Verzeichnis Ihres Builds, z. B. „c: \builds\01012007\INS“. Durchsuchen Sie die Unterverzeichnisse, bis Sie die Datei sehen.
Der Profil-Manager teilt seine Einstellungen in zwei Abschnitte auf (siehe Abbildung 4). Die Einstellungen des Assistenten umfassen Browseroptionen wie z. B. Homepage, Proxyeinstellungen und Sicherheitszonen. Diese Einstellungen entsprechen den Einstellungen aus den Schritten 3 bis 5 im Assistenten zum Anpassen. Der Abschnitt „Richtlinien und Einschränkungen“ kontrolliert Benutzereinschränkungen und entspricht den Einstellungen aus den fünf Kategorien für Richtlinien und Einschränkungen aus Schritt 5 im Assistenten zum Anpassen.
Abbildung 4 Konfigurieren von Internet Explorer mit dem Profil-Manager
Abbildung 4 Konfigurieren von Internet Explorer mit dem Profil-Manager (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 4 Konfigurieren von Internet Explorer mit dem Profil-Manager
Abbildung 4 Konfigurieren von Internet Explorer mit dem Profil-Manager (Klicken Sie zum Vergrößern auf das Bild)
Da Sie diese Einstellungen bereits beim Erstellen Ihres Pakets definiert haben, sollten Sie nichts ändern müssen. Dies ist jedoch eine gute Gelegenheit, alle für Ihr Paket ausgewählten Einstellungen zu überprüfen, um sicherzustellen, dass die Einstellungen korrekt sind.
Nachdem Sie die Einstellungen im Profil-Manager überprüft haben, speichern Sie die Datei „install.ins“ an einem beliebigen anderen Ort, und kopieren Sie die Datei anschließend auf einen internen Webserver. Dazu müssen Sie den UNC-Pfad (Universal Naming Convention) des Servers eingeben, den gleichen Pfad, den Sie im Bildschirm für die automatische Konfiguration in Schritt 4 im Assistenten zum Anpassen angegeben haben. Außerdem werden Sie aufgefordert, eine CAB-Datei zusammen mit der INS-Datei zu speichern (siehe Abbildung 5). Warum? Wenn Sie die Einstellungen von Internet Explorer 7 mit dem Profil-Manager ändern, muss IEAK in den meisten Fällen Registrierungseinträge zu den Windows-Clients herunterladen. Diese Einträge sind in INF-Dateien gespeichert, die dann in einer CAB-Datei gespeichert werden. Wenn sich die Versionsnummer der INS-Datei aufgrund neuer Anpassungen ändert, wird eine neue CAB-Datei für das Herunterladen generiert. Speichern Sie die CAB-Datei am gleichen Ort auf Ihrem Webserver wie Ihre INS-Datei.
Abbildung 5 Speichern der Autokonfigurationsdateien
Abbildung 5 Speichern der Autokonfigurationsdateien (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 5 Speichern der Autokonfigurationsdateien
Abbildung 5 Speichern der Autokonfigurationsdateien (Klicken Sie zum Vergrößern auf das Bild)
Sie sollten jetzt Kopien der INS-Datei und der CAB-Datei erstellen und diese Dateien an verschiedenen Orten auf Ihrem Webserver speichern. Sehen Sie diese Kopien sowohl als Sicherungskopien als auch als Testkopien an. Wenn Sie in Zukunft die Einstellungen von Internet Explorer mithilfe des Profil-Managers ändern, können Sie Ihre Test-INS-Datei laden und ändern, um vor der Bearbeitung der echten INS-Datei die Änderungen zu testen.
Das Ändern einer Browsereinstellung oder eines Steuerelements mithilfe des Profil-Managers ist eine einfache Sache. Wählen Sie einfach die entsprechende Kategorie aus, und Sie können beliebige Optionen der Kategorie aktivieren oder deaktivieren. Nachdem Sie die Änderungen vorgenommen haben, speichern Sie die INS-Datei erneut, und kopieren Sie die Datei wieder auf den Server.
Noch eine Empfehlung: Die INS-Datei ist eine einfache Textdatei. Sie können die Datei in Editor öffnen, um die Einstellungen anzuzeigen. Können Sie die INS-Datei auch in Editor bearbeiten? Sie können, und die Einstellungen würden auch wirksam werden. Jedoch bietet die Änderung von Einstellungen mithilfe des Profil-Managers einige Vorteile. Der Profil-Manager generiert automatisch eine CAB-Datei, wenn eine solche Datei benötigt wird, und er versieht die INS-Datei jedes Mal, wenn sie geändert wird, mit einer neuen Versionsnummer. Daher sollten Sie die INS-Datei immer mithilfe des Profil-Managers ändern.

Schlussbemerkung
IEAK ist ein wirksames Tool, um den Build für Internet Explorer 7 schnell und effizient zu erstellen und anzupassen. Die aktuelle Version, IEAK 7, bietet mehrere Verbesserungen im Vergleich zu vorherigen Versionen (anschaulichere Bildschirme, nützlichere Hilfe), um Sie beim Entwerfen Ihres Installationspakets zu unterstützen. Durch das Verstehen und Verwenden von IEAK sollen Sie in der Lage sein, eine zuverlässige Internet Explorer 7-Installation für Ihre Benutzer bereitzustellen. Gleichzeitig wird auch Ihr IT-Abteilungsleiter zufrieden sein.
Automatische Bereitstellung von Internet Explorer 7
Microsoft plant, Internet Explorer 7 kurz nach der Veröffentlichung der endgültigen Version auch als wichtiges Update über „Automatische Updates“ und über die Windows Update- und Microsoft Update-Websites bereitzustellen. Das kann für Sie als Administrator, in Abhängigkeit von Ihrer Umgebung, ein Problem darstellen. Wenn Ihre Benutzer nicht über lokale Administratorrechte verfügen, werden sie dieses Update nicht erhalten. Wenn Sie außerdem Ihre Umgebung mithilfe von Microsoft Systems Management Server (SMS) oder Windows Server Update Services (WSUS) verwalten, kontrollieren Sie bereits die Updates, die Ihre Benutzer erhalten. Wenn aber einige oder alle Ihre Benutzer über lokale Administratorrechte verfügen und Sie kein System für die Verwaltung von Updates nutzen, müssen Sie möglicherweise das Update auf Internet Explorer 7 blockieren. Microsoft hat ein entsprechendes Toolkit, Internet Explorer 7 Blocker Toolkit, erstellt. Dieses Toolkit (verfügbar im Microsoft Download Center) beinhaltet sowohl eine Gruppenrichtlinienvorlage als auch ein Skript, das einen Registrierungsschlüssel einrichtet, durch den das Ausführen des Updates auf Internet Explorer 7 verhindert wird.

Lance Whitney ist IT-Berater, Schulungsleiter und Autor technischer Artikel. Er hat Installationspakete für Internet Explorer seit Version 4.0 erstellt und unterstützt. Von Hause aus Journalist, hat er vor etwa 15 Jahren den Sprung in das kalte Wasser der IT-Welt getan.


 Fragen und Antworten zu SQL-Server: Datenarchivierung, verkn&#252;pfte Server, Messung der Bandbreite und mehr
Fragen und Antworten zu SQL-Server
Datenarchivierung, verknüpfte Server, Messung der Bandbreite und mehr
Herausgegeben von Nancy Michell

Datenarchivierung
F Ich benötige für meine Gruppe eine vollständige Strategie zur Datenarchivierung. Mein derzeitiger Ansatz basiert auf dem Standardmodell der Datensicherung und der anschließenden Anwendung von Programmen zur Bereinigung von Verlaufsdaten. Wenn die Daten abgerufen werden müssen, werden die Umgebung und die Datenbank wiederhergestellt.
Ich suche nach einer Archivierungslösung, die in Stufen durchgeführt werden kann. In Stufe 1 sollen die Daten aus der Datenbank bereinigt werden, aber immer noch in Echtzeit verfügbar sein. Mit anderen Worten, die Daten werden entfernt, damit die Größe der Produktionsdatenbank überschaubar ist. Endbenutzer sollten aber immer noch in der Lage sein, auf die Datenbank zuzugreifen. In Stufe 2 sollen die Daten vollständig entfernt werden, für einen weiteren Zugriff wäre dann eine Wiederherstellung notwendig. Wie kann ich das erreichen?
A Die einfachste Möglichkeit wäre, die archivierte Kopie der Datenbank wiederherzustellen und die Anwendung anschließend so anzupassen, dass sie auf die neue bereinigte oder auf die alte unbereinigte Datenbank zugreift, wenn der Benutzer dies wünscht. Als Ergebnis erhalten Sie eine Kopie der Datenbank für jede Bereinigungsphase.
Wenn Datenänderungen langsam sind und die meisten der Daten sich zwischen den Bereinigungen nicht ändern, kann es sein, dass Sie letztlich recht viele Überschneidungen erhalten und Platz verschwenden. Da andererseits recht selten auf sie zugegriffen wird, reicht es wahrscheinlich aus, wenn Sie diese archivierten Daten auf einigen wenigen großen, langsameren, preisgünstigeren Laufwerken unterbringen (anstatt auf vielen kleinen, schnellen, teuren) Wenn die Daten in jeder Phase. vollständig aktualisiert werden, ist das für Sie eine gute Lösung. Dieser Prozess sollte recht einfach zu handhaben und narrensicher sein.
Sehen Sie sich auch die Möglichkeiten an, die Ihnen durch die Verwendung von Datenbanksnapshots zur Verfügung stehen, da diese Ihnen gestatten, ein Replikat der Datenbank zu einem bestimmten Zeitpunkt zu erstellen, bevor die alte Datenbank bereinigt wird. Die Snapshots können zwar in einigen Fällen gut funktionieren, doch haben sie auch verschiedene Auswirkungen. Datenbanksnapshots sind "Kopien beim Schreiben" und behalten Änderungen zwischen der Originaldatenbank und dem Zeitpunkt, zu dem der Snapshot erstellt wird, bei. Falls es gegenüber dem Original viele Änderungen gibt, kann der Snapshot recht groß werden.
In gewisser Hinsicht ist der Datenbanksnapshot das Gegenteil von Sicherung und Wiederherstellung. Die erste Möglichkeit ist sinnvoll, wenn Sie nur wenige Änderungen erwarten, da nur Deltas gespeichert werden, während die zweite Möglichkeit geeignet ist, wenn Sie viele Änderungen erwarten. In diesem Fall geht der Vorteil der Speicherplatzeinsparung durch die "Kopie beim Schreiben" unter, während die Schwierigkeit der Verwaltung der Snapshots bestehen bleibt.
Als Alternative können Sie die Tabellenpartitionierung verwenden. Damit können Sie bestimmte Tabellen nehmen, Schlüsselwertbereiche als zu bestimmten Partitionen gehörend festlegen und dann diese Partitionen verschiedenen Dateigruppen zuordnen. Sobald Sie die Kontrolle darüber haben, welche Daten welcher Dateigruppe zugeordnet werden, können Sie die zugehörigen Kosten besser steuern. Die können entscheiden, welche Dateigruppen auf welchen physischen Laufwerken gespeichert (siehe vorherige Anmerkung in Bezug auf preiswerte im Vergleich zu teuren Laufwerken) und welche Dateigruppen wie oft gesichert werden sollen. Wenn Sie einen Schreibschutz für diese Dateigruppen festlegen, können Sie auch Teilsicherungen verwenden.

Datenbankmenge
F Unser Unternehmen möchte gerne eine Anwendung implementieren und hosten, die voraussichtlich 5.000 unserer Kunden betreut. Wir würden gerne eine Datenbank pro Kunde implementieren, um Vertraulichkeit zu gewährleisten. Würden die Ressourcen des Servers bei einer gegebenen Daten- und Indexgröße, Anzahl von Benutzerverbindungen und Auslastung bei einer oder bei 5.000 Datenbanken weniger effizient genutzt werden?
A Unabhängig davon, wie groß ihre Belegschaft ist, wird es schwierig sein, dieselbe Codebasis zwischen den Datenbanken zu erhalten. Beheben Sie einen Fehler im Datenbankcode, müssen Sie dies anschließend 5.000 Mal übertragen. Darüber hinaus wäre die für die Wiederherstellung der Datenbank benötigte Zeit enorm. Dasselbe gilt auch für die Zeit, die für Aufgaben wie Datenbanksicherungen und Überprüfung der Datenbanken auf Konsistenz benötigt wird. Sehen Sie es einfach mal so: hat eine Bank für jeden Kunden mit einem Girokonto eine eigene Datenbank auf ihrem Host?
SQL Server™ kann sehr viele Datenbanken erstellen, aber das ist nicht immer der beste Ansatz. Denken Sie einfach nur an die Arbeit, die nötig wäre, um eine Transaktion in jeder Datenbank im selben Zeitraum durchzuführen; jede Datenbank hat ihr eigenes Transaktionsprotokoll. Wie bereits bekannt, ist ein entscheidendes Kriterium der OLTP-Leistung die Beibehaltung einer Umgebung, in der das Transaktionsprotokoll sequenzielle Schreibvorgänge auf den zugrunde liegenden Datenträger ausnutzen kann. Wenn Sie Transaktionen in diesen Datenbanken vornehmen und nicht nur einen Lesezugriff wünschen, verwenden Sie diesen Ansatz nicht.

Abfragen eines verknüpften Servers
F Ich entwickle zurzeit ein Data Warehouse auf SQL Server 2005 Service Pack 1 (SP1). Unser Quellserver liegt auf einer Partnerdomäne, der Zielserver liegt auf unserer eigenen Domäne. Wir rufen die Datensätze von der Quelle über einen verknüpften Server ab. Wenn wir eine Abfrage von der Quelle mit Verknüpfungen zwischen den Quelltabellen durchführen, wird die Abfrage sehr schnell bearbeitet. Haben wir allerdings auch nur eine einfache Verknüpfung mit unseren Zieltabellen, dauert die Abfrage ewig. Warum?
A Das Vermeiden von Serververknüpfungen ist eine bewährte Methode, insbesondere über eine Domänengrenze hinweg. Nichtsdestoweniger könnte in Ihrem besonderen Fall das Problem deshalb auftreten, weil Ihre Partner zwar Ihrer Domäne vertrauen, Sie jedoch nicht der Domäne Ihrer Partner. Versuchen Sie, Ihre Abfrage so umzugestalten, dass sie vom Quellserver aus läuft, und kopieren Sie die Ergebnisse dann auf den Zielserver. Auf diese Weise sollten Sie ein besseres Ergebnis erhalten.

Messen der Bandbreite
F Gibt es irgendwelche bewährten Methoden zur Messung der Bandbreite, die zur Datenbankspiegelung verwendet wird? Soweit ich weiß, ist es erforderlich, dass sie ungefähr dreimal so groß ist wie die Geschwindigkeit zur Protokollerstellung, aber wenn der Bedarf nicht so hoch ist, könnte dann die Datenbankspiegelung nicht auch mithilfe einer Breitbandverbindung über das Web vorgenommen werden?
A Neben dem Rohdurchsatz müssen Sie auch die Roundtrip-Latenz (entscheidender wenn Safety=FULL) und die Verknüpfungszuverlässigkeit berücksichtigen. Die Datenbankspiegelung ist für eine betriebssichere Netzwerkverbindung optimiert, daher kann für die Wiederherstellung der Verbindung ein erheblicher Aufwand erforderlich sein. Bei instabiler Breitbandverbindung (abgebrochene Verbindungen oder lange Verzögerungen) kann es sein, dass Sie keine Verbindung aufrechterhalten können. Weitere Hilfe erhalten Sie in diesem Whitepaper zu Überlegungen hinsichtlich der Leistung bei der Datenbankspiegelung.
Sicherung des Zugriffs auf SQL Server
Sie suchen Empfehlungen zur Sicherung des Zugriffs auf den SQL-Server in einer Produktionsumgebung? Besuchen Sie das Microsoft Patterns & Practices Developer Center. Drei Muster könnten besonders interessant sein:
  • Security Engineering Index
  • Security Guidance for Applications Index
  • Threat Modeling Web Applications

Benötigen Sie Einzelheiten zum Einrichten einer vollständigen Betriebsumgebung? Nachfolgend finden Sie zwei gute Referenzen:
  • Windows Server System Reference Architecture
  • Data Services Implementation Guide

Unser Dank gilt den folgenden Microsoft-IT-Experten für ihre fachliche Unterstützung: Denis Altudov, Jayashree Anand, Gus Apostol, Bhavana Bartholf, Mike Blaszczak, Dibyendu Chakraverty, Shaun Cox, Laurentiu Cristofor, Ernie DeVore, Michael Epprecht, Nakul Garg, Phil Hummel, Steve Lindell, Kaloian Manassiev, Al Noel, Ward Pond, Paul Randal, Remus Rusanu, Mike Shelton, Christy Sutton, Kevin Tsai, Peter Ty, Val Wittenberg, Steven Wort, Kalyan Yella und Frankie Yuen.


 The Cable Guy: Automatische Optimierung des TCP-Empfangsfensters
The Cable Guy
Automatische Optimierung des TCP-Empfangsfensters
Joseph Davies

Willkommen bei der ersten Ausgabe von The Cable Guy in TechNet Magazine. Fans der Kolumne auf der TechNet-Website wissen bereits, dass wir alle möglichen Netzwerkfragen behandeln. Diese Tradition werden wir hier jeden Monat fortsetzen. Falls Sie neu sind und ein Archiv der bisherigen Kolumnen suchen, gehen Sie zur Cable Guy-Site.
Nun zu unserem Thema hier: dem TCP-Empfangsfenster.
Der Durchsatz kann bei TCP-Verbindungen durch Senden und Empfang von Anwendungen, TCP-Implementierungen und dem Übertragungsweg zwischen den TCP-Peers beschränkt werden. In diesem Artikel werde ich das TCP-Empfangsfenster und seine Auswirkungen auf den TCP-Durchsatz, die Verwendung der TCP-Fensterskalierung und die neue Funktion zur automatischen Optimierung des TCP-Empfangsfensters in Windows Vista™ erläutern, die den TCP-Durchsatz für Empfangsdaten optimiert.

Das TCP-Empfangsfenster
TCP-Verbindungen haben einige wichtige Merkmale. Zunächst stellen sie logische Punkt-Punkt-Schaltungen zwischen zwei Anwendungsschicht-Protokollen dar. TCP unterstützt keinen zentralen Verteilungslieferdienst („One to Many“), sondern bietet nur Eins-zu-Eins-Lieferung („One to One“).
Zweitens sind TCP-Verbindungen verbindungsorientiert. Bevor Daten übertragen werden können, müssen zwei Anwendungsschicht-Prozesse formal eine TCP-Verbindung aushandeln. Dazu wird der Prozess zur TCP-Verbindungsherstellung verwendet. Auf ähnliche Weise werden TCP-Verbindungen nach der Aushandlung formal geschlossen, wozu der TCP-Verbindungsbeendigungs-Prozess eingesetzt wird.
Drittens werden zuverlässige Daten, die über eine TCP-Verbindung gesendet werden, sequenziert und eine positive Bestätigung durch den Empfänger wird erwartet. Wird keine positive Bestätigung empfangen, wird das Segment erneut übertragen. Beim Empfänger werden doppelte Segmente verworfen und Segmente, die nicht in der richtigen Reihenfolge eintreffen, wieder korrekt sortiert.
Viertes sind TCP-Verbindungen Vollduplex-Verbindungen. Für jeden TCP-Peer besteht die TCP-Verbindung aus zwei logischen Pipes: einer eingehenden und einer ausgehenden. Der TCP-Header enthält sowohl die Sequenznummer der ausgehenden Daten als auch eine Bestätigung (Acknowledgement oder ACK) der eingehenden Daten.
Darüber hinaus betrachtet TCP die über eingehende und ausgehende logische Pipes gesendeten Daten als kontinuierlichen Datenstrom. Die Sequenznummer und die Bestätigungsnummer in jedem TCP-Header werden zusammen mit den Byte-Grenzen definiert. TCP ist sich keiner Datensatz- oder Nachrichtengrenzen innerhalb des Datenstroms bewusst. Das Anwendungsschicht-Protokoll muss den eingehenden Datenstrom korrekt analysieren.
Um die Menge an Daten zu begrenzen, die zu einem bestimmten Zeitpunkt gesendet werden können und, um die empfängerseitige Flusssteuerung zu gewährleisten, verwenden TCP-Peers ein Fenster. Das Fenster ist die Datenspanne im Datenstrom, die der Empfänger dem Sender zu senden gestattet. Der Sender kann nur die Byte des Datenstroms senden, die innerhalb des Fensters liegen. Das Fenster folgt dem ausgehenden Datenstrom des Senders und dem eingehen Datenstrom des Empfängers.
Für eine bestimmte logische Pipe (eine Richtung der Vollduplex-TCP-Verbindung), pflegt der Sender ein Sende- und der Empfänger ein Empfangsfenster. Werden keine Daten oder ACK-Segmente übertragen, werden die Sende- und Empfangsfenster einer logischen Pipe in Übereinstimmung gebracht. Anders ausgedrückt: die Datenspanne im ausgehenden Datenstrom, die der Sender senden darf, wird mit der Datenspanne im eingehenden Datenstrom abgestimmt, die der Empfänger empfangen kann. Abbildung 1 illustriert diese Sende- und Empfangsbeziehung.
Abbildung 1 Sende- und Empfangsfenster abstimmen
Abbildung 1 Sende- und Empfangsfenster abstimmen (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 Sende- und Empfangsfenster abstimmen
Abbildung 1 Sende- und Empfangsfenster abstimmen (Klicken Sie zum Vergrößern auf das Bild)
Um die Größe des Empfangsfensters anzugeben, enthält der TCP-Header ein 16-Bit-Fensterfeld. Wenn der Empfänger Daten erhält, sendet er ACKs zurück zum Sender und gibt darin die erfolgreich empfangenen Byte an. In jeder ACK gibt das Fensterfeld die Anzahl der Byte wieder, die im Empfangsfenster verbleiben. Wenn die Daten von der Anwendung gesendet, bestätigt und empfangen wurden, werden sowohl das Sende- als auch das Empfangsfenster nach rechts verschoben. Das Empfangsfenster steuert, wie viele unbestätigte Daten vom Sender zum Empfänger unterwegs sind.
Weil das Empfangsfenster Daten enthalten kann, die von der Anwendung nicht abgerufen werden, und solche, die empfangen, aber nicht bestätigt wurden, weist das TCP-Empfangsfenster eine zusätzliche Struktur auf, wie in Abbildung 2 dargestellt.
Abbildung 2 Datentypen im TCP-Empfangsfenster
Abbildung 2 Datentypen im TCP-Empfangsfenster (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Datentypen im TCP-Empfangsfenster
Abbildung 2 Datentypen im TCP-Empfangsfenster (Klicken Sie zum Vergrößern auf das Bild)
Beachten Sie den Unterschied zwischen dem maximalen und dem aktuellen Empfangsfenster. Das maximale Empfangsfenster hat eine feste Größe. Das aktuelle Empfangsfenster weist eine variable Größe auf und entspricht der restlichen Datenmenge, die der Empfänger dem Sender zu senden gestattet. Die Größe des aktuellen Empfangsfensters ist der Wert des Fensterfelds, der in ACKs mitgeteilt und an den Sender zurückgeschickt wurde. Dabei handelt es sich um die Differenz zwischen der maximalen Größe des Empfangsfensters und den Daten, die empfangen und bestätigt, von der Anwendung aber noch nicht abgerufen wurden.

Das TCP-Empfangsfenster und der TCP-Durchsatz
Um den TCP-Durchsatz zu optimieren (unter Voraussetzung eines einigermaßen fehlerfreien Übertragungswegs), sollte der Sender genug Pakete senden, um die logische Pipe zwischen Sender und Empfänger zu füllen. Die Kapazität der logischen Pipe kann mit der folgenden Formel berechnet werden:
Capacity in bits = path bandwidth in bits per second * round-trip time (RTT) in seconds
Die Kapazität wird auch als Produkt aus Bandbreite und Verzögerung (Bandwidth Delay Product oder BDP) bezeichnet. Die Pipe kann dick (hohe Bandbreite), dünn (niedrige Bandbreite), kurz (geringe RTT) oder lang (hohe RTT) sein. Dicke, lange Pipes weisen das höchste BDP auf. Beispiele von Übertragungswegen mit hohem BDP sind z. B. solche über Satelliten oder unternehmensweite Wide Area Networks (WANs), die Interkontinental-Faseroptikverbindungen umfassen.
Verbesserung der senderseitigen Leistung für die Übertragung bei hohem BDP
Die neue Funktion zur automatischen Optimierung des TCP-Empfangsfensters bietet eine verbesserte Leistung für den Empfang von Daten über Hoch-BDP-Verbindungen. Wie sieht es aber mit der Senderleistung aus?
Die bestehenden Algorithmen, die verhindern, dass ein Sender-TCP-Peer das Netzwerk überlastet, werden als Slow Start und Congestion Avoidance bezeichnet. Diese Algorithmen vergrößern das Sendefenster (die Anzahl der Segmente, die der Sender senden kann), wenn Daten zum ersten Mal über die Verbindung gesendet und aus einem verlorenen Segment wiederhergestellt werden.
Slow Start vergrößert das Sendefenster um ein volles TCP-Segment für entweder jedes empfangene Bestätigungssegment (für TCP in Windows XP und Windows Server 2003) oder für jedes bestätigte Segment (für TCP in Windows Vista und Windows Server „Longhorn“). Congestion Avoidance vergrößert das Sendefenster um ein volles TCP-Segment für jedes bestätigte volle Datenfenster.
Diese Algorithmen funktionieren für kleine BDPs und kleinere Empfangsfenstergrößen einwandfrei. Wenn jedoch eine TCP-Verbindung mit großem Empfangsfenster und großem BDP vorliegt, z. B. Daten zwischen zwei Servern repliziert werden, die auf einer Hochgeschwindigkeits-WAN-Verbindung mit einer Round Trip Time von 100 ms zu finden sind, vergrößern diese Algorithmen das Sendefenster nicht schnell genug, um die Bandbreite der Verbindung voll zu nutzen.
Um die Bandbreite der TCP-Verbindungen in diesen Situationen besser zu nutzen, umfasst der TCP/IP-Stack der nächsten Generation Compound TCP (CTCP). CTCP vergrößert das Sendefenster für Verbindungen mit großen Empfangsfenstern und BDPs aggressiver. CTCP versucht, den Durchsatz bei diesen Verbindungstypen zu maximieren, indem Verzögerungsabweichungen und Verluste überwacht werden. CTCP stellt außerdem sicher, dass andere TCP-Verbindungen durch diese Anpassungen nicht negativ beeinflusst werden.
Bei intern von Microsoft durchgeführten Tests wurden lange Datei-Backup-Zeiten für eine 1-Gbit/s-Verbindung mit 50 ms RTT um fast die Hälfte reduziert. Bei Verbindungen mit einem größeren BDP kann sogar eine noch bessere Leistung erzielt werden. CTCP und automatische Optimierung des Empfangsfensters sorgen gemeinsam für eine verbesserte Ausnutzung der Netzwerkverbindung und können zu beträchtlichen Leistungssteigerungen für Verbindungen mit großen BDPs führen.
CTCP ist auf Computern mit Windows Server „Longhorn“ standardmäßig aktiviert, auf Windows Vista-Computern aber standardmäßig deaktiviert. CTCP kann mit dem Befehl „netsh interface tcp set global congestionprovider=ctcp“ aktiviert werden. CTCP kann mit dem Befehl „netsh interface tcp set global congestionprovider=none“ deaktiviert werden.

Die Größe des Fensterfelds im TCP-Header beträgt 16 Bit und ermöglicht einem TCP-Peer die Mitteilung einer maximalen Empfangsfenstergröße von 65.535 Byte. Der ungefähre Durchsatz für eine bestimmte TCP-Fenstergröße kann mit der folgenden Formel berechnet werden:
Throughput = TCP maximum receive windowsize / RTT
Beispiel: Bei einem Empfangsfenster von 65.535 Byte können Sie auf einem Übertragungsweg mit einer RTT von 100 ms nur einen ungefähren Durchsatz von 5,24 Megabit pro Sekunde (Mb/s) erzielen, egal, wie hoch die tatsächliche Bandbreite des Übertragungswegs ist. Bei den heutigen Hoch-BDP-Übertragungswegen wird die ursprünglich entwickelte TCP-Fenstergröße selbst bei ihrem Maximalwert zu einem Engpass.

TCP-Fensterskalierung
Um größere Fenstergrößen zu erhalten, die Hochgeschwindigkeits-Übertragungswege aufnehmen können, definiert RFC 1323 (ietf.org/rfc/rfc1323.txt) eine Fensterskalierung, die ermöglicht, dass ein Empfänger eine Fenstergröße von mehr als 65.535 Byte mitteilt. Eine TCP-Fensterskalierungsoption umfasst einen Fensterskalierungsfaktor, der in Kombination mit dem 16-Bit-Fensterfeld im TCP-Header die Empfangsfenstergröße auf einen Maximalwert von ca. 1 GB vergrößern kann. Die Fensterskalierungsoption wird während der Verbindungsherstellung nur in SYN-Segmenten gesendet. Beide TCP-Peers können unterschiedliche Fensterskalierungsfaktoren für ihre Empfangsfenstergrößen angeben. Indem einem Sender ermöglicht wird, mehr Daten über eine Verbindung zu senden, ermöglicht die TCP-Fensterskalierung die bessere Nutzung einiger Typen von Übertragungswegen mit hohen BDPs durch die TCP-Knoten.
Obgleich die Empfangsfenstergröße für den TCP-Durchsatz wichtig ist, besteht ein anderer wichtiger Faktor für die Bestimmung des optimalen TCP-Durchsatzes darin, wie schnell die Anwendung die angesammelten Daten im Empfangsfenster abruft (Anwendungsabrufrate). Ruft die Anwendung die Daten nicht ab, kann das Empfangsfenster gefüllt werden, was dazu führt, dass der Empfänger eine kleinere aktuelle Fenstergröße mitteilt. Im Extremfall wird das ganze maximale Empfangsfenster gefüllt und der Empfänger teilt eine Fenstergröße von 0 Byte mit. In diesem Fall muss der Sender die Datensendung stoppen, bis das Empfangsfenster freigemacht wurde. Um den TCP-Durchsatz zu optimieren, sollte daher das TCP-Empfangsfenster für eine Verbindung auf einen Wert eingestellt werden, der sowohl das BDP des Übertragungswegs der Verbindung als auch die Anwendungsabrufrate wiedergibt.
Selbst wenn Sie sowohl das BDP als auch die Anwendungsabrufrate korrekt bestimmen könnten, so können sie sich doch im Verlauf der Zeit ändern. Die BDP-Rate kann bei Überlastungen im Übertragungsweg variieren, und die Anwendungsabrufrate kann je nach Anzahl der Verbindungen, über die die Anwendung Daten empfängt, unterschiedlich sein.

Das Empfangsfenster in Windows XP
Für den TCP/IP-Stack in Windows XP (und Windows Server® 2003) weist die maximale Empfangsfenstergröße eine Reihe signifikanter Attribute auf. Zunächst basiert der Standardwert auf der Verbindungsgeschwindigkeit der Sendeschnittstelle. Der tatsächliche Wert wird automatisch auf gerade Inkremente der maximalen Segmentgröße (Maximum Segment Size oder MSS) angepasst, die während der TCP-Verbindungsherstellung ausgehandelt werden.
Zweitens kann die maximale Empfangsfenstergröße manuell konfiguriert werden. Die Registrierungswerte HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\TCPWindowSize and HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interface\InterfaceGUID\TCPWindowSize können auf maximal 65.535 Byte (ohne Fensterskalierung) oder 1.073.741.823 (mit Fensterskalierung) eingestellt werden.
Drittens kann die maximale Empfangsfenstergröße die Fensterskalierung verwenden. Sie können die Fensterskalierung aktivieren, indem Sie den Registrierungswert HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts auf 1 oder 3 setzen. Standardmäßig wird die Fensterskalierung nur bei einer Verbindung verwendet, wenn das empfangene SYN-Segment die Fensterskalierungsoption enthält.
Schließlich kann die maximale Empfangsfenstergröße durch eine Anwendung mit Hilfe der SO_RCVBUF Windows Sockets-Option beim Einleitung einer Verbindung festgelegt werden. Für die Fensterskalierung muss die Anwendung eine Fenstergröße von mehr als 65.535 Byte festlegen.
Trotz der Unterstützung skalierbarer Fenster kann die maximale Empfangsfenstergröße in Windows XP den Durchsatz aufgrund der festen maximalen Größe für alle TCP-Verbindungen einschränken (außer von der Anwendung angegeben), wodurch der Durchsatz für einige Verbindungen gesteigert und für andere reduziert werden kann. Darüber hinaus variiert die feste maximale Empfangsfenstergröße für eine TCP-Verbindung nicht gemäß der Änderungen der Anwendungsabrufrate oder der Überlastung des Übertragungsweges.

Automatische Optimierung des Empfangsfensters in Windows Vista
Um den TCP-Durchsatz zu optimieren, besonders bei Übertragungswegen mit hohem BDP, unterstützt der TCP/IP-Stack der nächsten Generation in Windows Vista (und der nächsten Version von Windows Server mit dem Codenamen „Longhorn“) die automatische Optimierung des Empfangsfensters. Diese Funktion bestimmt die optimale Empfangsfenstergröße durch Messung des BDP und der Anwendungsabrufrate und Anpassung der Fenstergröße an den verwendeten Übertragungsweg und die Anwendungsbedingungen.
Die automatische Optimierung des Empfangsfensters ermöglicht standardmäßige TCP-Fensterskalierung bis zu einer maximalen Empfangsfenstergröße von 16 MB. Wenn die Daten über die Verbindung übertragen werden, überwacht der TCP/IP-Stack der nächsten Generation die Verbindung, misst das aktuelle BDP und die Anwendungsabrufrate und passt die Empfangsfenstergröße an, um den Durchsatz zu optimieren. Der TCP/IP-Stack der nächsten Generation verwendet den Registrierungswert TCPWindowSize nicht mehr.
Die automatische Optimierung des Empfangsfensters hat eine ganze Reihe von Vorteilen. Sie bestimmt automatisch die optimale Empfangsfenstergröße je nach der jeweiligen Verbindung. In Windows XP gilt der Registrierungswert TCPWindowSize für alle Verbindungen. Anwendungen müssen keine TCP-Fenstergrößen mehr mit Hilfe von Windows Sockets-Optionen festlegen. Außerdem müssen IT-Administratoren die TCP-Empfangsfenstergröße nicht mehr für spezifische Computer manuell konfigurieren.
Mit der automatischen Optimierung des Empfangsfensters teilt ein Windows Vista-basierter TCP-Peer in der Regel viel größere Empfangsfenster mit als ein Windows XP-basierter TCP-Peer. Dadurch kann der andere TCP-Peer die Pipe zum Windows Vista-basierten TCP-Peer füllen, indem mehr TCP-Datensegmente gesendet werden, ohne auf eine ACK (unterliegt TCP-Überlastungskontrolle) warten zu müssen. Für typischen Netzwerkverkehr auf Client-Basis wie z. B. Webpages oder E-Mail kann der Web- oder E-Mail-Server dann mehr TCP-Daten schneller an den Clientcomputer senden, was zu einer Gesamtsteigerung der Netzwerkleistung führt. Je höher BDP und Anwendungsabrufrate für die Verbindung, desto höher die Leistungssteigerung.
Die Auswirkungen auf das Netzwerk sind dahingehend, dass der Strom von TCP-Datenpaketen, der normalerweise bei niedrigerer Geschwindigkeit gesendet wird, viel schneller gesendet wird, was zu einer gesteigerten Netzwerkauslastung während der Datenübertragung führt. Für Windows XP- und Windows Vista-basierte Computer, die die gleiche Datenübertragung über eine lange, dicke Pipe durchführen, wird die gleiche Datenmenge übertragen. Die Datenübertragung ist aber für den Windows Vista-basierten Clientcomputer aufgrund des größeren Empfangsfensters und der Fähigkeit des Servers, die Pipe vom Server zum Client zu füllen, schneller.
Weil die automatische Optimierung des Empfangsfensters die Netzwerkauslastung von Hoch-BDP-Übertragungswegen verbessert, kann die Verwendung von Quality of Service (QoS)- oder Beschränkungen der Anwendungssendegeschwindigkeit für Übertragungswege wichtig werden, die mit oder fast mit voller Kapazität arbeiten. Um diesen möglichen Bedarf anzusprechen, unterstützt Windows Vista QoS-Einstellungen auf Gruppenrichtlinienbasis, mit denen Sie Beschränkungsraten für auf IP-Adress- oder TCP-Port-Basis gesendeten Verkehr definieren können. Weitere Informationen finden Sie in den Ressourcen zum richtlinienbasierten QoS.
Steigerung des TCP-Durchsatzes für Netzwerke mit hohen Verlustraten (High-Loss-Netzwerke)
High-Loss-Netzwerke können den TCP-Durchsatz aufgrund häufiger Zeitüberschreitungen und erneuter Übertragungen beträchtlich reduzieren. Beispiele für High-Loss-Netzwerke sind Drahtlosnetzwerke, z. B. solche, die auf IEEE 802.11, General Packet Radio Service (GPRS) oder Universal Mobile Telecommunications System (UMTS) basieren, die je nach Netzwerkbedingungen, Signaldämpfung, elektromagnetischer Interferenz und veränderten Standorten des Computers hohe Paketverluste aufweisen können.
Der TCP/IP-Stack der nächsten Generation unterstützt folgende vier RFCs, um den Durchsatz in Umgebungen mit hohen Verlustraten zu optimieren:

RFC 2582: Die NewReno-Änderung des TCP-Algorithmus für die schnelle Wiederherstellung
Der Algorithmus für die schnelle Wiederherstellung, der in RFC 2001 definiert ist, basiert auf dem Reno-Algorithmus, der die Datenmenge, die ein Sender senden kann, wenn ein Segment aufgrund eines Schnellneusendungs-Ereignisses erneut gesendet wird. Obgleich der Reno-Algorithmus für einzelne verlorene Segmente gut funktioniert, bietet er bei mehreren verlorenen Segmenten keine so gute Leistung. Der NewReno-Algorithmus bietet einen schnelleren Durchsatz, indem die Art und Weise geändert wird, mit der ein Sender seine Senderate bei der schnellen Wiederherstellung verbessern kann, wenn in einem Datenfenster mehrere Segmente verloren gehen und der Sender nur eine partielle Bestätigung erhält (eine Bestätigung lediglich für den Teil der Daten, der erfolgreich empfangen wurde).

RFC 2883: Eine Erweiterung der TCP-Option für selektive Bestätigung (Selective Acknowledgement, SACK)
SACK (definiert in RFC 2018) ermöglicht es dem Empfänger, bis zu vier nicht zusammenhängende, empfangene Datenblöcke mittels einer SACK TCP-Option anzuzeigen. RFC 2883 definiert eine zusätzliche Verwendung der Felder der SACK TCP-Option, um doppelte Pakete zu bestätigen. Dadurch kann der Sender bestimmen, wann er ein Segment unnötigerweise erneut übertragen hat und sein Verhalten anpassen, um in Zukunft unnötige erneute Übertragungen zu verhindern. Je weniger erneute Übertragungen gesendet werden, desto besser ist der Gesamtdurchsatz.

RFC 3517: Ein auf einer konservativen selektiven Bestätigung (SACK) basierender Verlustwiederherstellungsalgorithmus für TCP
Bei der Implementierung von TCP/IP in Windows Server 2003 und Windows XP werden SACK-Informationen lediglich verwendet, um zu ermitteln, welche TCP-Segmente ihr Ziel nicht erreicht haben. RFC 3517 definiert eine Methode zur Verwendung der SACK-Informationen für das Durchführen einer Verlustwiederherstellung, wenn doppelte Bestätigungen empfangen wurden. Dabei wird der ältere Algorithmus für eine schnelle Wiederherstellung ersetzt, wenn SACK für eine Verbindung aktiviert ist. Der TCP/IP-Stack der nächsten Generation verfolgt die SACK-Informationen für jede Verbindung und überwacht eingehende Bestätigungen und doppelte Bestätigungen, um Verluste rascher zu korrigieren, wenn mehrere Segmente am Ziel nicht empfangen wurden.

RFC 4138: Forward-RTO-Wiederherstellung (F-RTO): Ein Algorithmus zum Ermitteln von Zeitüberschreitungen bei vermeidbaren erneuten Übertragungen mit TCP und dem Stream Control Transmission Protocol (SCTP)
Vermeidbare erneute Übertragungen von TCP-Segmenten können auftreten, wenn ein plötzlicher, zeitweiliger Anstieg der RTT registriert wird, was dazu führt, dass Zeitüberschreitungen bei der erneuten Übertragung (Retransmission Timeouts oder RTOs) zuvor gesendeter Segmente abzulaufen beginnen und TCP beginnt, sie erneut zu übertragen. Tritt der Anstieg direkt vor dem Senden eines vollen Datenfensters auf, kann ein Sender das gesamte Datenfenster erneut übertragen. Der F-RTO-Algorithmus verhindert vermeidbare erneute Übertragungen von TCP-Segmenten wie folgt.
Wenn der RTO für mehrere Segmente abläuft, überträgt TCP nur das erste Segment erneut. Wird die erste Bestätigung empfangen, beginnt TCP mit dem Senden neuer Segmente (falls durch die mitgeteilte Fenstergröße zulässig). Wird durch die nächste Bestätigung bestätigt, dass bei den anderen Segmenten eine Zeitüberschreitung auftrat, diese aber noch nicht erneut übertragen wurden, bestimmt TCP, dass die Zeitüberschreitung vermeidbar war und überträgt die anderen Segmente mit Zeitüberschreitung nicht erneut.
In Umgebungen, in denen ein plötzliches, zeitweiliges Ansteigen der RTT, z. B. durch den Wechsel eines drahtlosen Clients zu einem anderen Wireless-Zugriffspunkt, verursacht wird, verhindert der F-RTO-Algorithmus erneute Segmentübertragungen und trägt damit zu einer schnellen Wiederherstellung der normalen Senderate bei. Die Verwendung der Verlustwiederherstellung auf SACK-Basis und von F-RTO sind am besten für GPRS-Verbindungen geeignet.

Joseph Davies arbeitet als technischer Autor bei Microsoft. Seit 1992 hält er Vorträge und schreibt zu Windows-Netzwerkthemen. Er hat fünf Bücher für Microsoft Press verfasst und ist der Autor der monatlichen TechNet Cable Guy-Kolumne.


 Windows PowerShell: Windows PowerShell-Konstrukte
Windows PowerShell
Windows PowerShell-Konstrukte
Don Jones

Im vergangenen Monat habe ich Ihnen einige Möglichkeiten vorgeführt, wie Sie Windows PowerShell unmittelbar für die Lösung von Verwaltungsaufgaben einsetzen können - ohne wirklich ein einziges Skript zu schreiben. Obwohl es sich bei Windows PowerShell um eine exzellente interaktive Shell handelt, können Sie die Fähigkeiten dieser Shell erst wirklich voll ausschöpfen und selbst hochkomplexe Aufgaben automatisieren, wenn Sie auch die leistungsstarke und dennoch einfach gehaltene Skriptsprache dieser Shell nutzen.
Zuerst werden Sie sich zwar fragen: Braucht Microsoft wirklich noch eine weitere Skriptsprache? Letzten Endes hat uns Microsoft KiXtart, ein Anmeldeskriptprozessor, und auch noch Visual Basic® Scripting Edition (VBScript) beschert. Wie dem auch sei. Die Antwort lautet: "Ja". Microsoft braucht wirklich noch eine weitere Skriptsprache. Ich werde erläutern warum.
Die Sprache von Windows PowerShell™ musste simpel und intuitiv gehalten werden, damit Administratoren die Sprache ohne umfangreichen Ausbildungsaufwand lernen können. Außerdem musste die Sprache recht flexibel gestaltet werden, damit in ihr all die leistungsstarken Funktionen ausgedrückt werden können, die uns von Windows PowerShell selbst geboten werden.
Da Windows PowerShell auf dem Microsoft® .NET Framework basiert, muss die Syntax der Skriptsprache .NET-geeignet sein. Beim Erstellen einer Skriptsprache für Windows PowerShell haben sich die Entwickler für eine Syntax entschieden, die im Wesentlichen ein stark vereinfachtes C# darstellt (sprich C-Sharp oder Cis, wie die Musiknote, eine der Sprachen, die im .NET Framework enthalten sind). Warum nicht bei einer Syntax wie bei VBScript bleiben? Die Skriptsprache von Windows PowerShell unterscheidet sich in Wirklichkeit nicht so sehr von VBScript. Mit einer stärkeren Anlehnung an die Syntax von C# bietet PowerShell jedoch eine Art erstes Sprungbrett für das Erlernen der Programmierung mit dem .NET Framework. Wenn Sie sich später einmal für einen Aufstieg zu Visual Studio® entscheiden und mit dem Schreiben von Anwendungen in C# beginnen, wird ein großer Teil der Skriptsyntax von Windows PowerShell Sie begleiten.
Zu den beeindruckendsten Dingen der Skriptsprache von Windows PowerShell - oder in der Tat jeder beliebigen Skriptsprache - gehören ihre Konstrukte. Bei Konstrukten handelt es sich um spezielle Sprachelemente, mit denen Windows PowerShell logische Vergleiche anstellen und anhand der Ergebnisse dieser Vergleichsoperationen unterschiedliche Aktionen oder einen oder mehrere Befehle immer wieder ausführen kann.

Logisches Denken
Kernstück vieler Skripting-Konstrukte sind logische Vergleiche, und Windows PowerShell stellt da keine Ausnahme dar. Eine Vergleichsoperation betrachtet im Wesentlichen zwei Werte oder Objekte und beurteilt, ob das Ergebnis des Vergleichs "True" (Wahr) oder "False" (Falsch) ist. So könnten Sie sich beispielsweise fragen: "Ist das Ablaufdatum des Kennworts dieses Benutzers gleich dem Datum des heutigen Tages?" Das Ergebnis wäre entweder "True", wenn die Daten identisch sind oder "False" wenn sie nicht übereinstimmen. Beachten Sie, dass ich "True" und "False" in Anführungszeichen gesetzt habe, da diese beiden Ausdrücke eine spezielle Bedeutung in Windows PowerShell haben.
Hier nun ein Beispiel für einen realen logischen Vergleich, wie Sie ihn in Windows PowerShell ausführen könnten:
PS C:\> $a = 1
PS C:\> $b = 2
PS C:\> $a -eq $b
False
Ich habe eine Variable mit dem Namen $a angelegt und ihr den Wert 1 zugewiesen. In Windows PowerShell beginnen Variablennamen immer mit einem Dollarzeichen und sind daher einfach zu erkennen. Das = wird technisch als Zuweisungsoperator bezeichnet, da es für das Zuweisen eines Wertes verwendet wird. Danach habe ich eine zweite Variable mit dem Namen $b angelegt und ihr den Wert 2 zugewiesen. Anschließend folgt der eigentliche logische Vergleich - Ich habe Windows PowerShell angewiesen, die Inhalte von $a und $b mit Hilfe des Operators -eq (equality, Gleichheit) zu vergleichen. PowerShell führt den Vergleich aus, ermittelt, dass die beiden Werte nicht gleich sind, und zeigt das Ergebnis an: False.
Wie Sie sicherlich bemerkt haben, unterscheiden sich die Operatoren von Windows PowerShell ein wenig von denen anderer Skriptsprachen, sogar von den Operatoren in C#. In den meisten Sprachen wird der Operator = verwendet, um auf Gleichheit zu prüfen, als auch um Werte zuzuweisen. Windows PowerShell vermeidet Verwechslungen, indem es für jede einzelne Funktion einen fest zugeordneten Operator gibt. Abbildung 1 zeigt die Vergleichsoperatoren von Windows PowerShell gemeinsam mit den entsprechenden Operatoren anderer Sprachen (wie VBScript), die Ihnen möglicherweise bereits vertraut sind.
Figure 1 Vergleichsoperatoren in PowerShell (Close Figure 1)

Operator | Name | Beschreibung
-eq | Equality (Gleichheit) | Prüft, ob Werte identisch sind. In anderen Sprachen wird möglicherweise = oder == für das Prüfen auf Gleichheit verwendet.
-ne | Not Equal (Ungleich) | Prüft auf Ungleichheit. In anderen Sprachen wird möglicherweise <> oder != für das Prüfen auf Ungleichheit verwendet.
-gt | Greater Than (Größer als) | Prüft, ob ein Wert größer als der andere ist. In anderen Sprachen wird möglicherweise das Zeichen > verwendet.
-lt | Less Than (Kleiner als) | Prüft, ob ein Wert kleiner als der andere ist. In anderen Sprachen wird möglicherweise das Zeichen < verwendet.
-ge | Greater Than or Equal To (Größer oder gleich) | Prüft, ob ein Wert größer als oder gleich groß wie ein anderer ist. Wie >= in VBScript und anderen Sprachen.
-le | Less Than or Equal To (Kleiner oder gleich) | Prüft, ob ein Wert kleiner als oder gleich groß wie ein anderer ist. Wie <= in VBScript und anderen Sprachen.
Diese Vergleichsoperatoren verfügen über eine weitere interessante Eigenschaft. Werfen Sie einen Blick auf diesen Vergleich:
PS C:\> $a = "TechNet"
PS C:\> $b = "technet"
PS C:\> $a -eq $b
True
Standardmäßig unterscheiden die Vergleichsoperatoren nicht zwischen Groß- und Kleinschreibung, d. h. die Version "TechNet" mit Großbuchstaben ist gleich zu "technet". Das ist recht angenehm, da Sie sich bei den meisten Verwaltungsaufgaben nicht um Groß- oder Kleinschreibung zu kümmern brauchen. Gelegentlich wünschen Sie sich das doch, und Sie können Windows PowerShell anweisen, einen Vergleich mit Unterscheidung von Groß- und Kleinbuchstaben auszuführen, indem Sie dem Vergleichsoperator den Buchstaben c voranstellen:
PS C:\> $a -ceq $b
False
Auf ähnliche Weise können Sie, wenn Sie einmal besorgt sind oder nicht genau wissen, ob Windows PowerShell einen Vergleich ohne Unterscheidung von Groß- und Kleinbuchstaben ausführt oder mit, einen solchen Vergleich ohne Unterscheidung erzwingen, indem Sie den Buchstaben i voranstellen:
PS C:\> $a -ieq $b
True
Merken Sie sich einfach, dass logische Vergleiche immer einen von zwei Werten ergeben: True oder False.

Fällen von Entscheidungen
Da Sie nun wissen, wie logische Vergleiche geschrieben werden, können Sie diese Vergleiche in Konstrukten verwenden. Das erste Konstrukt, das ich zeigen werde, ermöglicht Windows PowerShell, anhand eines Vergleichs Entscheidungen zu treffen. Dieses Konstrukt wird "If"-Konstrukt (Wenn-Konstrukt) genannt. Von diesem Konstrukt gibt es einige Varianten. Hier die einfachste Variante:
PS C:\> if ($a -eq $b) {
>> Write-Host "They are equal"
>> }
>>
They are equal
Da gibt es einige bemerkenswerte Dinge. Erstens enthalten die Variablen $a und $b immer noch die Werte "TechNet" bzw. "technet". Das Konstrukt beginnt mit dem Schlüsselwort "If". Anschließend folgt, in Klammern, der logische Vergleich, der ausgeführt werden soll. Dann folgt eine geschweifte Klammer. Diese Klammer zeigt den Beginn dessen an, was ich als "bedingten Code" bezeichne, der Code, den Windows PowerShell ausführt, wenn die Vergleichsoperation den Wert "True" zurückgibt. Sie wissen noch aus dem ersten Beispiel, dass dieser Vergleich den Wert "True" zurückgibt. Ich gehe also davon aus, dass der bedingte Code ausgeführt wird. Ich gebe meinen bedingten Code ein, Write-Host "Die sind gleich", und drücke die Eingabetaste. Zum Schluss beende ich den Abschnitt für den bedingten Code, indem ich eine schließende geschweifte Klammer eingebe, und drücke zweimal die Eingabetaste. (Durch das zweite Drücken der Eingabetaste auf einer Leerzeile erkennt der Parser, dass ich nichts weiter eingeben möchte und der Code ausgeführt werden soll.)
Beachten Sie, dass dieses Konstrukt nicht als Skriptdatei ausgeführt wird. Ich habe das Konstrukt einfach nur in die Befehlszeile von Windows PowerShell eingegeben. Das ist es, was Windows PowerShell einzigartig in der Welt von Windows-Skripting macht: Skripts können sowohl interaktiv erstellt als auch dauerhaft in einer Datei gespeichert werden.
Sobald ich die öffnende geschweifte Klammer geschrieben und die Eingabetaste gedrückt habe, zeigt Windows PowerShell eine Eingabeaufforderung >> an. Damit sagt uns Windows PowerShell: "Ich habe erkannt, dass Du dich in einem Konstrukt befindest und ich bin bereit, damit Du schreiben kannst, was im Konstrukt erscheinen soll!". Nachdem ich die schließende geschweifte Klammer eingeben und zweimal die Eingabetaste gedrückt habe, wird das Konstrukt sofort von Windows PowerShell ausgeführt. Dabei erkennt Windows PowerShell, dass der logische Vergleich zum Ergebnis "True" führt und führt den bedingten Code aus. Sie erkennen dies daran, dass "Die sind gleich" angezeigt wurde, bevor PowerShell wieder die normale Eingabeaufforderung anzeigt. Durch die Verwendung von Windows PowerShell zum interaktiven Ausführen von Skripts können Sie kleine Codeabschnitte schnell testen, bevor Sie diese zu einem dauerhaften Skript zusammenstellen. Dadurch werden sowohl das Erlernen der Skriptsprache als auch das Debuggen vereinfacht.
Ich sollte betonen, dass Windows PowerShell nicht sonderlich pedantisch bezüglich solchen Dingen wie dem Drücken der Eingabetaste ist. So führt diese Eingabe beispielsweise zum gleichen Ergebnis wie das vorherige Beispiel:
PS C:\> if ($a -eq $b) { Write-Host "They are equal" }
They are equal
Da ich alles in eine einzige Zeile geschrieben habe, braucht Windows PowerShell nicht die spezielle Eingabeaufforderung >> anzuzeigen. PowerShell hat das Konstrukt einfach ausgeführt, als ich am Ende der Zeile die Eingabetaste gedrückt habe. Woher hat Windows PowerShell gewusst, dass das Konstrukt ausgeführt werden soll? Da es an dieser Stelle vollständig war - die schließende geschweifte Klammer wurde eingegeben.
Ich habe die anderen Varianten des "If"-Konstrukts bereits erwähnt. Hier sehen Sie ein umfassendes Beispiel, wie es eher in einer PS1-Skriptdatei enthalten sein könnte, als in der Shell:
if ($a -eq $b) {
  Write-Host "They are equal"
} elseif ($a -lt $b) {
  Write Host "One is less than the other"
} else {
  Write Host "One is greater than the other"
}
Das Konstrukt beginnt auf gleiche Weise, mit dem Schlüsselwort "If". Für den Fall, dass der Vergleich das Ergebnis "False" ergibt, habe ich jedoch mit dem Schlüsselwort "Elseif" einen weiteren Vergleich eingefügt. Wenn auch dieser zweite Vergleich den Wert "False" liefert, wird durch das letzte Schlüsselwort "Else" ein dritter Codeblock angegeben, der in diesem Fall ausgeführt wird.

Selbst wiederholende Konstrukte
Windows PowerShell enthält einige Konstrukte, durch die Code immer wieder ausgeführt wird, bis ein Vergleich entweder "True" oder "False" ist. Programmierer nennen das Schleifenkonstrukte. Noch besser: eines der nützlichsten Schleifenkonstrukte ist in der Lage, Objekte in einer Kollektion abzuzählen und eine oder mehrere Zeilen an Code für die einzelnen Objekte auszuführen. Treffenderweise wird dieses Konstrukt als Foreach-Konstrukt (FürJeden-Konstrukt) bezeichnet und hat die folgende Gestalt:
PS C:\> $names = get-content "c:\computers.txt"
PS C:\> foreach ($name in $names) {
>> Write-Host $name
>> }
>>
don-pc
testbed
Zu Anfang weise ich das Cmdlet "Get-Content" von Windows PowerShell an, den Inhalt der Datei c:\computers.txt abzurufen, eine Datei, die ich selbst angelegt habe und die einen einzigen Computernamen je Zeile enthält. Windows PowerShell behandelt jede einzelne Zeile als Objekt. Dadurch ist die Datei letztendlich eine Kollektion, die diese Objekte enthält. Die Kollektion wird in der Variablen $names "aufgespult". Mit dem Schlüsselwort "Foreach" weise ich Windows PowerShell an, die Kollektion $names durchzuzählen, wobei das aktuelle Objekt bei den einzelnen Durchläufen der Schleife in der Variablen $name repräsentiert wird. Der Code der Schleife wird in geschweifte Klammern eingeschlossen. So, nun werde ich jeden einzelnen Namen in der Datei auf der Befehlszeile anzeigen. Und wie Sie an der Ausgabe nach dem Konstrukt sehen können, ist dies genau das, was Windows PowerShell tut. Sie können erkennen, wie so ein offensichtlicher Nutzen für administrative Skripte erzielt werden kann: Sie können z. B. einfach eine Liste mit Servernamen konstruieren und Windows PowerShell anweisen, für jeden einzelnen Namen nacheinander Informationen abzurufen.

Konstrukte aus dem wahren Leben
Nehmen wir nun logische Vergleiche, das If-Konstrukt und das foreach-Konstrukt, und machen wir etwas Sinnvolles. Ich möchte schnell einmal den Status des Messenger-Service auf mehreren Servern überprüfen. Ich gehe davon aus, dass der Service auf den meisten Servern angehalten wurde, und ich möchte nicht, dass Windows PowerShell diejenigen Server auflistet, die sich sowieso im erwarteten Status befinden. Mein Wunsch ist, dass alle Server aufgelistet werden, auf denen der Messenger-Service wirklich gestartet wurde, da es sich genau um die Server handelt, die ich bearbeiten muss.
Mit ist bekannt, dass mir das Cmdlet "Get-Service" in Windows PowerShell beim Abrufen der benötigten Informationen für den lokalen Computer helfen kann. Unglücklicherweise kann ich jedoch nicht zu einem Remotecomputer gelangen, was ja mein eigentliches Ziel ist. Glücklicherweise kann ich auf diese Informationen jedoch über Windows Management Instrumentation (WMI) zugreifen. Dazu verwende ich das Cmdlet "Get-WMIObject", wodurch ich mit einem Remotecomputer arbeiten kann. So, hier ist das Skript:
$names = get-content c:\computers.txt
foreach ($name in $names) {
  $svc = get-wmiobject win32_service '
   -computer $name -filter "name='messenger'"
  if ($svc.started -eq $True ) {
    write-host "$name has Messenger running"
  }
}
Haben Sie das Zeichen ' in der dritten Zeile bemerkt? Durch dieses Zeichen weiß Windows PowerShell, dass diese Zeile auf der folgenden Zeile fortgesetzt wird. Das ist in Fällen wie diesem hilfreich, wenn die vollständige Zeile nur mit Zeilenumbruch dargestellt werden könnte. Beachten Sie außerdem, dass mein If-Konstrukt die Variable $svc.started mit $True vergleicht. Die Variable $True ist eine reservierte Variable in Windows PowerShell, die den Wert für das boolesche "True" darstellt. (Natürlich gibt es eine Variable $False, die den booleschen Wert "False" verkörpert.) In Wirklichkeit hätte ich hier etwas abkürzen können:
$names = get-content c:\computers.txt
foreach ($name in $names) {
  $svc = get-wmiobject win32_service '
   -computer $name -filter "name='messenger'"
  if ($svc.started) {
    write-host "$name has Messenger running"
  }
}
Denken Sie daran, dass der Vergleich im If-Konstrukt einfach nur "True" oder "False" ergeben muss. Normalerweise erhalten Sie "True" oder "False" durch den Vergleich zweier Werte, wie ich das in der ersten Version dieses Skripts getan habe. Da die Eigenschaft "Started" selbst entweder "True" oder "False" ist, muss dieser Wert eigentlich nicht mit "True" oder "False" verglichen werden.

Ein wirklich hilfreiches Tool
So, da haben wir es - ein einfaches, hilfreiches Tool für Verwaltungsaufgaben, das seine Arbeit mit Hilfe von Konstrukten erledigt. Ob Sie das Konstrukt nun interaktiv in Windows PowerShell eingeben oder zur einfachen Wiederverwendung in einer PS1-Datei speichern, es handelt sich um ein handliches Tool zum Überprüfen des Status eines Services auf mehreren Computern und um eine hervorragende Demonstration, wie Konstrukte die Automatisierung von Verwaltungsaufgaben erleichtern können.

Don Jones ist der Direktor für Projekte und Services bei SAPIEN Technologies und Mitverfasser von Windows PowerShell: TFM (SAPIEN Press, 2006). Besuchen Sie Don auf seiner Website unter ScriptingAnswers.com (in Englisch).


 Hey, Scripting Guy!: Passen Sie auf, was Sie sagen!
Hey, Scripting Guy!
Passen Sie auf, was Sie sagen!
Die Microsoft Scripting Guys

WÄHREND DES AMERIKANISCHEN Bürgerkriegs (in der Schlacht um Spotsylvania, um genau zu sein) war der General der Unionsarmee John Sedgwick entsetzt, als er sehen musste, wie sich seine Männer vor dem gelegentlichen Gewehrfeuer der Scharfschützen der Konföderierten, das zufällig in ihre Richtung zielte, verkrochen. Der Legende nach soll Sedgwick seinen Männern Folgendes gesagt haben: "Ich schäme mich für euch, dass ihr euch so feige versteckt. Auf die Entfernung können die nicht mal einen Elefanten treffen!" Nur wenige Augenblicke später wurde Sedgwick zum Offizier mit dem höchsten Rang, der in diesem Krieg getötet wurde. Vielleicht konnten die Scharfschützen der Konföderierten keinen Elefanten treffen, aber, sehr zum Pech für Sedgwick, einen General schon.
Natürlich braucht die Moral von der Geschichte nicht extra betont zu werden - nun, da Sie es sagen:"Halt Deinen Kopf unten, wenn jemand auf dich schießt!", wäre doch wohl die richtige Lehre aus dieser Geschichte, oder? Hmm - schlecht, dass wir daran nicht gedacht haben! Stattdessen haben wir die folgende Lehre gezogen: "Pass auf, was Du sagst, es könnte eines Tages auf Dich zurückfallen!" Das galt für General John Sedgwick, und das gilt wohl für die meisten Menschen. So erinnert sich z. B. kein Mensch mehr an Thomas Watson, langjähriger Chef von IBM, als einen der größten Arbeitgeber in der Geschichte der USA. Stattdessen wurde Watson unsterblich als der Mann, der sagte: "Ich glaube, es gibt da einen Markt für, sagen wir mal, fünf Computer!".
Interessanterweise gibt es keinerlei Belege dafür, dass Watson dies wirklich gesagt hat. Bestenfalls hat er einfach nur die Gedanken eines Anderen zu diesem Thema wiedergegeben. Aber wen kümmert das schon? Letzten Endes liefert uns der Gedanke, dass der Chef von IBM gesagt haben soll, dass es keinen Markt für Computer gäbe, eine so tolle Geschichte, dass wir uns das nicht durch so einen Quatsch wie Tatsachen kaputt machen lassen, oder?
Übrigens hat Watson tatsächlich gesagt: "Wenn Du Erfolg haben willst, verdoppele Deine Fehlerrate!". Diesen Rat haben sich die Scripting Guys sehr zu Herzen genommen.
Nun, jedenfalls den Teil mit der Verdopplung der Fehlerrate.
Und dann gibt es noch dieses Zitat: "Wenn Du Skripts in VBScript schreibst, hast Du keinen Zugriff auf .NET Framework." Zugegebenermaßen ist die Aussage, dass Microsoft® .NET Framework für Skriptschreiber nicht zugänglich ist, nicht ganz so geschichtsträchtig wie "Auf die Entfernung können die nicht mal einen Elefanten treffen!" oder "Ich glaube, es gibt da einen Markt für, sagen wir mal, fünf Computer!". Eine solche Aussage liegt jedoch mindestens genauso daneben. Es stimmt, dass .NET Framework für Entwickler in C# und Visual Basic® geschrieben wurde, und es stimmt, dass VBScript native Klassen in .NET Framework nicht instanzieren kann. Aber das bedeutet nicht, dass .NET Framework für Skriptschreiber unzugänglich wäre, jedenfalls vollständig.
Ja, Sie haben Recht: wir können nicht leugnen, dass die Mehrheit der Klassen von .NET Framework außerhalb der Reichweite von VBScript liegt. Es gibt jedoch eine beträchtliche Anzahl von Klassen in .NET, die über eine COM-aufrufbare Kapsel verfügen. Das heißt, dass diese Klassen über eine COM-Schnittstelle verfügen, was einfach nur bedeutet, dass durch eine Skriptsprache wie VBScript auf diese Klassen zugegriffen werden kann. Sie sagen, dass das kaum zu glauben ist? Dann werfen Sie einen Blick auf den Abschnitt HKEY_CLASSES_ROOT in Ihrer Registrierung, wie in Abbildung 1 dargestellt. Dort finden Sie alle möglichen Arten von Klassen, die mit "System" beginnen.
Abbildung 1 'System'-Klassen in der Registrierung
Abbildung 1 'System'-Klassen in der Registrierung (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 'System'-Klassen in der Registrierung
Abbildung 1 'System'-Klassen in der Registrierung (Klicken Sie zum Vergrößern auf das Bild)
Die meisten dieser Objekte sind Klassen aus .NET Framework und für die meisten dieser Klassen können mittels VBScript Instanzen erzeugt werden.
Na bitte!
Natürlich bedeutet das nicht, wie jeder bestätigen kann, der schon einmal ein Produkt spät in der Nacht bei einem Shoppingsender bestellt hat, dass man etwas unbedingt tun sollte, nur weil man es kann (das ist häufig der Grund, warum derartige Produkte nicht in Läden angeboten werden). Natürlich können Sie in einem Skript eine Instanz der Klasse "System.ContextMarshalException" erzeugen. Wir haben aber keine Ahnung, warum Sie das tun sollten oder was Sie mit einer solchen Instanz anfangen könnten.
Aber das trifft nicht auf alle Klassen in .NET Framework zu. So bezieht sich z. B. einer der gefürchtetsten Schrecken in der Welt der Skripte auf die Tatsache, dass es keine simple Möglichkeit zum Sortieren von Listeneinträgen gibt. Wenn Sie eine Liste in alphabetischer Reihenfolge sortieren möchten, müssen Sie entweder eine unverknüpfte Menge an Datensätzen bemühen oder auf eigene Faust eine komplizierte Sortierfunktion schreiben, wie z. B. die folgende Funktion zum Sortieren von Blasen (Leser mit empfindlichem Magen fahren am besten mit dem nächsten Abschnitt fort):
For i = (UBound(arrNames) - 1) to 0 Step -1
    For j= 0 to i
        If UCase(arrNames(j)) >
          UCase(arrNames(j+1)) Then
            strHolder = arrNames(j+1)
            arrNames(j+1) = arrNames(j)
            arrNames(j) = strHolder
        End If
    Next
Next
Machen Sie sich nichts daraus: wir haben den Code geschrieben, aber wir wissen auch nicht ganz genau, was das alles bedeutet!
Nun, wie kann uns .NET Framework in einer solchen Situation helfen? Um diese Frage zu beantworten, schauen wir uns ein sehr einfach gehaltenes und geradliniges Skript an:
Set DataList = CreateObject _
      ("System.Collections.ArrayList")

DataList.Add "B"
DataList.Add "C"
DataList.Add "E"
DataList.Add "D"
DataList.Add "A"

DataList.Sort()

For Each strItem in DataList
    Wscript.Echo strItem
Next
Wie Sie sehen können, erzeugen wir hier eine Instanz der .NET Framework-Klasse "System.Collections.ArrayList". Anschließend fügen wir mit Hilfe der Methode "Add" fünf Elemente in die Liste ein. Das ist alles schön und gut, mit einer Ausnahme: wir haben diese Einträge irgendwie planlos eingefügt (B, C, E, D, A), aber wir müssen die Einträge in der Reihenfolge (A, B, C, D, E) anzeigen. Es wird Zeit, dass wir den Code zum Sortieren von Blasen hervorkramen, stimmt's?
Falsch! (Entschuldigen Sie, dass wir so direkt sind, aber falsch ist nun einmal falsch.) Wie sich herausstellen wird, brauchen wir den Code für die Blasensortierung nicht. Alles was wir tun müssen, ist die Methode "Sort" für Array-Listen aufzurufen.
DataList.Sort()
Und das war's schon! Mit dieser einzigen Zeile an Code können wir alle Elemente in unserer Array-Liste sortieren.
Wollen Sie Beweise? Toll, cleveres Publikum! Das geht schon in Ordnung. Wir haben damit gerechnet, dass es diesen oder jenen ungläubigen Thomas in unserer Leserschaft gibt. Aus diesem Grund enthält das Skript eine "For Each"-Schleife, die alle Elemente in der Liste abarbeitet und den Wert der einzelnen Elemente auf dem Bildschirm ausgibt.
For Each strItem in DataList
    Wscript.Echo strItem
Next
Nun, hier ist eine Frage, mit der Sie sich beschäftigen können: Was bekommen wir zurück, wenn wir dieses Skript ausführen?
Gut getippt:
A
B
C
D
E
Hübsch, nicht wahr?
Hmm, wir merken, dass einige von Ihnen noch nicht ganz glücklich sind. Sie sagen, dass das zwar alles gut und schön ist, aber was Sie eigentlich wollten, war die Ausgabe dieser Werte in absteigender Reihenfolge, also eine Liste von Z bis A anstatt einer Liste von A bis Z. Nun, wenn uns nicht mal das gelingt. . .
Hey, kein Problem! Sie brauchen doch bloß zu fragen:
Set DataList = CreateObject _
      ("System.Collections.ArrayList")

DataList.Add "B"
DataList.Add "C"
DataList.Add "E"
DataList.Add "D"
DataList.Add "A"

DataList.Sort()
DataList.Reverse()

For Each strItem in DataList
    Wscript.Echo strItem
Next
Sie haben Recht: das sieht doch verdammt ähnlich aus wie das weiter oben dargestellte Skript, oder? Nun, es gibt da jedoch eine wichtige Ergänzung! Betrachten Sie sich diese einzelne Codezeile, die wir eingefügt haben, die Zeile gleich nach der Methode "Sort":
DataList.Reverse()
Sehen Sie das? Nach dem Sortieren der Liste in aufsteigender Reihenfolge haben wir die Methode "Reverse" aufgerufen, die, welch Überraschung, die Reihenfolge aller Elemente im Array umkehrt. Was bringt uns das? Eine Ausgabe, die so aussieht:
E
D
C
B
A
Schwer beeindruckend, nicht wahr?
Aber warten Sie! Es kommt noch besser. Haben Sie jemals versucht, ein Element aus einem Array in VBScript zu löschen? Nein, nicht weinen! Wir haben nicht vor, das von Ihnen zu verlangen. Stattdessen zeigen wir Ihnen, wie einfach ein Element aus unserer Array-Liste in .NET Framework gelöscht werden kann. Mögen Sie den Buchstaben D nicht? Dann werden Sie ihn eben los! Hier sehen Sie ein Skript, das eine Array-Liste erzeugt, die Liste sortiert und anschließend den Eintrag für D löscht:
Set DataList = CreateObject _
  ("System.Collections.ArrayList")

DataList.Add "B"
DataList.Add "C"
DataList.Add "E"
DataList.Add "D"
DataList.Add "A"

DataList.Sort()
DataList.Remove("D")

For Each strItem in DataList
    Wscript.Echo strItem
Next
Auch hier sollten Sie sich die unscheinbare Codezeile direkt nach der Methode "Sort" ansehen:
DataList.Remove("D")
Hier haben wir mit Hilfe der Methode "Remove" das Element gleich D gelöscht. Und hier sehen Sie das Resultat der Ausführung des Skipts:
A
B
C
E
Hasta la vista, D!
Und versäumen Sie nicht den besten Teil: Wir können ein Element löschen, ohne Größe und Dimension des Arrays ändern zu müssen. Das ist doch echt clever. Natürlich können wir auch Elemente in das Array einfügen, ohne Größe und Dimension des Arrays ändern zu müssen. Sagen Sie uns nicht, dass dadurch Ihr Skriptschreiberleben nicht einfacher würde!
Ob Sie es glauben oder nicht, wir haben bisher nicht einmal die Schale von dem angekratzt, was Sie mit Array-Listen in .NET Framework anstellen können. (Weitere Informationen finden Sie unter arraylist entry in the .NET Framework SDK (in Englisch)).
Ist die Arrayliste hilfreich für Skriptschreiber? Lassen Sie es uns so sagen: Seit wir die Array-Liste aus .NET Framework kennen, wissen wir nicht so recht, warum Sie jemals das in VBScript integrierte Array verwenden sollten, jedenfalls nicht für so einfache Listen, wie wir sie hier verwendet haben.
Zugegeben, wir Scripting Guys haben nicht einmal eine ermüdende Übersicht über .NET Framework erstellt, nur um herauszufinden, welche Klassen hilfreich für Skriptschreiber wären (und welche Klassen möglicherweise nicht). Daran arbeiten wir noch. In der Zwischenzeit können Sie ja im gesamten .NET Framework SDK herumstöbern. Es hat den Anschein, dass wir bei jedem Herumkramen im SDK etwas Neues und Interessantes finden, dass für Skriptschreiber nützlich sein könnte.
So, zum Beispiel? Nun, wie wär's mit dem Erzeugen von Zufallszahlen? Möchten Sie mit Hilfe des Zufallszahlengenerators in VBScript eine Zufallszahl zwischen 1 und 100 erzeugen? Kein Problem! Schreiben Sie einfach einen solchen Code auf:
Randomize
Wscript.Echo Int((100 - 1 + 1) * Rnd + 1)
Haben Sie sich diese Formel merken können? Falls nicht, keine Panik! Es zeigt sich, dass die Verwendung der Klasse "System.Random" aus .NET Framework wesentlich einfacher und intuitiver ist:
Set objRandom = CreateObject("System.Random")
Wscript.Echo objRandom.Next_2(1,100)
Sehr wahrscheinlich werden Sie das ohne große Erläuterung einsehen. Wir geben Ihnen trotzdem eine kurze Erläuterung, und wenn es nur deshalb ist, weil TechNet Magazin diese Vorstellung hat, dass Kolumnisten jeden Monat wirklich etwas schreiben sollten. (Fragen Sie uns nicht, warum - das ist deren Ansicht, nicht unsere.)
Wie Sie sehen können, haben wir eine Instanz der Klasse "System.Random" angelegt und anschließend die Methode "Next_2" aufgerufen und dabei zwei Parameter übergeben:
  • 1, die Anfangszahl in unserem Intervall (denken Sie daran, dass wir hoffentlich eine Zufallszahl zwischen 1 und 100 erzeugen werden).
  • 100, die Obergrenze unseres Intervalls.
Mehr gibt es nicht zu tun.
Sieht so aus, als hätten wir noch Zeit für eine abschließende Frage. Ja bitte, Sie im grünen Hemd! Wer genau von Ihnen hat eigentlich behauptet, dass Skriptschreiber keinen Zugriff auf .NET Framework haben? Nun, um ganz ehrlich zu sein, als wir anfingen zu - oh, ich glaube, die Zeit ist um. Bis zum nächsten Monat!
Tolle Zeiten, tolle Zeiten
Es ist ja fast Februar, und das kann nur eines bedeuten. Nein, nicht Valentinstag. Nein, auch nicht der Tag des Präsidenten. Oh, um Himmels Willen, Murmeltiertag? Nein, je näher der Februar kommt, desto näher kommen die 2007 Winter Scripting Games, der weltweit wichtigste (wahrscheinlich der weltweit einzige) internationale Wettkampf im Skriptschreiben. Die Games in diesem Jahr werden wohl größer und besser als je zuvor. In diesem Jahr spielen wir in vier Ligen:
  • Beginners VBScript
  • Advanced VBScript
  • Beginners Windows PowerShell™
  • Advanced Windows PowerShell
Weitere Informationen finden Sie unter 2007 Winter Scripting Games Homepage (in Englisch).
Was ist das? Oh, danke! Und, nun ja, auch noch einen glücklichen Murmeltiertag für Sie alle!

Laden Sie heute noch Windows PowerShell herunter
Windows PowerShell 1.0 kann nun heruntergeladen werden. Und es kostet nichts! Wie können Sie sich das entgehen lassen? Laden Sie die Software herunter und arbeiten Sie noch heute mit PowerShell!

Die Microsoft Scripting Guys arbeiten für- nun gut, sind angestellt bei - Microsoft. Wenn Sie nicht gerade Baseball (oder verschiedenste andere Aktivitäten spielen/trainieren/anschauen, kümmern sie sich um das TechNet Script Center. Schauen Sie mal rein unter www.scriptingguys.com.


 Exchange Queue &amp; A: Wir haben alle Antworten (weil wir die Fragen gestellt haben)
Exchange Queue & A
Wir haben alle Antworten (weil wir die Fragen gestellt haben)
KC Lemson and Paul Bowden

Hallo und herzlich willkommen bei der ersten Ausgabe von Exchange Queue & A! Wir beginnen mit einer Reihe von Fragen, die wir, um ehrlich zu sein, uns selbst gestellt haben. Daher wäre es sicherlich unfair, diese Kolumne als echte Frage-und-Antwort-Serie vorzustellen,
da es sich lediglich um F&A handelt, bei denen die Fs und die As aus derselben Quelle stammen. Wir sind jedoch der Ansicht, dass diese Fragen typisch für die Anwender von Microsoft® Exchange Server sind (und wir deshalb die Moral auf unserer Seite haben). In Zukunft würden wir uns sehr über Ihre Fragen freuen. Senden Sie Ihre Fragen einfach an queuea@microsoft.com.
Unsere derzeitigen Vorstellungen für diese Kolumne sehen so aus, dass sie abwechselnd von mehreren Autoren gestaltet wird (etwa so wie "werft die Autoren an die Wand und schaut, wer kleben bleibt"). Aber wir alle arbeiten schon seit vielen Jahren mit Exchange. In diesem Monat stammen die Antworten (und die Fragen!) von KC Lemson und Paul Bowden, beide verantwortliche Programm-Manager aus dem Exchange-Produktteam von Microsoft. Beide gehören zu den alten Hasen aus der Exchange-Entwicklungsabteilung. Wir sind ein wenig herumgekommen, jedoch ist es uns nie gelungen, uns ganz vom Messaging zu trennen.
KC hat in den vergangenen sechs Jahren in der Exchange-Gruppe gearbeitet und dort verschiedene Funktionen besetzt, u. a. arbeitete sie als Programm-Managerin bei Microsoft Outlook® Web Access (OWA) und wirkte als eine verantwortliche Programm-Managerin im Prerelease-Kundenprogramm von Exchange. Zurzeit arbeitet sie als Managerin mit Schwerpunkt Benutzererfahrung für Exchange und ist verantwortlich für Produktgestaltung und kundenorientierte Marktforschung. Vor ihrer Tätigkeit in der Exchange-Gruppe arbeitete sie drei Jahre lang als Testerin für Outlook. Im Rahmen dieser Tätigkeit war sie für das Testen von Anhängen verantwortlich, als man der der Meinung war, dass das Blockieren von ausführbaren E-Mail-Anhängen eine besonders verwerfliche Sache sei. KC schreibt Blogs unter blogs.technet.com/kclemson.
Paul hat die letzten drei Jahre mit der Arbeit an dem flotten kleinen Tool "Exchange Best Practices Analyzer" (ExBPA) verbracht. Vor einigen Monaten hat er doch tatsächlich dafür einen Preis erhalten und wurde zur Belohnung zusammen mit Bill Gates fotografiert. Da das Exchange Server 2007-Projekt kurz vor dem Abschluss steht, wird es jedoch Zeit, die Karten neu zu mischen. Paul muss aufhören, in XML zu träumen, und wieder auf den Boden der Tatsachen zurückkehren. Er ist als Release-Manager für die nächste Version von Exchange vorgesehen (der Version, mit deren Entwicklung wir unmittelbar nach der Auslieferung von Exchange Server 2007 beginnen werden).
Nebenbei bemerkt, ist Ihnen aufgefallen, wie viel Witz und Verstand wir bei der Benennung dieser Rubrik demonstriert haben? Leider ist dieser Name nicht einmal auf unserem Mist gewachsen. Ein Leser von KCs Blog hat diesen Vorschlag gemacht. (Viel Spaß mit dem T-Shirt, Tim!) Weitere Vorschläge waren "Pushing the Envelope" (Bis an die Grenze gehen) und "When I'm X64" (Wenn ich X64 bin). Die letzte Bezeichnung hat KC so viel Spaß bereitet, dass sie www.whenimx64.com registrieren ließ und als Verweis auf ihren Blog verwendet, weil das eben gerade möglich war. Wenn wir doch nur in der Lage wären, in unserem Leben alles so einzurichten.
Randbemerkung: Der erste Vorschlag von KC für die Bezeichnung lautete "The Monthly Queue and A" (Die monatliche Warteschlange nebst Antworten). Unser Herausgeber hat jedoch treffend bemerkt, dass wir eine bis jetzt unbekannte Größe wären und er nicht sicher ist, ob wir auch immer termingerecht liefern werden. (Er hat das etwas höflicher und weniger direkt ausgedrückt, aber wir haben ihn verstanden.) In diesem Zusammenhang stellt sich auch die Frage, wie das Feedback der Leser dieser Rubrik sein wird. Wir haben da keine Vorstellung, und vielleicht lohnt sich eine Fortsetzung ja nicht. Daher haben wir uns beim Titel erst einmal in der Mitte getroffen. Bitte teilen Sie uns Ihre Meinung unter queuea@microsoft.com mit.
Und nun, ohne weitere Umstände, zu den Fragen...

F Warum sollte ich mich für Exchange Server 2007 begeistern?
A Sicherlich ist es ein Risiko, eine Kolumne mit einer Frage aus dem Marketing zu beginnen, aber wir sind von Exchange Server 2007 so begeistert und möchten unsere Begeisterung mit Ihnen teilen! Wir werden daher versuchen, jenseits der gängigen Verkaufsargumente einige der zahlreichen technischen Gründe anzusprechen, warum ein Administrator oder Benutzer von Exchange vom neuen Exchange 2007 begeistert sein sollte.

Verbesserungen bei Skalierbarkeit und Leistung
Zuallererst das Offensichtliche: 64-Bit. Was ist daran so großartig, fragen Sie? 32-Bit Windows® unterstützt nur maximal 4 GB (232 Byte) Arbeitsspeicher. Davon werden normalerweise bereits 2 GB vom Kernel beansprucht. Es bleiben also nur noch 2 GB für Anwendungen. In der aktuellen Version von Windows gibt es in der boot.ini den Schalter /3GB, der bis zu 3 GB Arbeitsspeicher für Anwendungen reserviert. Wenn Sie jedoch diesen Schalter verwenden, wird der Windows-Kernel etwas ungemütlich und es dauert nicht lange, bis Sie diesen Server neu starten müssen, um Ressourcen freizugeben.
Glücklicherweise wird dieses Problem durch die Unterstützung von 64 Bit zusammen mit wesentlichen Änderungen am zugrunde liegenden Datenbankmodul (JET) in Exchange gelöst. Da Exchange-Server traditionell mehr durch E/A-Vorgänge zur Festplatte belastet werden als durch andere Systemressourcen (wie z. B. die CPU), bedeutet das Erweitern des Arbeitsspeichers, dass die E/A-Vorgänge zur Festplatte drastisch reduziert werden können. Schließlich können viel mehr Daten im Arbeitsspeicher abgelegt und müssen nicht von der Platte gelesen werden. Dadurch können Sie mit Exchange 2007 viel größere Postfächer für Ihre Benutzer bei ähnlicher Hardwareausstattung unterstützen als mit Exchange 2003. Der Mail-Server, den ich bei Microsoft nutze, unterstützt z. B. 4.000 Benutzer mit Postfächern von jeweils 2 GB. Das führt zu einer Gesamtdatenmenge von 6 Terabyte (TB). Um es deutlich zu sagen, nur weil Exchange 2007 einen größeren Arbeitsspeicher nutzen kann, bedeutet das nicht, dass Exchange 2007 mehr Speicher benötigt. Wir haben einen Computer getestet, auf dem ein 32-Bit Windows Server® 2003 und Exchange 2003 mit 4 GB oder weniger Arbeitsspeicher ausgeführt wurden und anschließend 64-Bit Windows Server 2003 und Exchange 2007 installiert und ein ähnliches Leistungsverhalten erlebt.
Exchange 2007 beinhaltet außerdem zwei neue Methoden zur Verbesserung der Verfügbarkeit: Clustered Continuous Replication (CCR) und Local Continuous Replication (LCR). Durch diese Technologien wird das Ausfallrisiko von Massenspeichern mit den damit verbundenen ernsthaften Problemen verringert. LCR bewahrt eine lokale Kopie der Datenbanken auf demselben Computer auf. Sie können die Datenbanken jedoch auf einem anderen Massenspeichermedium ablegen. CCR kann dies zwischen zwei Computern über ein Netzwerk erledigen. CCR, zusammen mit den Verbesserungen bei den oben in diesem Artikel bereits erwähnten E/A-Vorgängen, bietet neue Möglichkeiten für Massenspeicher-Hardware. Wenn Sie Speichermedien mit Direktzugriff, wie z. B. SATA- oder SCSI-Laufwerke, nutzen möchten, ist dies nun eine viel kostengünstigere und leistungssteigernde Option.

Administration
Bei der Entwicklung von Exchange 2007 lag einer der Schwerpunkt in einer Verbesserung der Funktionen und Prozesse für Administratoren. Dazu gehört die in Abbildung 1 dargestellte Befehlszeilenschnittstelle. Diese Schnittstelle heißt Exchange Management Shell (EMS) und basiert auf Windows PowerShell™. Wenn Sie kein begeisterter Anhänger der Befehlszeile sind, ist das auch in Ordnung. Die grafische Benutzeroberfläche steht Ihnen weiterhin zur Verfügung. Sie heißt nun Exchange Management Console (EMC) und ist viel intuitiver als der frühere System Manager (siehe Abbildung 2). Wenn Sie bereits ein begeisterter Fürsprecher von Befehlszeilenschnittstellen sind oder werden möchten, testen Sie die EMS in Exchange 2007.
Abbildung 1 Status von Speichergruppen in Exchange Management Shell
Abbildung 1 Status von Speichergruppen in Exchange Management Shell (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 Status von Speichergruppen in Exchange Management Shell
Abbildung 1 Status von Speichergruppen in Exchange Management Shell (Klicken Sie zum Vergrößern auf das Bild)
Abbildung 2 Der gleiche Status in Exchange Management Console
Abbildung 2 Der gleiche Status in Exchange Management Console (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 Der gleiche Status in Exchange Management Console
Abbildung 2 Der gleiche Status in Exchange Management Console (Klicken Sie zum Vergrößern auf das Bild)
In Exchange 2003 müssen Sie möglicherweise Skripts aus Windows Management Instrumentation (WMI) verwenden, um einige der komplexeren Verwaltungsaufgaben auszuführen. Mit EMS jedoch können diese Aufgaben von jedem ausgeführt werden, der Zugang zu "CD C:\TEMP" hat und nicht glaubt, dass es sich dabei um ein Album einer neuen Band handelt (ba dum bump). Obwohl einer von uns früher einmal UNIX-Sysadmin war, und man daher unsere Objektivität an dieser Stelle in Frage stellen könnte, kennen wir eine Menge Leute, die Ihnen vorurteilsfrei darlegen können, wie unglaublich intuitiv die Shell ist. Das gilt auch für Leute, die noch nie zuvor mit der Befehlszeile gearbeitet haben (mehr dazu in der nächsten Ausgabe von Exchange Queue & A).
Zu den unschlagbaren Vorteilen der Windows PowerShell gehört, dass sie auf Objekten basiert. Wenn Sie Informationen vom Server abrufen, z. B. eine Liste der Postfächer oder SMTP-Connectors, werden diese Informationen automatisch in einem Objekt oder einer Variablen gespeichert und zur einfachen Lesbarkeit als Text an "stdout" weitergeleitet. Dieses Objekt kann anschließend direkt an einen anderen Befehl übergeben und in der Pipeline verarbeitet werden. (In diesem Fall wird das Objekt übergeben, nicht der Text. Dadurch können die Daten auf einfache Weise geändert werden und Sie können die Daten auch teilweise verwenden). Hier ist ein einfaches Beispiel:
Get-Mailbox | Set-Mailbox -ProhibitSendQuota 250MB
Der Befehl "Get-Mailbox" ruft eine Liste der im System vorhandenen Postfächer ab. Das | (das Pipe-Symbol) gibt an, dass die Ausgabe des Befehls links vom Zeichen an den Befehl rechts vom Zeichen übergeben werden soll. Der nächste Teil "Set-Mailbox-ProhibitSendQuota 250MB" bedeutet, dass all diese Postfächer nun über ein Kontingent verfügen und nach Erreichen einer Datenmenge von 250 MB keine E-Mails mehr versenden können. Sie könnten hier auch 250000000 oder 250000 KB oder .25 GB angeben. Die Shell ist bei der Verarbeitung von Daten sehr flexibel.
Eine weitere nützliche Verbesserung für den Administrator in Exchange 2007 besteht in der Möglichkeit, Transportregeln zu erstellen. Dies erfolgt mit Hilfe eines Regel-Assistenten, der dem Assistenten in Outlook sehr ähnlich ist. Mit diesem Assistenten können Sie auf Nachrichten, die durch Ihr System geleitet werden, Geschäftslogik anwenden. Möchten Sie anhand eines regulären Ausdrucks alle E-Mails mit Sozialversicherungsnummern im Textkörper blockieren? Ist gebongt. Möchten Sie eine "soziale Barriere" zwischen zwei Abteilungen Ihrer Organisation errichten, indem Sie verhindern, dass diese Abteilungen E-Mails austauschen können? Ist gebongt. Möchten Sie einen Haftungsausschluss an jede E-Mail anhängen, die Ihre Organisation verlässt? Ist gebongt.
Eine weitere Verwaltungsfunktion, die uns sehr begeistert, sind die anpassbaren Systemmeldungen: ohne weiteres Zutun können Sie nun Ihren eigenen Text an Berichte über die Nichtzustellbarkeit von Nachrichten anfügen und (endlich!) die Systemmeldung anpassen, die Benutzer sehen, wenn diese das Speicherplatzkontingent ausgeschöpft haben.

Helfen Sie dem Helpdesk
Bei vielen Kunden stellen die Helpdesk-Kosten im Zusammenhang mit der Konfiguration neuer Outlook-Profile eine beträchtliche Summe dar. Mit Autodiscover in Outlook 2007, können Sie einfach Outlook starten und Outlook wird automatisch Ihre E-Mail-Adresse nachschlagen und mit Hilfe von Service Connection Point Ihre Exchange-Server-Informationen aus Active Directory® abrufen. Wenn Sie keine Verbindung zu Active Directory haben, geben Sie einfach Ihre E-Mail-Adresse und Ihr Kennwort ein. Der Suchmechanismus von Autodiscover kann eine XML-Datei von einem vorgegebenen Web-Server herunterladen (z. B. von http://autodiscover.contoso.com), in der wichtige Informationen über die Konfiguration enthalten sind, z. B. welcher Server für RPC über HTTP zu nutzen ist (nun Outlook Anywhere genannt).
Ein weiterer Kostenfaktor beim Helpdesk sind die scheinbar unvermeidlichen falschen Positivmeldungen vom Anti-Spam-Filter. Benutzer können Sicherheitslisten mit Absendern pflegen, deren Nachrichten nicht gefiltert werden sollen. Vor Exchange 2007 haben diese Listen jedoch lediglich bewirkt, dass diese Nachrichten nicht vom Outlook-Filter bearbeitet wurden. Da der Exchange-Filter jedoch die Nachrichten bearbeitet, bevor sie überhaupt in Outlook ankommen, können E-Mails von vertrauenswürdigen Absendern an den Benutzer verloren gehen.
Exchange 2007 hilft auch hier: Wenn Sie den Anti-Spam-Filter entweder in der Rolle Edge-Server oder Hub-Server in Exchange 2007 nutzen, können Sie den Server so konfigurieren, dass er die Listen vertrauenswürdiger Absender der Benutzer an diesen Server weiterleitet und dass dadurch Nachrichten von diesen Absendern den Spam-Filter umgehen können. Natürlich ist eine Nachricht für den einen Benutzer Spam und für einen anderen ein Newsletter. Daher erfolgt die Weiterleitung benutzerbasiert.

Bonbons für Endbenutzer
Mit Unified Messaging (UM) in Exchange 2007 können Sie eingehende Sprach- und Faxnachrichten im Posteingang empfangen. (Wenn Sie das bisher noch nicht konnten, wissen Sie nicht, was Sie versäumt haben.) Sie können auch den Exchange-Server anrufen und anweisen, allen Teilnehmern der 8-Uhr-Konferenz mitzuteilen, dass Sie sich verspäten werden. Selbst kleine Unternehmen können angepasste und automatische markenorientierte Benutzer einrichten. Wenn Sie Anrufe von Kunden erhalten, werden diese von Ihrem System an den richtigen Ansprechpartner weitergeleitet. Wenn Sie UM nutzen möchten, benötigen Sie entweder eine IP-basierte Nebenstellenanlage (IP/PBX) oder Sie schließen Ihre herkömmliche Vermittlungsstelle an ein VoIP-Gateway (Voice over IP) an.
Link Access ist ein neues Feature in OWA 2007. Was geschieht, wenn Sie ohne installierten VPN-Client unterwegs sind und ein Microsoft Word-Dokument aus einer freigegebenen Datei oder von einer SharePoint®-Site im Unternehmensnetzwerk benötigen? Kein Problem, laden Sie einfach OWA 2007, gehen Sie auf die Verknüpfung des Dokuments und geben Sie den Namen der SharePoint-Site (http://mysharepointsite oder \\server\share) ein, um Dateien zu suchen und zu öffnen. Natürlich gibt es für Administratoren eine Menge Möglichkeiten, um dies zu unterbinden, sie wünschen sich allerdings alle zulässigen Server mit Ausnahme einer bestimmten Liste, alle abgelehnten Server, mit Ausnahme einer bestimmten Liste, nur Zugriff auf Dokumente, wenn sich Benutzer von einem privaten Computer aus bei OWA anmelden usw.
OWA verfügt außerdem über WebReady Document Viewing (Techies nennen das Transcodieren). Mit diesem Mechanismus können Sie Exchange anweisen, bestimmte Dateitypen als HTML darzustellen, wenn auf dem lokalen Computer keine entsprechende Anwendung installiert wurde. Exchange 2007 wird standardmäßig mit Unterstützung für das Transcodieren der folgenden Dateitypen geliefert: DOC, DOT, RTF, WBK, WIZ, XLS, XLK, PPT, PPS, POT, PWS und PDF. Das Transcodierungs-Modul verfügt über eine dynamisch austauschbare-Architektur, damit Sie die Unterstützung weiterer Dateitypen in einem Service Pack hinzufügen können. Es gibt außerdem Optionen für den Administrator, mit denen dieser festlegen kann, welche Dateitypen transcodiert werden dürfen. Der Administrator kann das Transcodieren auch gänzlich untersagen.
Wenn Sie Mobilgeräte nutzen, die sich über Exchange ActiveSync® mit Exchange synchronisieren, werden Sie erfreut sein, dass beim Beantworten oder Weiterleiten einer Nachricht aus einem E-Mail-Thread die Nachricht nicht in konvertiert wird. Der Text wird an den Anfang des Dokuments gesetzt. Der HTML-Textkörper des übrigen Teils der Nachricht bleibt jedoch in seinem bisherigen Zustand. Das funktioniert für jedes Gerät, das ActiveSync unterstützt. Eine gesonderte Funktion im Client wird nicht benötigt.

F Ich habe gehört, dass Exchange 2007 nur für Produktionszwecke 64-Bit ist". Was heißt das?
A Exchange 2007 ist sowohl als 32-Bit-Version als auch als 64-Bit-Version verfügbar. Die 64-Bit-Version ist für den Einsatz Produktionsumgebungen für wichtige Server-Funktionen (Mailbox, Hub-Transport, Edge-Transport, Client Access, Unified Messaging) vorgesehen. Die 32-Bit-Version dient zur Einschätzung der neuen Funktionen von Exchange 2007. Außerdem können in der 32-Bit-Version die Verwaltungstools genutzt werden. Sie können also Ihre Server mit der 64-Bit-Version von Exchange von Ihrem Desktop-Computer mit 32-Bit Windows XP aus verwalten. Beachten Sie außerdem, dass das Schema von Exchange 2007 von einem Computer in der Root-Domäne installiert werden muss - Exchange selbst muss nicht in der Root-Domäne installiert werden. Wir verlangen jedoch, dass die Schemaerweiterung in der Root-Domäne erfolgt, damit eine gute Netzwerkverbindung zum Schema-Master sichergestellt ist. Wenn in dieser Domäne kein 64-Bit-Server vorhanden ist, können Sie das Schema mit Hilfe von setup.exe aus der 32-Bit-Version erweitern.
Sie fragen sich, was an 32-Bit-Servern falsch ist? Wenn Sie schon mal Tausende von Benutzern auf einem einzigen Server ausgeführt haben, wissen Sie, dass dies immer ein Drahtseilakt zwischen Leistung und Stabilität ist. Dies wird hauptsächlich von der Arbeitsspeicherbegrenzung verursacht, die ich bereits weiter oben angesprochen habe. Wenn Sie in den letzten zwei Jahren einen neuen Computer gekauft haben, besteht die Möglichkeit, dass dieser bereits x64-Erweiterungen unterstützt. Heutzutage ist es tatsächlich recht schwierig, einen Computer zu kaufen, der den 64-Bit-Modus nicht unterstützt. Daher ist es möglich, dass der Computer in Ihrer Umgebung, auf dem Exchange ausgeführt wird, bereits 64-Bit-fähig ist. Das Problem besteht lediglich darin, dass der Computer ein 32-Bit-Betriebssystem nutzt. Das bringt uns zu einem wichtigen Punkt - wenn Sie Ihren neuen 64-Bit-fähigen Computer gekauft haben, vergessen Sie nicht, die 64-Bit-Version von Windows Server 2003 SP1 zu installieren.
Und warum sehen Sie all die Warnungen im Setup, dass man 32-Bit-Installationen nicht in Produktionsumgebungen einsetzen sollte? Es ist recht einfach, Exchange in mehreren Varianten zu kompilieren, jedoch wurde jede einzelne Komponente zu 100 Prozent auf 64-Bit abgestimmt und optimiert (einige Codeabschnitte, mit denen wir die Verbesserungen bei Festplatten-E/A realisiert haben, verursachen in 32-Bit-Umgebungen tatsächlich eine Leistungsminderung). Tatsache ist: wenn Sie versuchen, mit 32-Bit die Welt einzureißen, denken Sie nicht einmal daran, dem System unter Last Leistung zu entlocken (simuliert oder sonst wie). Sie erhalten keine realistische Vorstellung von der Leistung eines 64-Bit-Systems oder von der Anzahl der Benutzer, die Sie auf dem Server anlegen könnten.
So, alles klar? Mit der 32-Bit-Version von Exchange 2007 können Sie Folgendes:
  • die neuen Features auf einem Test-Server ohne reale Benutzer-Postfächer einschätzen
  • die neue Administrator-Konsole, die Shell oder die OWA-Schnittstelle dazu bringen, dass Ihnen das Wasser im Munde zusammenläuft (halten Sie dabei jedoch die Tastatur sauber).
  • Ihre Server mit Exchange 2007 verwalten
  • das Schema in Ihrer Active Directory-Installation erweitern.
Wenn Sie bereit sind, Postfächer zu übergeben, müssen Sie Ihre Server mit einem 64-Bit-Betriebssystem und mit Exchange 2007 in der 64-Bit-Version ausstatten. Wenn Sie dies nicht tun, handeln Sie sich sowohl mit Setup als auch mit ExBPA Ärger ein (siehe Abbildung 3). Paul weiß das ganz genau, er hat den Programmcode geschrieben!
Abbildung 3 Versuch einer 32-Bit-Installation, wenn nur 64-Bit funktionieren
Abbildung 3 Versuch einer 32-Bit-Installation, wenn nur 64-Bit funktionieren (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 Versuch einer 32-Bit-Installation, wenn nur 64-Bit funktionieren
Abbildung 3 Versuch einer 32-Bit-Installation, wenn nur 64-Bit funktionieren (Klicken Sie zum Vergrößern auf das Bild)

F Wie viel Arbeitsspeicher wird zum Ausführen von Exchange 2007 benötigt?
A Die einfachste Installation benötigt mindestens 1 GB an physischem RAM. Wie bereits oben erwähnt, haben einige Server schwer zu tun. Wenn Sie einen All-in-One-Server einrichten möchten (z. B. mit Mailbox, Client Access, Hub Transport und Unified Messaging), sollten Sie lieber mit 2 GB anfangen und entsprechend der Anzahl und der Verwendung von Postfächern aufrüsten. Wenn Sie entweder die Edge-Rolle oder einen Cluster installieren möchten, muss dies auf separaten Computern erfolgen. Auf einem Cluster kann lediglich die Mailbox-Rolle installiert werden, sonst nichts.
Sicherlich freut es Sie, wenn Sie erfahren, dass Sie mehr als 4 GB RAM in ihren Exchange-Server installieren können. Die meisten Computer werden heutzutage standardmäßig mit 6 oder 8 GB geliefert und es ist wirklich ein schreiendes Unrecht, diese Data Discovery Record-Module (DDR) außer Betrieb zu setzen oder mittels /BurnMemory die RAM-Größe auf 4 GB runterzusetzen (unglücklicherweise würde sich Exchange 2003 schlechter verhalten, wenn tatsächlich mehr als 4 GB RAM vorhanden sind - weitere Informationen finden Sie unter go.microsoft.com/fwlink/?LinkId=76537).
Für die Infrastruktur-Server (Hubs, Client Access und so) reichen weniger als 4 GB RAM aus, selbst unter den härtesten Lastbedingungen. Nur für die Mailbox-Server sollten Sie richtig Geld ausgeben. Dieser neue optimierte 64-Bit JET-Cache möchte so viel Speicher nutzen wie er kriegen kann. Natürlich unterstützt Exchange 2007, im Gegensatz zu Exchange 2003, bis zu 50 Massenspeichergruppen.
Obwohl jede einzelne Speichergruppe mehrere Datenbanken unterstützen kann, würde Ihnen das nicht viel nützen - besonders weil LCR und CCR (die beiden Formen der Datenbankreplikationen, die wir weiter oben besprochen haben) nur mit Speichergruppen arbeiten können, die über eine einzige Datenbank verfügen. Sie werden sich auf jeden Fall den zusätzlichen Arbeitsspeicher anschaffen müssen, wenn Sie mehrere Speichergruppen anlegen oder den Traum von Postfächern über 2 GB für jeden einzelnen Benutzer leben möchten. Wichtige Informationen über die RAM-Größe finden Sie im Exchange Team Blog, aber die Abbildungen 4 und 5 geben Ihnen einen ersten Einblick in die Problematik.
Figure 5 RAM und Speichergruppen (Close Figure 5)

Physischer RAM | Empfohlene Höchstzahl an Speichergruppen
2 GB | 2
4 GB | 8
8 GB | 24
12 GB | 40
16 GB und mehr | 50
Figure 4 RAM nach Benutzertyp (Close Figure 4)

Benutzertyp | Empfohlener Arbeitsspeicher für die Rolle "Mailbox"
Geringe Auslastung | Grundausstattung 2 GB + 2 MB je Postfach
Durchschnittliche Auslastung | Grundausstattung 2 GB + 3,5 MB je Postfach
Hohe Auslastung | Grundausstattung 2 GB + 5 MB je Postfach
Nebenbei bemerkt, Microsoft IT nutzt das Siebenfache an Speichergruppen, da es einen rotierenden Datensicherungszeitplan gibt, wobei an einem bestimmten Tag nur von einigen der Speichergruppen eine Datensicherung erstellt wird. Wir nennen diesen Zeitplan wegen der Excel-Tabellen mit dem Zeitplan für die Datensicherung "Zuckerstangen-Backups", weil die Speichergruppen, für die an einem bestimmten Tag Datensicherungen erstellt werden, in Rot markiert sind, und das ergibt eine Kaskade, die wie eine Zuckerstange aussieht. Wir hoffen, dass dieser Artikel hilfreich war. Senden Sie uns bitte "echte" Fragen für die nächste Ausgabe.

KC Lemson ist eine verantwortliche Programm-Managerin im Exchange Server-Team. In ihrer Freizeit unterstützt sie einige Mitglieder des nigerianischen Königshauses dabei, deren Vermögen zu mehren.
Paul Bowden ist ein verantwortlicher Programm-Manager im Exchange Server-Team. In seiner Freizeit unterstützt er einige Mitglieder des nigerianischen Königshauses, dabei, deren Vermögen zu mehren. Paul Bowden ist ebenfalls ein verantwortlicher Programm-Manager im Exchange Server-Team. Paul verbringt seine Freizeit meist damit, auf entsprechende Anfragen hin, die Vorgänge auf seinem PayPal-Konto zu überprüfen.


 Sicherheit auf dem Pr&#252;fstand: Diensth&#228;rtung in Windows Vista
Sicherheit auf dem Prüfstand
Diensthärtung in Windows Vista
Wole Moses

Microsoft kündigte die Trustworthy Computing Initiative Anfang des Jahres 2002 nach der Ausbreitung einiger gefährlicher Viren und Würmer an, die Chaos in Windows-Systemen auslösten, ganze IT-Abteilungen lahm legten und Unternehmen wie Verbrauchern bei der Beseitigung teuer zu stehen kamen. Diese Initiative kam einem Schuldeingeständnis von Microsoft
hinsichtlich der vergangenen Sicherheitsvorfälle gleich. Das Unternehmen korrigierte umgehend den Kurs sowie das Leitmotiv bei der Entwicklung von Software mit möglichst vielen Funktionen und hoher Verwertbarkeit zu Software-Sicherheit und Integrität. Im August 2003 schlug der Wurm Blaster zu und trieb die Sicherheitsinitiative noch weiter voran. (Siehe Kurzartikel "Angriff der Klone")
Die Trustworthy Computing Initiative basiert auf den Grundsätzen "Secure by Design", der Philosophie der sicheren Codierung; "Secure by Default", die standardmäßige Nutzung der sichersten Einstellungen für Windows®-Komponenten; und "Secure in Deployment", der Entwicklung von Tools und verpflichtenden Leitlinien, um Unternehmen und Verbraucher bei der Absicherung ihrer Windows-Infrastruktur zu unterstützen.
Insgesamt führte die Trustworthy Computing Initiative zu weitreichenden Verbesserungen bei der Sicherheit. Leider konnte Windows XP nie umfassend von dieser Initiative profitieren, da es 2 Jahre vor ihrem Start auf den Markt kam. (Obwohl beim Service Pack 2, SP2, große Anstrengungen unternommen wurden, war es nicht möglich, die Grundsätze der Initiative vollständig in Windows XP zu integrieren.)
Insofern ist Windows Vista™ das erste Desktop-Betriebssystem von Microsoft, bei dem die Ziele von Trustworthy Computing vollständig verwirklicht wurden. Die Windows Vista-Diensthärtung, eine spezielle Implementierung des Trustworthy Computing-Grundsatzes "Secure by Default" (siehe Abbildung 1), ist eine wichtige neue Fähigkeit, um willkürliches Verhalten von Diensten zu verhindern. Diese Problematik wird von vielen Malware-Programmen heute ausgenutzt. Mit der Diensthärtung erzielt Microsoft große Fortschritte beim Ändern des Standardverhaltens und der Sicherheitsprofile von Windows-Diensten.
Figure 1 Secure by Default: Windows-Dienste (Close Figure 1)

Funktion | Beschreibung | Ergebnis
Geringste Rechte | Windows Vista-Dienste sind für die Ausführung mit geringsten erforderlichen Rechten konfiguriert. | Windows Vista reduziert die Standardberechtigungen von Windows-Diensten und somit die potenziellen Auswirkungen von Malware.
Isolation von Diensten | Sicherheitskennungen (SIDs) werden eingesetzt, um Dienste für Konten mit geringen Rechten ausführen zu lassen. | Windows Vista kann Malware-Angriffe durch die SID-basierte Einschränkung des Zugriffs auf seine Ressourcen vereiteln.
Eingeschränkter Netzwerkzugriff | Netzwerkeinschränkungen werden standardmäßig bei allen Windows Vista-Diensten implementiert. | Windows Vista schränkt die Ausnutzung von Diensten durch Malware für schädliche Netzwerkaktivitäten ein.
Isolation der Sitzung 0 | Die Sitzung 0 ist für Dienste reserviert. | Windows Vista hindert böswillige Anwendungen an der Übernahme von Diensten mit weitreichenden Rechten durch auf Meldungen basierte Angriffe, da diese nicht mehr in der gleichen Sitzung ausgeführt werden.

Dienste mit Risiken
Windows-Dienste, bisher NT-Dienste genannt, sind ausführbare Anwendungen mit langer Laufzeit, die in ihrer eigenen Windows-Sitzung ausgeführt werden. Dienste können automatisch beim Start eines Computers gestartet, angehalten und fortgesetzt werden, zeigen gewöhnlich keine Benutzeroberfläche an und können im Sicherheitskontext eines Kontos ausgeführt werden, das nicht mit dem des angemeldeten Benutzers oder dem Standardkonto des Computers übereinzustimmen muss. Windows-Dienste sind somit äußerst hilfreich für die Entwicklung bestimmter Anwendungstypen und Endbenutzer, die diese Anwendungen benötigen. Aufgrund ihrer Leistungsstärke und Flexibilität waren Windows-Dienste jedoch seit jeher anfällig für Exploidangriffe und das aus mehreren Gründen.
In der Vergangenheit liefen Windows-Dienste zunächst unter Konten mit weitreichenden Rechten, wie z. B. dem lokalen Systemkonto. Wird ein für dieses Konto ausgeführter Dienst von Malware angegriffen und gesteuert, hat die Malware gute Chancen, wirklich alles nur Erdenkliche auf dem System anzurichten. Denken Sie beispielsweise nur einmal an den Windows XP-Dienst Remoteprozeduraufruf (RPC, Remote Procedure Call). Vor Windows XP SP2, lief der RPC-Dienst unter dem lokalen Systemkonto, weshalb Blaster, Welchia und andere Würmer nach der Ausnutzung der RPC-Anfälligkeit in der Lage waren, Administratoraufgaben durchzuführen.
Weiterhin sind viele Dienste auf Netzwerke ausgerichtet, wodurch Malware die Möglichkeit bekommt, die Dienste durch das Herstellen von eingehenden Verbindungen über das Netzwerk auszunutzen. Gleichzeitig haben infizierte Dienste die Möglichkeit, eine ausgehende Verbindung herzustellen, um andere Systeme zu infizieren oder andere unzulässige Aktivitäten durchzuführen, wie z. B. die Überwachung und Weiterleitung von Tastenanschlägen. Gegenwärtig erfolgt die Ausbreitung von Würmern oder Malware meist über irgendeine Art von Netzwerkverbindung.
Und schließlich laufen Dienste normalerweise über einen langen Zeitraum, d. h. sie werden beim Hochfahren des Computers gestartet und laufen, bis der Computer ausgeschaltet wird. Dieser Umstand ist verlockend für Malware-Programmier, da sie somit den Dienst so lange auf Lücken testen können, wie das System aktiv ist, wodurch Malware letztendlich mehr als genug Zeit für schädliche Aktivitäten zur Verfügung gestellt wird.

Angriff der Klone
Es könnte sein größter Triumph werden. Würde alles nach Plan laufen, könnte er schon bald Hunderttausende von Windows-Systemen auf der ganzen Welt kontrollieren, beliebige Befehle virtuell an sie senden, sich zurücklehnen und zusehen, wie sie alle seinen Befehlen gehorchen.
Zu Beginn hatte er mit seinen hartnäckigen jedoch gleichzeitig schwer zu fassenden Methoden heimlich mehrere Computersysteme untersucht, um Sicherheitslücken zu finden und in die Systeme einzubrechen. Es dauerte nicht lange, bis er genau das fand, wonach er suchte, ein nicht aktualisiertes System mit bekannten Sicherheitslücken, von denen er genau wusste, wie er sie ausnutzen könnte.
Diese Sicherheitslücke war umso schlimmer, da er bei einem erfolgreichen Exploid volle Administratorrechte über das System erhalten würde. Er würde nicht nur die Kontrolle über ein Konto erlangen: Er würde das mächtigste Administratorkonto in Windows manipulieren. Seine nächsten Schritte würden nur durch seine Phantasie begrenzt.
Nach kurzer Überlegung testete er seinen bösartigen Code auf dem ungepatchten Computer £ und siehe da, es funktionierte! So einfach ging das. Er verfügte jetzt über uneingeschränkte Rechte auf dem Computer. Er nutzte seine Administratorenrechte, um Trojaner herunterzuladen und zu installierten, änderte die Registereinstellungen und startete anschließend den Computer neu. Er wandelte den infizierten Computer in einen Zombie um, der willig darauf wartete, seine Befehle auszuführen. Durch die Registrierungsänderungen wurde die böswillige Software bei jedem Neustart des Computers ausgeführt.
Jetzt wurden seine Absichten klar. Einmal infiziert, würde jeder kontaminierte Computer alle anderen Computer des Netzwerks nach bestimmten Netzwerkanschlüssen überprüfen. War ein Netzwerkanschluss offen und bestanden weiterhin die Sicherheitslücken, wurde der Trojaner auf diesem Computer heruntergeladen und installiert. Dieselben Registrierungsänderungen würden vorgenommen. Der Zyklus würde sich immer wieder wiederholen und eine Armee angreifender Klonen schaffen. Am Ende des Tages zählten Tausende von Windows-Systemen auf der ganzen Welt zu seinem unheilvollen Klonkommando, das einzig und allein auf seine Befehle reagierte.
Und als ob das noch nicht genug wäre, wandte er sich nun der Microsoft Windows Update-Website zu und wies alle seine Klone an, am 15. August 2003 einen Denial-of-Service-Angriff (DoS oder Dienstverweigerungsangriff) durchzuführen, um alle Computer auf der ganzen Welt am Download des - interessanterweise seit Monaten verfügbaren - Patch zu hindern.
Inzwischen werden Sie wahrscheinlich gemerkt haben, dass ich gerade den Angriff des Wurms MS Blaster vom August 2003 geschildert habe, der Computer in jedem Winkel der Erde getroffen hat. Blaster war sicherlich einer der schwersten Angriffe auf Windows überhaupt und verursachte Schäden in Milliardenhöhe. Ironischerweise war die Implementierung von MS Blaster, der enorme Macht über kontaminierte Computer hatte, überraschend einfach.

So funktioniert Blaster
Blaster und seine Ableitungen nutzen Anfälligkeiten im Windows RPC-Dienst, um einen Pufferüberlauf zu generieren. Ein Angreifer, der diese Anfälligkeiten erfolgreich nutzt, kann in einem kontaminierten System Code mit Berechtigungen für das lokale Systemkonto ausführen, wodurch er jede beliebige Aktion im System ausführen kann: Programme installieren, Daten anzeigen, ändern, oder löschen und neue Konten mit uneingeschränkten Benutzerrechten anlegen.
Im Fall von Blaster durchsuchte der Wurm in Netzwerken automatisch nach Computern mit offenem TCP-Port 135. Fand er ein Opfer, versuchte Blaster die RPC-Anfälligkeit auszunutzen. Im Erfolgsfall stellte er eine Verbindung zum Port 4444 des Ziels her und wies das Opfer an, das Trivial File Transfer-Protokoll (tfpt) zu starten und eine Kopie des Wurms mit der Bezeichnung MSBLAST.EXE vom kontaminierten System herunterzuladen. (Tftp ist bei Windows 2000, Windows XP und Windows Server 2003 Teil des Betriebssystems.) Das angreifende System wies den neu infizierten Computer dann an, MSBLAST.EXE auszuführen und das Opfer wird wiederum zu einem Angreifer. Blaster schrieb auch Code in den Registrierungsschlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Windows\CurrentVersion\Run und sorgte so selbst dafür, dass der Wurm bei jedem Systemstart ausgeführt wurde.

Diensthärtung
Die Sicherheit von Diensten wurde in Windows Vista durch vier Methoden verstärkt: Dienste werden mit den geringsten Rechten ausgeführt, Dienste werden isoliert, der Netzwerkzugriff wird beschränkt und Sitzung 0 isoliert. Ich werde jede dieser vier Methoden detailliert beschreiben.
Dienstausführung mit geringsten Rechten Viele Windows-Dienste wurden bisher im Kontext des lokalen Systemkontos ausgeführt, dem Windows-Konto mit den meisten Rechten. Das lokale Systemkonto verfügt über Benutzerrechte und Berechtigungen, wie z. B. die Fähigkeit auf fast alle Systemobjekte oder die Profile anderer Benutzer zuzugreifen, andere Benutzeridentitäten zu imitieren und empfindliche Registrierungsschlüssel wie HKLM\SECURITY zu öffnen und die Anmeldeinformationen des Computers an Remoteserver zu senden. Da Malware-Programmierer nur allzu gerne über einen so weitreichenden Zugriff und somit die Kontrolle über Windows verfügen würden, ist natürlich jeder Dienst im Zusammenhang mit dem lokalen Systemkonto eine große Verlockung.
Obwohl zahlreiche Windows-Dienste für die Ausführung unter dem lokalen Systemkonto konfiguriert wurden, stellte sich heraus, dass viele davon nur einen Teil der Rechte benötigen, die eindeutig mit dem lokalen Systemkonto verbunden sind. Leider funktionieren Windows XP und andere Vorgängerversionen von Windows nach dem Prinzip "ganz oder gar nicht", d. h. sie verfügen über keinen Auswahlmechanismus für erforderliche Rechte. Daher werden viele Windows-Dienste letztendlich mit unnötigen und exzessiven Berechtigungen ausgeführt.
Die Windows Vista-Diensthärtung löst dieses Problem durch die Einführung des Konzepts der geringsten Rechte bei der Konfiguration von Diensten. Durch die Verwendung der geringsten Rechte können Dienste mit den minimal erforderlichen Berechtigungen ausgeführt werden, anstatt die Ausführung mit allen Rechten des Kontos zu erzwingen, das bei der Anmeldung benutzt wurde.
Beispielsweise muss ein Dienst als Teil des Betriebssystems handeln können, muss aber nicht in der Lage sein, einen Sicherheitstoken zu erstellen. Mit den geringsten Rechten können Sie die Berechtigungen für die Token-Erstellung entziehen. Somit begrenzen Sie den Schaden, den ein Angreifer anrichten könnte, wenn dieser Dienst in der Zukunft einmal für einen Exploid anfällig werden sollte. Entwickler können Befehlszeilentools wie SC.exe (siehe Abbildung 2) oder Programmiermethoden nutzen, um die Berechtigungen, die ihr spezieller Dienst erfordert, zu definieren und zu spezifizieren. Microsoft hat die Standardberechtigungen bei allen seriell vorinstallierten Windows Vista-Diensten durch die Anwendung der geringsten Rechte reduziert.
Abbildung 2 SC-Befehlsoptionen definieren Berechtigungen von Windows Vista-Diensten
Abbildung 2 SC-Befehlsoptionen definieren Berechtigungen von Windows Vista-Diensten (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 2 SC-Befehlsoptionen definieren Berechtigungen von Windows Vista-Diensten
Abbildung 2 SC-Befehlsoptionen definieren Berechtigungen von Windows Vista-Diensten (Klicken Sie zum Vergrößern auf das Bild)
Isolation von Diensten Bei den Windows-Versionen vor Windows Vista greift ein Dienst im Bedarfsfall auf ein privilegiertes Objekt (beispielsweise einen sensibler Registrierungsschlüssel oder eine sensible Datei) durch eine der drei folgenden Methoden zu: Zugriff auf das Objekt über das lokale Systemkonto; Herabsetzen der Sicherheitsstufe für den Registrierungsschlüssel oder die Datei, um einem Dienstkonto mit geringeren Berechtigungen den Zugriff zu ermöglichen; oder Erstellen eines speziellen Kontos für den Dienst und Gewährung des Zugriffs auf die Objekte nur für dieses Konto.
Obwohl alle drei Vorgehensweisen funktionieren, hat doch jede grundlegende Probleme. Die ersten beiden sind generell risikobelastet und die letzte bringt die problematische manuelle Verwaltung der Kennwörter für die neuen Konten mit sich.
Angenommen, ein Antivirenprogramm installiert einen Dienst, der den Zugriff auf diverse sensible Systemobjekte erfordert, wie z. B. die Antivirensignaturen und Registrierungseinträge im Zusammenhang mit der Antivirensoftware. Wurde der Antivirendienst konfiguriert, um über das lokale Systemkonto oder ein anderes integriertes Sicherheitskonto auf seine Objekte zuzugreifen, würde dies bedeuten, sollte ein anderer Windows-Dienst, der dieses Konto benutzt, von Malware kontaminiert werden, dass Malware potenziell auf die Antivirensignaturen zugreifen und sie sowie Registrierungseinstellungen ändern kann, wodurch die Funktionsweise der Antivirensoftware beeinträchtigt oder der Dienst ganz einfach komplett ausgeschaltet wird. Fest steht, dass gegenwärtige Malware einige dieser Techniken anwendet, um unentdeckt weiter funktionieren zu können.
Windows Vista pariert diese Sicherheits- und Verwaltungsprobleme durch die Isolation von Diensten. Ein Dienst kann somit ein Objekt exklusiv für seine Verwendung reservieren, indem er die Ressource - beispielsweise eine Datei oder einen Registrierungsschlüssel - durch einen Kontozugriffseintrag mit einer dazugehörigen Sicherheitskennung (SID, Security ID) für den Dienst sichert. Dadurch könnte der in unserem Beispiel beschriebene Antivirendienst im Rahmen eines Kontos mit geringen Berechtigungen ausgeführt werden, aber immer noch Zugriff auf sensible Signaturen oder Registrierungsschlüssel haben. Zur Aktivierung dieses Zugriffs würde der (im Konto mit geringen Berechtigungen ausgeführte) Antivirendienst über eine von Windows Vista zugewiesene Sicherheitskennung (SID) verfügen. Nachdem die Sicherheitskennung (SID) zugewiesen wurde, könnte das Antivirenprogramm dann die Zugriffssteuerungslisten (ACL, Access Control List) seines Dateisystems und Registrierungsobjekts ändern, um ausschließlich dem Antivirendienst Zugriff zu gewähren.
Ein weiteres Beispiel: Gehen wir zurück ins Jahr 2003, als der Welchia-Wurm anfing, eine Sicherheitslücke im Remoteprozeduraufruf (RPC) zu nutzen, um sich selbst in %System%\Wins\Dllhost.exe zu schreiben. Dieser Wurm fügte weiterhin Schlüssel zu HKLM\SYSTEM\CurrentControlSet\Services hinzu, um seine eigenen Dienste im kontaminierten Windows-System zu installieren. Heute könnte Windows Vista Welchia jedoch einen Strich durch die Rechnung machen, indem der Zugriff auf beide Speicherplätze speziell auf entsprechende Dienste beschränkt wird und der Zugriff dieser Dienste über ein Konto mit geringen Berechtigungen erfolgt.
Eingeschränkter Netzwerkzugriff Windows Vista beinhaltet eine neue Firewall, die auf den Funktionen der Windows XP SP2-Firewall aufbaut. Neue Schlüsselfunktionen umfassen ausgehende Filter sowie die IPsec-Integration. Die neue Firewall integriert ebenfalls die Windows Vista-Diensthärtung, um die Ausführung von Malware innerhalb eines genutzten Windows-Dienstes und dessen Missbrauch für schädliche Netzwerkaktivitäten zu erschweren.
In der Windows Vista-Firewall werden Windows-Diensten Netzwerk-Firewallrichtlinien zugewiesen, die das Verhalten von Diensten einschränken. So kann einem Dienst, z. B. Plug & Play, der wahrscheinlich niemals über einen Netzwerkanschluss kommunizieren muss, der Zugriff auf ein Netzwerk untersagt werden. Mit solch einer Einschränkung könnte dieser Dienst nie mehr zum Ziel netzwerkbasierter Angriffe werden. Jeder Versuch dieses eingeschränkten Dienstes, eine ein- oder ausgehende Kommunikation aufzubauen, würde durch die Firewall blockiert. Andere Dienste, die einen legitimen Zugriff auf ein Netzwerk erfordern, können so konfiguriert werden, dass sie nur bestimmte Anschlüsse benutzen. Entwickler können diese Funktion nutzen, um Netzwerkzugriffe ihrer Dienste zu beschränken.
Netzwerkeinschränkungen bieten in Kombination mit der Diensthärtung einen soliden Schutz vor potenziellen, dienstbasierten Angriffen. Das ist im Vergleich zu vorherigen Windows-Versionen ein großer Vorteil. Bisher konnte Windows nicht entscheiden, welche Dienste wie, wo und wann über das Netzwerk kommunizieren durften. Dank der Windows Vista-Firewall mit ihren Netzwerkeinschränkungen für RPC-Dienste könnten jedoch Viren oder Würmer wie Blaster, Sasser oder Welchia an der Ausnutzung von kontaminierten Diensten zur Kommunikation mit anderen Computern gehindert werden.
Isolation der Sitzung 0 Die schnelle Benutzerumschaltung in Windows XP verwaltet gleichzeitig angemeldete Benutzer, indem sie jedem Benutzer eine andere Windows-Sitzung zuteilt. Die Sitzung 0 wird während des Startvorgangs geöffnet. Weitere Sitzungen werden je nach Bedarf hinzugefügt. Dienste liefen stets in Sitzung 0 und vor Windows Vista konnten benutzerspezifische Anwendungen ebenfalls in Sitzung 0 ausgeführt werden. Das gleichzeitige Ausführen von benutzerspezifischen Anwendungen und Windows-Diensten in der gleichen Sitzung stellt jedoch ein Sicherheitsrisiko dar, weil Dienste über weitreichende Berechtigungen verfügen und dadurch ein ideales Ziel für böswillige Software darstellen, die nach Mitteln und Wegen sucht, mehr Berechtigungen zu erhalten.
Windows Vista beseitigt dieses Sicherheitsrisiko, indem es Sitzung 0 ausschließlich für Dienste reserviert und Anwendungen in anderen Sitzungen ausführt. Sitzung 0 ist zudem nicht interaktiv, d. h. ein Dienst kann keine Benutzeroberflächen wie Dialogfelder oder Eingabeaufforderungen generieren, auf die Benutzer zugreifen können. Aufgrund dieser Änderungen wirkt sich die Isolation von Sitzung 0 für alle Entwickler von Windows-Diensten oder Treibern auf die Kompatibilität von Anwendungen aus.

Zusammenfassung
Windows Vista ist das erste Betriebssystem von Microsoft für Desktops, bei dem alle Ziele der Trustworthy Computing Initiative verwirklicht und bedeutende Fortschritte erzielt wurden, die Windows-Benutzer langfristig schützen. Andererseits ist die Computersicherheit ein Bereich, der sich ständig weiter entwickelt, und Malware-Programmierer werden ohne Zweifel auch weiterhin unablässig nach neuen Wegen und Mitteln für den Missbrauch von Windows suchen. Sie werden es durch die neuen Diensthärtungsfunktionen von Windows Vista, die verstärkten Standardsicherheitseinstellungen sowie die Reduzierung von potenziellen Angriffspunkten jedoch erheblich schwerer haben. Weitere Informationen zu diesen grundlegenden Verbesserungen finden Sie unter microsoft.com/whdc/system/vista/Vista_Services.mspx.

Wole Moses, Microsoft Regional Windows Lead, gehört mit acht Jahren Betriebszugehörigkeit zu den Microsoft-Veteranen. Gegenwärtig in Istanbul, Türkei, basiert, betreut und unterstützt Wole die größten Kunden der Schwellenmärkte im Mittleren Osten und Afrika bei der Planung und Entwicklung von Microsoft-basierten Lösungen zur Optimierung ihrer IT-Infrastrukturen und Maximierung der Sicherheit.


 Die Desktopdateien: Windows Automated Installation Kit
Die Desktopdateien
Windows Automated Installation Kit
Wes Miller

Microsoft hat in der Vergangenheit zwei Versionen der Bereitstellungstools angeboten, die vom Windows Deployment Team erstellt wurden. Die erste Version kam in Form der Datei deploy .cab, die jahrelang auf der Windows-CD mitgeliefert wurde. Sie enthielt Dokumentation und Tools wie den Installations-Manager zur Erstellung von Dateien für das unbeaufsichtigte Setup sowie
das Tool Sysprep, mit dem Desktopcomputer auf die Bereitstellung vorbereitet wurden. Die andere Version der Bereitstellungstools war das OEM Preinstallation Kit (OPK), das speziell darauf ausgelegt war, die Anforderungen von OEM-Systemherstellern zu erfüllen und nur ihnen zur Verfügung stand. Das war der ursprüngliche Verteilungsweg von Windows® PE. Es gibt eine neue Version des OPK für Windows Vista™, aber es wird weiterhin nur OEMs zur Verfügung gestellt.
Glücklicherweise gibt es für die meisten anderen Microsoft-Kunden, von denen einige Windows PE nicht während des Windows XP-Zeitrahmens erhalten konnten, eine fast analoge Version des OPK: das Windows Automated Installation Kit (WAIK). Das WAIK wird nach Auslieferung von Microsoft Vista kostenlos unter microsoft.com/downloads zum Download zur Verfügung gestellt werden und besteht aus den folgenden Komponenten: Windows PE 2.0, Windows Deployment Services, ImageX und Windows System Image Manager - ein Tool, das ich noch nicht erwähnt habe und mit dem unattend.xml-Dateien zur Setup-Automatisierung erstellt werden können. Außerdem enthält es die vollständige Dokumentation für alle Tools.
Bitte beachten Sie, dass die empfohlene Methode, das WAIK zu erhalten, der Download des vollständigen Business Desktop Deployment Solution Accelerator (BDD) von microsoft.com/desktopdeployment ist. So erhalten Sie nicht nur das WAIK, sondern auch das User State Migration Tool (USMT) und das Application Compatibility Toolkit (ACT). BDD umfasst auch weitere Tools und Anleitungen für eine erfolgreiche Bereitstellung von Windows Vista.

Windows PE 2.0
Ich habe in der November 2006-Ausgabe von TechNet Magazin Windows PE 2.0 bereits ausführlich behandelt, deshalb möchte ich hier nicht auf Details eingehen. Es sei lediglich gesagt, dass das WAIK das offizielle Release des neuen Windows PE-Build für Windows Vista bereitstellen wird. Es ist wichtig, sich mit Windows PE auszukennen, weil alle anderen Tools in WAIK Windows PE entweder auf irgendeine Weise verwenden oder damit zusammenarbeiten. Meinen Artikel zu Windows PE 2.0 finden Sie hier. .

ImageX
In meinem letzten Artikel habe ich das Windows Imaging (WIM)-Dateiformat relativ ausführlich besprochen. (Siehe microsoft.com/technet/technetmag/issues/2006/12/desktopfiles.) Ich möchte jetzt über ImageX sprechen, ein kleines, aber leistungsstarkes Befehlszeilentool, das das integrierte Imaging von Windows Vista ermöglicht. Bei der Planung von ImageX hatten wir ursprünglich die Erstellung eines GUI-basierten Tools in Erwägung gezogen, entschlossen uns aber, uns auf die Befehlszeile zu konzentrieren, da die Automatisierung des Imaging-Prozesses eine kritische Komponente darstellte. Die Befehlszeilenoptionen für ImageX finden Sie in Abbildung 1.
Abbildung 1 ImageX Befehlszeilentool in Aktion
Abbildung 1 ImageX Befehlszeilentool in Aktion (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 1 ImageX Befehlszeilentool in Aktion
Abbildung 1 ImageX Befehlszeilentool in Aktion (Klicken Sie zum Vergrößern auf das Bild)
Die Windows Deployment Services (WDS), die ich später beschreiben werde, stellen ein einfaches GUI-Tool bereit, das die einfache Erfassung von Images ermöglicht, aber nicht die volle Funktionalität von ImageX umfasst. Beachten Sie dabei auch, dass ImageX für die Erfassung von Images für die Bereitstellung unter Windows PE entwickelt und getestet wurde. ImageX wurde nicht für „Live“-Erfassungen von Windows-Systemen entwickelt, die aktiv ausgeführt werden.
Falls Sie mit einem anderen System-Imaging-Tool vertraut sind, sind Sie in gewissem Grad auch mit ImageX vertraut. Das Tool wurde anwenderfreundlich entwickelt und ermöglicht die einfache Erfassung und Übernahme von Images, bietet aber auch kritische Funktionen, die in älteren häufig verwendeten Bereitstellungstools oft fehlen. Ein Beispiel, das ich gleich behandeln werden, ist die Möglichkeit, ein Image einfach und transparent als Teil eines lokalen Dateisystems bereitzustellen, um Dateien innerhalb eines bestehenden Images anzuzeigen, zu ändern oder zu löschen.
ImageX bietet die in Abbildung 2 dargestellten Image-Bearbeitungs-Switches. Ich werde einige spezifische Befehle genauer beschreiben.
Figure 2 Image-Bearbeitungs-Switches (Close Figure 2)

Switch | Beschreibung
IMAGEX /APPEND | Hängt ein neues Volume Image an eine WIM-Datei an, die bereits ein Volume Image enthält.
IMAGEX /APPLY | Übernimmt ein Volume Image für ein Volume, das partitioniert und formatiert wurde.
IMAGEX /CAPTURE | Erfasst ein anfängliches Volume Image in einer WIM-Datei.
IMAGEX /DELETE | Löscht die Referenzen zu einem Volume Image permanent aus einer WIM-Datei. Beachten Sie, dass dabei auch die Metadaten gelöscht werden. Die komprimierten Dateidaten werden dadurch nicht entfernt, dies kann nur mit Hilfe des /export-Switch erfolgen, um eine ganz neue WIM-Datei zu erstellen.
IMAGEX /DIR | Zeigt die Verzeichnisstruktur eines bestimmten Volume Image in einer WIM-Datei an.
IMAGEX /EXPORT | Exportiert ein Volume Image aus einer WIM-Datei oder mehreren Split WIM- (SWM-)Dateien.
IMAGEX /INFO | Zeigt die Details eines bestimmten Volume Image oder einer WIM-Datei an. Dabei kann auch die /boot-Option für ein bestimmtes Volume Image, das Windows PE enthält, festlegt werden. Nur Windows PE kann von einer WIM-Datei aus gestartet werden.
IMAGEX /SPLIT | Unterteilt eine WIM-Datei in eine oder mehrere kleinere SWM-Dateien, damit diese auf mehrere CDs oder DVDs aufgeteilt werden kann.
Der Capture-Befehl sollte relativ klar sein - das Wichtigste daran ist, dass Sie Capture nur einmal pro WIM verwenden werden. Weil eine WIM-Datei lediglich eine Dateierfassung ist, können Sie ein ganzes Volume (C:) oder auch nur ein Verzeichnis (C:\Test) erfassen. Die Übernahme erfolgt genauso: Sie können ein Image für ein Verzeichnis übernehmen (selbst wenn Sie ein ganzes Volume erfasst hatten) oder, was wahrscheinlicher ist, für das Root-Verzeichnis eines Volume. Besteht bereits ein einzelnes Volume Image in der WIM-Datei, verwenden Sie den append-Befehl, um Daten hinzuzufügen. Apply erklärt sich auch mehr oder weniger von selbst und wird nur kompliziert, wenn Sie mehrere WIM-Dateien übernehmen. Der delete-Befehl ist nützlich, wenn Sie die Referenz auf ein bestimmtes Volume Image entfernen möchten. Um die Daten aus diesem Image aber ganz zu entfernen, müssen Sie export verwenden, um eine neue WIM-Datei zu erstellen, die keine Daten enthält (d. h. wenn Sie die Image-Größe durch Entfernen der restlichen Daten reduzieren möchten, müssen Sie den export-Befehl verwenden). Stellen Sie sich export als ein Defragmentierungs- oder Konsolidierungstool vor, mit dem Sie ein Volume Image in eine oder mehrere WIM-Dateien einbetten oder es in seine eigene völlig selbständige WIM-Datei exportieren können. ImageX bietet auch folgende Image-Bearbeitungs-Switches: IMAGEX /MOUNT, IMAGEX /MOUNTRW und IMAGEX /UNMOUNT.
Wie bereits gesagt, integrierte das Produktteam von Anfang an Bearbeitungsfunktionen in die Imaging-Tools und in das Format. Durch die Bearbeitungsfunktionen ermöglichen Format und Tools Kunden, Dateien zu kopieren, Service Packs anzuwenden, Dateien oder eigenständige Anwendungen hinzuzufügen oder zu entfernen oder andere Daten bei Bedarf aus dem Image zu entfernen bzw. hinzuzufügen (selbst Bereitstellung und Modifizierung der Registrierung). Dabei stand stets die Bearbeitung des Image im Vordergrund.
Sie können sich die Image-Bereitstellung so vorstellen, dass die WIM-Datei als virtuelles Verzeichnis geladen wird. Eine korrekte Analogie wäre wohl ein Volumebereitstellungspunkt, der es Ihnen gestattet, ein ganzes Volume in einem Verzeichnis bereitzustellen, das sich auf einem anderen Volume befindet (z. B. F: als C:\DriveF sichtbar machen). Auf ähnliche Weise haben Sie vielleicht das Microsoft® Virtual CD-Tool oder andere ISO-Bereitstellungstools verwendet, die die Bereitstellung von ISO (CD)-Images als lokale Laufwerke ermöglichen. Auf diese Art und Weise gestattet ImageX die Bereitstellung einer WIM-Datei als Overlay über einem Verzeichnis. Sie erstellen das Verzeichnis und verwenden dann den mount-Befehl, um das angegebene Volume Image als Overlay auf das Verzeichnis zu legen, so als ob Sie es dort übernommen hätten.
Im Gegensatz zum Virtual CD-Tool können Sie ein WIM-Image aber auch bereitstellen, wenn es sich in einer anderen Netzwerkfreigabe oder auf Wechselmedien befindet. Natürlich beschränkt dies seine Bearbeitungsfunktionen - eine WIM-Datei auf optischen Datenträgern (CD oder DVD) ist meist nur im schreibgeschützten Modus bearbeitbar. Sie können auch nur ein Volume Image in einer WIM-Datei gleichzeitig bearbeiten, wenn Sie im Lese-/Schreibmodus arbeiten. Dies soll ein korrektes Sperren und sicheres Aktualisieren der Datei bei der Aufhebung der Bereitstellung (unmount) gewährleisten.
Sie können das Image schreibgeschützt (/mount) oder mit Lese-/Schreibefunktion (/mountrw) bereitstellen. Wenn Sie Lesen/Schreiben verwenden, werden alle Änderungen, die Sie am Image vornehmen, temporär zwischengespeichert (sie treten nicht sofort in Kraft). Wenn Sie den Befehl /unmount mit der Option /commit ausführen, werden diese Änderungen permanent in die WIM-Datei übernommen. Falls Sie Änderungen vorgenommen und dann beschlossen haben, dass Sie sie nicht übernehmen möchten, könnten Sie diese auch verwerfen, anstatt sie mit commit zu übernehmen, wenn Sie die Bereitstellung mit unmount aufheben. Es gilt das Alles oder nichts-Prinzip: alle Änderungen, die Sie in der Zeit vorgenommen haben, als die WIM-Datei bereitgestellt war, werden entweder übernommen oder verworfen.
Beachten Sie hierbei einen wichtigen Vorsichtshinweis. Wie beim Befehl delete gilt auch für die Verwendung der Lesen/Schreiben-Funktionalität zur Bearbeitung der WIM-Datei, dass die Dateidaten in der WIM-Datei selbst nicht vollständig gelöscht oder bereinigt werden, sondern die Dateien ans Ende der WIM-Datei angehängt werden, wobei die frühere Referenz im Volume Image durch die aktualisierten Daten ersetzt wird. Das bedeutet: Wenn Sie eine neue 5-MB-Datei hinzugefügt haben, die eine bestehende 5-MB-Datei ersetzt, nimmt Ihr Image um die 5-MB-Datei zu, nachdem es komprimiert wurde (d. h. 5 MB oder weniger je nachdem, welcher Komprimierungstyp verwendet wird). Um die alten Daten aus der WIM-Datei zu entfernen (falls Sie das Image verkleinern möchten), müssen Sie /export verwenden, um das Volume Image in eine ganz neue WIM-Datei zu exportieren.
Falls Sie meine Besprechung von Windows PE 2.0 in der November 2006-Ausgabe von TechNet Magazin gelesen haben, werden Sie sich daran erinnern, dass Windows PE 2.0 Starten von einer WIM-Datei aus unterstützt. Dazu wird die WIM-Datei ähnlich wie bei ImageX von einem Treiber gelesen. Die ImageX-Unterstützung wurde aber für die Verwendung zum Designzeitpunkt angelegt, die WIM-Startfunktion speziell als schreibgeschützte Funktion und speziell für Windows PE. Obgleich sie also ähnlich sind, unterscheiden sich sowohl Treiber als auch Implementierung.
Neben dem ImageX-Tool bietet Microsoft eine offiziell dokumentierte API, WIMGAPI, die die volle Unterstützung für jedes Imaging-Tool bietet, das WIM-Dateien erfassen, übernehmen oder modifizieren möchte. Jeder Drittanbieter, der Imaging-Unterstützung hinzufügen oder eine bestehende Imaging-Infrastruktur ersetzen möchte, kann dies also mit WIMGAPI bewerkstelligen. Diese API ist Teil des WAIK und wird daher mit dem WAIK mitgeliefert.

Windows Image-Based Setup
Die neue Setup-Engine wurde anhand des vorliegenden Imaging-Formats entwickelt. Im Kern ähnelt sie stark der alten Miniinstallation oder der Windows-Willkommensseite und stellt die grundlegenden Fragen, die notwendig sind, um das System einzigartig einzurichten und zu konfigurieren, während gleichzeitig auch die Datenträgerinstallation übernommen wird, bevor das Image aus der install.wim auf der Windows-Setup-DVD installiert wird. Das Hauptziel der neuen Setup-Engine bestand darin, manuelle Windows-Installationen zu ermöglichen. Wir stellten uns vor, dass viele OEM- und Unternehmenskunden ImageX für die eigentliche Bereitstellung verwenden würden.

Remote Installation Services (Remoteinstallationsdienste)
An dieser Stelle fragen Sie vielleicht, warum ich Remote Installation Services (RIS) noch nicht besprochen habe. RIS war etwas, das ich geerbt habe, als ich beim Windows Deployment Team begonnen habe. RIS gehörte zum ersten Mal zum Lieferumfang von Windows 2000 und wurde dann wieder mit Windows Server® 2003 mitgeliefert, verwendet das Pre-boot Execution Environment (PXE), um einen Computer allein über das Netzwerk soweit zu starten, dass ein rudimentärer Assistent ausgeführt werden und die Windows-Installation stattfinden kann.
Das Hauptproblem mit RIS bestand darin, dass es sich um ein sehr anfälliges Tool handelte. Das Windows Server 2003-Release von RIS, das ursprünglich nur von Windows 2000 Professional unterstützt wurde, erweiterte die Unterstützung auf Windows-Serverversionen. Mit der starken Zunahme von Serial ATA- (SATA-)Speichercontrollern und NICs mit einer Geschwindigkeit von 1 GB oder mehr, war das Aktualisieren von Treibern in RIS stets sehr schwierig. Darüber hinaus unterstützt RIS viele der von Windows unterstützten Gebietsschemata nicht, was die Installation lokalisierter Windows-Versionen mit lokalisierten Tastaturen erschwert oder gar unmöglich machen kann. Windows Deployment Services wurde als Amalgam von Windows-Setup und RIS-a PXE-initiierten Bootversionen von Windows PE entwickelt und ermöglicht die Bereitstellung einer WIM-Datei über das Netzwerk.
WDS wurde so entwickelt, dass es nicht nur in der kommenden Version von Windows Server (Codename „Longhorn“) enthalten ist, sondern auch als Update, das unter Windows Server 2003 installiert werden kann. Das bedeutet, dass WDS in der Lage ist, Windows Vista von älteren Versionen von Windows Server bereitzustellen und darüber hinaus auch ältere Versionen von Windows bereitstellen kann. WDS funktioniert nicht nur zusammen mit RIS, sondern erfordert sogar eine RIS-Installation, um richtig zu funktionieren. Dies liegt daran, dass WDS auf der Aktualisierung der RIS-Infrastruktur auf Kompatibilität mit WDS basiert, während gleichzeitig die neue WDS-Infrastruktur bereitgestellt wird.
Neben der Funktion als Upgrade von RIS, die einen praktischen Migrationspfad für Kunden darstellt, die weiterhin frühere Versionen von Windows verwenden möchten, während sie mit der Bereitstellung von Windows Vista beginnen, bietet WDS auch viel bessere Managementtools als RIS, wodurch ein einfacheres Hinzufügen neuer Images zum Server ermöglicht wird. Außerdem bietet es eine dynamisch austauschbare PXE-Struktur, d. h., ein PXE-Server von einem Drittanbieter kann integriert werden und festlegen, dass dieser Server statt WDS eine PXE-Anforderung eines bestimmten Client beantwortet. Das war eine Anforderung, die wir mit RIS oft erhalten haben und nicht bereitstellen konnten.
WDS ist zunächst als installierbare Komponente unter Windows Server 2003 zur RIS-Aktualisierung verfügbar, wird aber auch als integrierte Komponente der Windows Server-„Longhorn“-Produkte mitgeliefert werden. Microsoft plant derzeit die Integration von WDS-Funktionen in zukünftigen SMS-Versionen (unter dem Namen System Center Configuration Manager).
WDS stellt eine mit PXE gestartete Version von Windows PE 2.0 bereit. Dieses Image ist in einer WIM-Datei enthalten (d. h. es müssen weniger Daten über das Netzwerk übertragen werden) und wird über das Netzwerk auf RAMDisk gestartet. Die Installation erfolgt dann unter Windows PE, wobei eine neue Client-Anwendung verwendet wird, die die bisher von der rudimentären RIS-Anwendung OSChooser durchgeführten Funktionen übernimmt.
Obgleich WDS keine RIS-Images von Windows XP, Windows 2000 oder Windows Server 2003 unterstützt, hat WDS die Fähigkeit, Sysprep-Images davon bereitzustellen. WDS kann auch in Active Directory® integriert werden (wie das bei RIS der Fall war), doch kann der PXE-Server ggf. auch ohne Active Directory ausgeführt werden. WDS kann sogar von Windows PE mit Boot von einer anderen Funktion als PXE initiiert werden, z. B. von CD, DVD oder USB Flash Drive (UFD). Dies ist eine nützliche Funktionalität, die RIS nicht bieten konnte.
Es gibt im Prinzip drei Modi, in denen WDS operieren kann und die von Ihrer bestehenden Verwendung von RIS abhängen:
Legacy WDS Binärdateien werden installiert, doch ist OSChooser der Bootmechanismus. RISetup und RIPrep, die Skript-Setup- und Image-basierten Setup-Tools für RIS, funktionieren weiterhin.
Gemischter Modus Beide Bootmechanismen sind verfügbar, beide Imaging-Toolsätze und beide Management-Toolsätze funktionieren.
Systemeigen Es gibt keine RIS-Funktionalität, nur WIM-Funktionalität, Windows PE-Boot und neue Managementtools sind verfügbar. Beachten Sie, dass dies der einzige Modus ist, der voraussichtlich für Windows Server „Longhorn“ verfügbar sein wird. Er umfasst keine RIS-Funktionalität.
WDS implementiert auch ein benutzerdefiniertes Client-Server-Kommunikationsprotokoll und als Ergebnis könnte ein OEM- oder Unternehmenskunde theoretisch auch eine eigene Bereitstellungsanwendung erstellen.
Der Vorgang bei der Erfassung eines WIM-Image auf einem WDS-Server ist mit dem besprochenen Sysprep-Szenario praktisch identisch. Der Unterschied besteht darin, dass der letzte Schritt den Bootvorgang in das WDS Capture Image umfasst, ein vorhandenes Windows PE-Image, das Ihnen hilft, ein Clientsystem auf dem WDS-Server zu erfassen.
WDS hat folgende Hauptkomponenten: WDS Server Service, PXE Server, Image Store, Communication Protocol, Dateifreigabe mit Windows PE-Images (zum Starten), WIM-Images (zum Installieren) und weitere damit verbundene Managementdateien.
WDS wurde als relativ einfaches Tool angelegt und sollte eine fast identische Erfahrung (obgleich oft bei höherer Geschwindigkeit) wie herkömmliche Installationen von Windows auf Basis optischer Datenträger bieten. Die WDS-Implementierung als Aktualisierung von RIS ermöglicht ein schrittweises Ersetzen von RIS, während gleichzeitig Windows Vista nach und nach in Ihrem Unternehmen eingeführt wird. Außerdem bietet dies eine einfachere Verwendung und höhere Geschwindigkeit, als RIS bei vorherigen Windows-Versionen je bieten konnte.

Windows System Image Manager
Die abschließende Komponente des WAIK ist der Windows System Image Manager (SIM). Falls Sie mit dem Installations-Manager vorheriger Windows-Versionen vertraut sind, sollte Ihnen das Windows SIM-Konzept vertraut sein. Dieses Tool ermöglicht die Durchführung mehrerer Aufgaben mit Dateien für das unbeaufsichtigte Setup. Sie können ganz einfach eine neue Datei für das unbeaufsichtigte Setup erstellen, eine vorhandene bearbeiten oder die Einstellungen in einer bestehenden Datei mit einem spezifischen Windows Vista-Image vergleichen. Das Tool kann auch alle potenziellen Konfigurationsoptionen in einer bestimmten WIM mit Windows Vista anzeigen. Denken Sie dabei an Optionen für das unbeaufsichtigte Setup, die bis jetzt in den Hilfedateien von deploy.cab dokumentiert wurden. Schließlich hilft Ihnen Windows SIM bei der Erstellung von Distributionsfreigaben und Konfigurationssätzen, die zum Hinzufügen von Treibern, Anwendungen und Updates zu Ihren Windows Vista-Installationen mit Hilfe einer Datei für das unbeaufsichtigte Setup verwendet werden.
Windows SIM erfordert, dass Sie ein lokaler Administrator des Systems sind, auf dem Windows SIM ausgeführt wird. Wenn Sie Windows SIM öffnen, sehen Sie fünf Anzeigebereiche, wie in Abbildung 3 dargestellt.
Abbildung 3 Windows System Image Manager
Abbildung 3 Windows System Image Manager (Klicken Sie zum Verkleinern auf das Bild)
Abbildung 3 Windows System Image Manager
Abbildung 3 Windows System Image Manager (Klicken Sie zum Vergrößern auf das Bild)
Der Bereich „Distributionsfreigabe“ oben links zeigt Treiber und andere Pakete an, die Sie über SIM hinzugefügt haben. Standardmäßig ist keine Distributionsfreigabe bereitgestellt, doch kann eine ganz einfach geöffnet oder erstellt werden.
Der „Windows Abbild“-Bereich unter Distributionsfreigabe zeigt die Konfigurationsoptionen (Komponenten und Pakete) in einem bestimmten Windows Volume Image in einer WIM an. Beachten Sie, dass immer nur ein einzelnes Volume Image von Windows (ein SKU auf der Windows Vista-DVD) gleichzeitig bereitgestellt wird.
„Antwortdatei“, der Bereich in der Mitte, zeigt die Konfigurationsoptionen in einer neuen oder bestehenden Windows Vista-Datei für das unbeaufsichtigte Setup an sowie die Standardeinstellungen, die von den Katalogen (potenzielle Einstellungen und Konfiguration) über das von Ihnen bereitgestellte WIM Volume Image definiert werden.
„Eigenschaften“ oben rechts im Fenster ermöglicht die Bearbeitung einzelner Eigenschaften einer Komponente aus dem „Antwortdatei“-Bereich.
Der letzte Bereich ist „Meldungen“ unten auf dem Bildschirm. Darin wird detaillierteres Feedback angezeigt, einschließlich der Anzeige von rohen XML-Daten in einer Windows Vista-Datei für das unbeaufsichtigte Setup (immer im XML-Format) sowie Validierungsausgabe und alle mit derzeit verwendeten Konfigurationssätzen verbundene Meldungen (die Registerkarte „Konfigurationssatz“ enthält nur Daten, wenn Sie einen Konfigurationssatz geöffnet haben).
Wie Sie sehen, bietet das WAIK mehrere leistungsstarke Tools, die Ihnen bei der Bereitstellung von Windows Vista helfen. Das Windows-Bereitstellungsteam hat hervorragende Arbeit geleistet, um eine Toolsammlung zu schaffen, mit der Windows Vista leichter bereitgestellt werden kann als jede andere Version von Windows zuvor.

Wes Miller arbeitet als Development Manager bei Pluck (pluck.com) in Austin, Texas. Davor arbeitete er bei Winternals Software und bei Microsoft als Programm-Manager und Produktmanager für Windows. Wes dankt Scott Dickens und John Macintyre von Microsoft für ihre Unterstützung bei dieser Kolumne. Sie können Wes erreichen unter technet@getwired.com.


 Notizen aus der Praxis: Technischer Support f&#252;r Schwiegereltern
Notizen aus der Praxis
Technischer Support für Schwiegereltern
James Snell

ICH HABE GEHEIRATET Im letzten Jahr und im Tausch für meine wundervolle Frau, habe ich offensichtlich einen Tech-Support-Vertrag mit ihrer gesamten Familie unterschrieben. Neulich habe ich den gefürchteten Anruf "Du kennst dich doch mit Computern aus, stimmt's?" von meiner Schwiegermutter erhalten. Sofort habe ich mich in Bewegung gesetzt und musste entdecken, dass ihr Windows® XP-Computer unter einer Last aus üblicher Spyware, Adware, Toolbars usw. leidet.
Wenn Sie als IT-Profi arbeiten, sind Sie es ja vielleicht gewöhnt, Computer wieder in Gang zu setzen. Aber dies für einen Verwandten zu tun, ist nicht so einfach. Die schnellste Möglichkeit, einen infizierten Computer zu heilen, besteht im Formatieren der Festplatte und im Neuinstallieren von Windows. Leider lehnen die meisten Menschen diese Möglichkeit ab, da sie nicht ihre gesamten Daten verlieren möchten. Für Sie bedeutet das meistens, Sie haben eine langwierige Reinigungsarbeit vor sich. Aber was machen Sie, wenn Sie nicht einmal Zugriff auf den Computer oder das Internet erlangen können?
Sie sollten daher ein Toolkit auf einem USB-Stick mit 512 MB zusammenzustellen, das aus Antivirus-, Antispyware- und Personal-Firewall-Software besteht. Halten Sie dieses Toolkit auf dem aktuellen Stand, und halten Sie es praktisch.
Sicherlich möchten Sie auch Windows XP Service Pack 2 (SP2) auf dem USB-Stick speichern. Windows XP wird heute zwar mit SP2 ausgeliefert, die Version meiner Schwiegermutter ist jedoch älter als diese Ausgabe. Sie können die Installationsdateien für Windows XP SP2 von microsoft.com/technet/prodtechnol/winxppro/maintain/winxpsp2.mspx herunterladen. (Sie möchten sicherlich die Version für die Installation auf mehreren Computern; die Version für die Installation auf einem einzigen Computer nutzt Windows Update.) Bei 266 MB dauert das Herunterladen wohl etwas länger, dafür ist dieser Vorgang nur ein einziges Mal notwendig.
So, nehmen wir an, dass Sie den Nachmittag entweder mit Formatieren und Installieren des Betriebssystems oder mit dem fleißigen Entfernen von Viren und Spyware und dem anschließenden, in beiden Fällen notwendigen, Installieren der Software-Updates für Windows plus Firewall, dem Aktualisieren der Antivirus-Definitionen usw. verbracht haben. Was jetzt? Sicherlich möchten Sie nicht jedes Wochenende auf diese Art verbringen. Sie können einige Schritte ausführen, durch die ein solches Szenario weniger wahrscheinlich wird.

Verbannen Sie Junkware
Das System meiner Schwiegermutter war überschwemmt mit Software - meist von Freunden und Bekannten installiert - von recht nützlichen Dingen bis zu völligem Ramsch. Damit dies nicht wieder vorkommt, habe ich das Administratorkonto durch ein sicheres Kennwort gesperrt und ein Standardbenutzerkonto für meine Schwiegermutter eingerichtet - sie muss das Administratorkonto nicht sehr oft verwenden. Wenn wieder einmal jemand versucht, etwas zu installieren, muss er sich als Administrator anmelden und das reicht als Abschreckung. Dies und etwas Weiterbildung für Benutzer, sollte allen Ramsch fernhalten. (Get Safe Online, getsafeonline.org, bietet einige wertvolle Tipps für Benutzer zum Absichern eines PC.)
Bezüglich Kennwörtern sind die Sicherheitsansprüche meiner Schwiegermutter etwas befremdlich. Ich habe das Benutzerkonto nicht mit einem Kennwort versehen, um meine Schwiegermutter zur Nutzung dieses Kontos zu ermutigen. Nebenbei gesagt: ich gehe davon aus, dass jemand mit schlechten Absichten und physischem Zugriff auf den Computer eher den Computer aus dem Haus schleppen würde als die Daten aus dem Computer zu ziehen.
Es mag etwas verrückt erscheinen, dass ich einen Klebezettel an die Innenseite einer Klappe an der Vorderseite des Computers angebracht habe. Aber ich mache mir keine Sorgen, ob meine Schwiegermutter das Administratorkennwort ohne mein Wissen findet - letztendlich ist es ihr Computer. Sicherlich wäre dies als übliche Vorgehensweise in einem Unternehmen inakzeptabel, aber meine Schwiegermutter speichert keinerlei sensible Daten und sie macht sich keine Sorgen, wenn andere Leute ihren Computer nutzen. Das Ziel besteht in diesem Fall darin, ihr das Leben als Benutzer zu erleichtern und - noch wichtiger - auch das Leben ihres Support-Technikers!

Setzen Sie Grenzen!
Der nächste Schritt bestand im Errichten von etwas Extraschutz. Ich mag die Tatsache, dass eine Firewall in Windows integriert ist und dass es Firewalls von Drittanbietern gibt. Jedoch vertraue ich niemals einer einzigen Firewall allein. Für noch mehr Sicherheit verfügt meine Schwiegermutter nun über einen ADSL-Router mit einer integrierten Firewall. Ja, das ist eine zusätzliche Ausgabe und ein zusätzliches Stück Hardware, das konfiguriert und betrieben werden muss, aber es sorgt für einen gewissen Grad an zusätzlichem Schutz. Außerdem hat das Gerät blinkende Lichter. Das ist doch beeindruckend, oder?
Denken Sie jedoch nicht, dass die werkseitige Konfiguration des Routers Sicherheit bietet! Ich habe ein paar Router vorgefunden, bei denen standardmäßig die Schnittstellen nach draußen zum Web und zu Telnet aktiv waren. Nehmen Sie sich eine Minute und prüfen Sie die erweiterten Optionen.
Software-Firewalls können erst dann geladen werden, wenn die Netzwerkkomponenten funktionieren. Während der ersten Stadien beim Systemstart ist die in Windows integrierte Firewall der einzige verfügbare Schutz (ein weiterer Grund für das Installieren von Windows SP2, bevor Sie den Computer mit dem Internet verbinden). Wenn Sie die Windows Firewall deaktivieren, wird Sie diese Firewall weiterhin solange schützen, bis die Firewall Ihrer Wahl gestartet werden kann. Mit der eingerichteten Router-Firewall muss ich mich auch nicht länger sorgen, ob die Firewall durch etwas deaktiviert werden kann, da es sich um ein gesondertes Gerät handelt. Wenn das Gerät nicht eingeschaltet ist, besteht keine Verbindung. Außerdem sehe ich das wie eine Zweifachverschlüsselung von Daten an. Wenn ein Angriff Erfolg haben soll, müssen sowohl die Software-Firewall als auch die Router-Firewall gleichzeitig versagen. Das ist nicht unmöglich, jedoch weniger wahrscheinlich.

Ärgern und Schützen
Stellen Sie sich vor, wie viel einfacher der gesamte Vorgang mit einer guten Datensicherung gewesen wäre. Mit Leuten, die behaupten, dass sie nicht wenigstens von ihren wichtigsten Daten eine Sicherungskopie anfertigen können, habe ich keinerlei Mitleid. DVD-Recorder und Medien sind nicht so schrecklich teuer und Windows wird mit einer integrierten Datensicherungssoftware geliefert. Das Problem ist, dass so viele Leute diese Software einfach nicht nutzen. Meine Lösung für meine Schwiegermutter bestand im gewöhnlichen Sichern des Ordners "Eigene Dateien" als "Geplante Task" und im Speichern der Datei direkt in den Ordner "CD Burning" (%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\CD Burning) zu speichern. Damit dies funktioniert, müssen Sie die geplante Task so einrichten, dass sie nur dann ausgeführt wird, wenn der Benutzer angemeldet ist. Auf diese Weise gibt der Assistent für das Schreiben auf CD regelmäßig (und lästige) Aufforderungen von sich, bis meine Schwiegermutter eine leere CD einlegt; und genau das wollte ich erreichen.

Bleiben Sie in Kontakt
Beim Einrichten von Windows Live™ Messenger können Sie die Desktop-Freigabe aktivieren. Das bedeutet, wenn Sie nach Hause kommen und sonst noch etwas eingerichtet werden muss, können Sie sehen, was los ist, ohne einen weiteren Besuch abstatten zu müssen (immer eine gute Sache). Nebenbei bemerkt kann ich auch bestätigen, dass die Übername der Steuerung eines Remotecomputers (wofür natürlich die entsprechenden Berechtigungen erforderlich sind) und das Beobachtetwerden beim Steuern der Maus noch viel beeindruckender sind als die blinkenden Lichter am Router.

James Snell ist ein früherer Microsoft Supportspezialist in Großbritannien. Er hat mit Benutzern aus dem Privatbereich und mit einigen der wichtigsten globalen Kunden von Microsoft gearbeitet. Als frisch gebackener Vater sammelt James derweil erste Meriten in einem ganz anderen Tätigkeitsfeld. Sie erreichen James unter James.Snell@lineone.net.


 Windows Confidential: Flucht aus der DLL-H&#246;lle
Windows Confidential
Flucht aus der DLL-Hölle
Raymond Chen

DLL-HÖLLE Ein Problem von einer solchen Niedertracht, dass es sogar einen eigenen Spitznamen bekommen hat. Sie installieren ein einziges Programm und plötzlich funktioniert irgendein anderes Programm nicht mehr, das scheinbar nichts mit dem neuen Programm zu tun hat. Das liegt daran, ohne Ihr Wissen sind beide Programme über eine gemeinsam genutzte DLL-Datei miteinander verbunden. Die beiden Programme sind sich vielleicht nicht einig über die Version, die die im Systemverzeichnis gespeicherte MSVCRT.DLL-Datei haben sollte. Oder vom ersten Programm wurde ein gemeinsam genutztes ActiveX®-Steuerelement mit einem Upgrade aktualisiert, zu dem das zweite Programm nicht 100 % kompatibel ist.
Wenn beide Programme von großer Bedeutung für die täglichen Vorgänge in Ihrem Unternehmen sind, ist es ziemlich egal, welches Programm die Schuld trägt. Das Wesentliche ist, Sie müssen beide Programme lauffähig machen. Es gibt da keinen großen Unterschied zwischen "Wir verlieren Geld" und "Wir verlieren Geld wegen Bob". Wie dem auch sei, Ihr Unternehmen verliert Geld und es ist Ihre Aufgabe, dieses Problem unverzüglich zu beseitigen.
Früher war es einmal üblich, dass Sie entscheiden mussten, welches Programm gewonnen und welches Programm verloren hat. Seit Windows® 2000 werden Hilfsmittel zur Verfügung gestellt, die den Benutzer bei der Behebung solcher Konflikte hilfreich unterstützen. Diese Hilfsmittel bieten jedoch nur eine vorübergehende Lösung, um Ihr System schnell wieder betriebsbereit zu machen. Sie gewinnen dadurch Zeit, um nach einer dauerhafteren Lösung des Konflikts zu suchen.
In Windows 2000 ist eine rudimentäre Version vom so genannten "Dynamic-Link Library Redirection" (Umleitung von DLLs) implementiert. Um DLL-Redirection zu ermöglichen, legen Sie eine Datei mit demselben Namen des Programms an, dessen DLLs umgeleitet werden sollen, jedoch mit der Erweiterung .local am Ende des Dateinamens. Beispiel: Um eine Umleitung für C:\Programme\Litware Inc\Invoice.exe einzurichten, erstellen Sie die Datei C:\Programme\Litware Inc\Invoice .exe.local. Der Inhalt dieser Datei ist ohne Bedeutung. Ausschlaggebend ist, dass diese Datei vorhanden ist.
Nachdem Sie die Umleitung für ein Programm eingerichtet haben, wird bei allen Versuchen dieses Programms, eine DLL zu laden, zuerst das Verzeichnis durchsucht, in dem sich das eigentliche Programm befindet. Erst danach werden die üblichen Suchpfade durchsucht. Daher können Sie, im Fall eines Konflikts bei der Datei MSVCRT.DLL, eine Umleitung für alle betroffenen Programme einrichten und jeweils eine gesonderte MSVCRT.DLL in den Installationsverzeichnissen der einzelnen Programme ablegen. So erhält jedes Programm seine eigene Version von MSVCRT.DLL - die DLL-Version, mit der das Programm getestet wurde.
Das Besondere dieser Methode ist, sie funktioniert auch dann, wenn das Programm einen vollständigen Pfad zum Laden der DLL verwendet. Beispiel: Nehmen wir an, das Programm versucht, die DLL C:\Programme\Gemeinsame Dateien\Proseware Inc\taxplugin.dll zu laden. Nach dem Aktualisieren auf Proseware 2.0 bemerken Sie, dass das Plug-In "Steuern" nicht mit Ihrem Programm für die Rechnungslegung kompatibel ist. Sie können nun eine alte Version des Plug-In "Steuern" nach C:\Programme\Litware Inc\taxplugin.dll kopieren. Selbst wenn das Programm einen vollständigen Pfad für das Laden des Plug-In "Steuern" verwendet, sucht die DLL-Umleitung trotzdem zuerst im aktuellen Verzeichnis und verwendet die lokal abgelegte Version anstatt der Version im Verzeichnis "Proseware Inc".
In Windows XP und Windows Vista™ sind die Regeln für die DLL-Umleitung etwas anders, aber das Grundprinzip bleibt das gleiche. Zusätzlich zum Anlegen einer Datei ".local" können Sie auch ein Verzeichnis ".local" anlegen. In diesem Fall wird die DLL im Verzeichnis ".local" anstatt im Installationsverzeichnis des Programms gesucht. Auf diese Weise können Sie die Umleitung konfliktfrei auf mehrere Programme im selben Verzeichnis anwenden.
Beachten Sie, dass Sie die Umleitung nicht für Programme einrichten können, die ein Anwendungsmanifest enthalten, auch die so genannten "bekannten DLLs" sind von der Umleitung ausgeschlossen. (Weitere Informationen finden Sie unter "Dynamic-Link Library Redirection" (in Englisch).)
Die DLL-Umleitung holt Sie zwar nicht ganz aus der DLL-Hölle, sie gibt Ihnen jedoch einige Methoden für die Erstversorgung an die Hand, bis Sie die Ursache des Problems gefunden haben.
Abbildung 1
Abbildung 1

Raymond Chen schreibt auf seiner Website, The Old New Thing (in Englisch) und auch in seinem neuen Buch mit dem gleichnamigen Titel "The Old New Thing" (Addison-Wesley, 2007, in Englisch) sowohl über die Geschichte von Windows als auch über die Win32-Programmierung. Raymond besitzt allerdings keine Hauskatze mit dem Namen "The Old New Thing".