 TechNet Magazine February 2008

TechNet Magazine February 2008

SharePoint: Ein intelligenter Ansatz für die Datensammlung im Unternehmen

Informationen gehören zu den wichtigsten Ressourcen in einem Unternehmen. Es kann jedoch eine Herausforderung darstellen, die riesige Menge von Daten zu verwalten, die über E-Mail, webbasierte Formulare, Umfragen und andere Methoden gesammelt werden. Im Folgenden wird erläutert, wie Ihnen Microsoft Office System dabei helfen kann, Systeme zu integrieren und den Zugriff auf Daten zu erleichtern.

Keith Deshaies SharePoint: Erstellen einer leistungsfähigen Umfrageinfrastruktur

Das Sammeln und Analysieren von Daten ist ein wesentlicher Teil des Geschäftslebens. Sie benötigen jedoch Tools, mit denen unabhängige Teams jederzeit die erforderlichen Daten sammeln können. Erfahren Sie, wie Sie mithilfe von WSS 3.0, MOSS 2007 und InfoPath 2007 eine vollständige und flexible Umfragelösung erstellen können, die im gesamten Unternehmen eingesetzt werden kann.

Jim Bradley SharePoint: Standardisieren der Datenverwaltung mit benutzerdefinierten Inhaltstypen

Die riesige Anzahl ungleichartiger Dokumente und anderer Inhaltselemente, die in einer großen Organisation gespeichert werden, erschwert es möglicherweise, Dokumente, die zugehörigen Metadaten und ihre Verhaltensweisen auf zentralisierte und wiederverwendbare Weise zu verwalten. Hier erfahren Sie, wie sich Inhaltstypen in SharePoint 2007 verwenden lassen, um die Inhaltsverwaltung im gesamten Unternehmen zu vereinfachen.

Pav Cherny Office Communications Server: Wie Anwesenheit OCS 2007 leistungsfähiger macht

Office Communications Server 2007 verwendet Informationen zur Benutzerverfügbarkeit, um Kommunikation an den am besten geeigneten Ort weiterzuleiten, ganz gleich, ob es sich um einen Anruf, eine Videokonferenz, eine E-Mail-Nachricht oder eine Sofortnachricht handelt. Erfahren Sie, wie das OCS 2007-System Anwesenheit verwendet, um Endpunkte zu verbinden.

Rajesh Ramanathan Office Communications Server: Planen einer OCS 2007 Voice-Bereitstellung

Die Integration von Office Communications Server 2007 in ein vorhandenes PBX-System kann eine Herausforderung darstellen. Sie müssen ein Integrationsszenario auswählen, über Anrufweiterleitung und die Konfiguration von Benutzereinstellungen informiert sein sowie mit Nummernplänen und mehr umgehen. Aber keine Sorge. Diese Übersicht zeigt Ihnen, was Sie wissen müssen.

Jochen Kunert and Rui Maximo Hochleistungscomputing: Eine Einführung in Windows Compute Cluster Server

Statt sich auf große spezialisierte Systeme zu verlassen, werden beim Hochleistungscomputing kleinere Standardsysteme in Clustern verwendet. Eine solche Verteilung der Arbeitsauslastung bietet eine wirtschaftliche Lösung, um komplexe Probleme schnell zu lösen. Hier finden Sie Informationen zur Computeclusterfunktionalität und zur von Windows Compute Cluster Server 2003 bereitgestellten Unterstützung.

John Kelbley and Doug Lindsey Online Extra: Bereitstellen von 2007 Office System mit Terminaldiensten

2007 Microsoft Office System umfasst Entwurfsänderungen, mit denen Sie sich vor einem Einsatz in einer Terminaldienste-Serverfarm vertraut machen sollten. Dieser Artikel vermittelt Ihnen einen Überblick über die Änderungen.

James D. Silliman Mitteilung der Redaktion: Umgang mit der Informationsüberflutung

Joshua Hoffman Briefe: Leser sagen ihre Meinung

Toolbox: Neue Produkte für IT-Experten

Greg Steen SQL – Fragen und Antworten: Nicht gruppierte Indizes und das Beibehalten von Berechtigungen

Saleem Hakani and Dan Carollo Schwerpunkt Dienstprogramme: ADMX Migrator

Mit Windows Vista wurde das Format für Gruppenrichtlinienvorlagen in eine XML-basierte Struktur umgeändert. Mit dem ADMX Migrator-Dienstprogramm können alte ADM-Dateien in das neue ADMX-Format konvertiert sowie auf einfache Weise eigene benutzerdefinierte ADMX-Dateien erstellt werden.

Lance Whitney The Cable Guy: IEEE 802.1X-Authentifizierung für Kabelnetzwerke

Die IEEE 802.1X-Authentifizierung stellt eine zusätzliche Sicherheitsbarriere für den Zugriff auf Ihr Intranet bereit. Erfahren Sie, wie leicht es ist, mit Windows XP und Windows 2008 die IEEE 802.1X-Authentifizierung für Ihr Kabelnetzwerk zu implementieren.

Joseph Davies Windows PowerShell: Shellberechtigungen

Berechtigungen in Windows sind leider von Natur aus kompliziert. Aber Windows PowerShell kann helfen. Hier finden Sie einen schnellen Überblick über die Funktionsweise von Berechtigungen in Windows und Informationen dazu, wie Sie die Arbeit mit den Berechtigungen vereinfachen können.

Don Jones Hey, Scripting Guy!: Spiele, Spiele, Spiele! Und auch etwas XML

Die Microsoft Scripting Guys berichten mehr als ausführlich über die Scripting Games 2008 und erläutern, wie XML-Dokumente erstellt, angefügt und geändert werden. Haben Sie schon von den Scripting Games 2008 gehört?

The Microsoft Scripting Guys Sicherheit auf dem Prüfstand: Inselspringen: Reduzieren unerwünschter Abhängigkeiten

Unerwünschte Sicherheitsabhängigkeiten können Ihr gesamtes Netzwerk für Angriffe anfällig machen. Finden Sie heraus, wie Sicherheitsabhängigkeiten funktionieren, damit Sie Abhängigkeiten in Ihrer Umgebung analysieren und potenzielle Probleme beheben können.

Jesper M. Johansson Die Desktopdateien: Duales Starten mit Windows XP und Windows PE 2.0

Das Starten von Windows PE 2.0 von der gleichen Partition wie Windows bietet eine Reihe von Vorteilen. Erfahren Sie, wie Sie Windows XP und Windows PE 2.0 mittels Dual-Boot von der gleichen Partition starten können und welche Probleme sich dadurch lösen lassen.

Wes Miller Berichte aus der Praxis: Spenden Sie Ihren PC

Wenn Sie alte Hardware spenden und wiederverwenden, sorgen Sie dafür, dass sie nicht auf Mülldeponien landet, und das ist ein Beitrag zum Umweltschutz. Diese Tipps sind Ihnen dabei behilflich, persönliche Daten von alten Computern zu löschen, damit sie wiederverwendet werden können.

Jim Lynch Windows Confidential: Beseitigen antiquierter Features

Es folgt eine Geschichte, wie zwei nicht gerade unglaublich beliebte Features verschwanden.

Raymond Chen


 SharePoint: Ein intelligenter Ansatz f&#252;r die Datensammlung im Unternehmen
SharePoint Keith Deshaies

Ein intelligenter Ansatz für die Datensammlung im Unternehmen
Kurz zusammengefasst:
  • Sammeln und Verarbeiten von Daten
  • Trennen der Darstellungslogik von der Informationsverwaltungslogik
  • Erstellen einer Datensammlungslösung mithilfe von Microsoft Office 2007-Technologien
Laden Sie den Code für diesen Artikel herunter: DataGathering2008_02.exe (567KB)

Unternehmen sammeln mit verschiedenen Methoden eine Vielzahl von Informationen. Die Daten gehen über E-Mail, Umfragen, Webformulare und andere Datensammlungsmethoden ein. In der Regel sind Daten eine gute
Sache. Die Verwaltung der Palette von Datensammlungstools und des gesamten Spektrums verschiedenartiger Informationen gestaltet sich jedoch schwierig. Die zuverlässige Integration und die sichere Freigabe von Daten stellen ständige Herausforderungen für IT-Organisationen dar. Standards und serviceorientierte Architekturen entwickeln sich weiter, wodurch es für IT-Experten leichter wird, den Zugriff auf Daten auf sicherere Weise zu vereinfachen. Obwohl Sie jedoch über die Tools und Technologien verfügen, die Sie zum Aufbau einer effizienten Unternehmensarchitektur benötigen, kommt es allzu häufig vor, dass eine Vielzahl proprietärer Schnittstellen verwendet wird, was zu isolierten Lösungen führt.
Nehmen wir die in Microsoft® Office System verfügbaren Technologien als Beispiel. Sie können auf Grundlage von Windows® SharePoint® Services 3.0 schnell eine Abteilungsumfrage erstellen – ob es sich dabei um eine Standardlösung handelt, hängt jedoch von Ihrer Organisation ab. Wenn in Ihrem Unternehmen ASP.NET und SharePoint als Plattform für webbasierte Zusammenarbeit und Datenintegration verwendet werden, bietet diese Umfrage tatsächlich eine Standardlösung. Wenn Ihre Umgebung jedoch der Umgebung ähnelt, in der ich arbeite, ist SharePoint nur eine Plattform unter vielen.
Zugegeben, SharePoint bietet zahlreiche Optionen für die Integration in Systeme von IBM, HP, Siebel usw. Dies ist eine gute Nachricht für Poweruser, die Ad-hoc-Lösungen erstellen und dennoch die resultierenden Daten in verschiedene Back-End-Systeme einfließen lassen möchten. Wenn Sie jedoch ein Lösungsarchitekt sind, gibt es eine noch bessere Möglichkeit – InfoPath® 2007.
Mit InfoPath 2007, einer Komponente von 2007 Office System, können Sie die Darstellungslogik Ihrer Lösungen von der auf Ihren Servern gehosteten Informationsverwaltungslogik abkoppeln. Mithilfe XML-basierter InfoPath-Technologie können Sie für Unternehmen geeignete Datensammlungslösungen erstellen. Darüber hinaus benötigen Designer von InfoPath-Formularen zum größten Teil keine ausführlichen Kenntnisse im Bereich von XML, Webdiensten, Lösungsarchitekturen, ASP.NET oder dem SharePoint-Objektmodell.
In diesem Artikel erläutere ich, wie Sie mit InfoPath 2007, Office SharePoint Server 2007 und Forms Services flexible Lösungen zum Sammeln von Daten erstellen können. Darüber hinaus zeige ich Ihnen, wie Sie mithilfe von XML in einer mehrstufigen Unternehmensarchitektur die Darstellungslogik von der Geschäftslogik trennen können.
Beachten Sie, dass ich mit dem Begriff „Datensammlung“ den Prozess des Sammelns von Informationen von menschlichen Quellen meine. Es gibt selbstverständlich weitere Möglichkeiten für das Sammeln von Daten, beispielsweise das Crawlen von Datenquellen. Diese automatisierten Methoden gehen jedoch über den Rahmen dieses Artikels hinaus.

Erfassen und Verarbeiten von Daten
Obwohl die Anforderungen an die Datenerfassung kompliziert sein können, haben diese Prozesse einige Gemeinsamkeiten. Durch Berücksichtigung dieser Ähnlichkeiten in zentralen Modulen und die Abdeckung spezieller Anforderungen in dezentralen Komponenten können Sie redundante Arbeiten, den Wartungsaufwand und die Gesamtkosten verringern.
Vorschriften für Aktiengesellschaften hinsichtlich der Einhaltung gesetzlicher Bestimmungen führen beispielsweise zu Geschäftsanforderungen, die sich in unternehmensweiten Richtlinien zur Informationsverwaltung niederschlagen. Diese Richtlinien betreffen Datensammlungslösungen über Abteilungsgrenzen hinweg und führen in einzelnen Abteilungen häufig zu doppeltem Aufwand – beispielsweise Regeln für das Sammeln personenbezogener Informationen, die von einer Personalabteilung (Umgang mit Mitarbeiterdaten) und einer Kundendienstabteilung (Umgang mit Kundendaten) zusammengetragen werden. Selbst Geschäftsprozesse zwischen einzelnen Abteilungen, die ähnlich sind, aber nicht zusammenhängen, bieten Gelegenheiten für die Vereinheitlichung von Lösungen zur Informationsverwaltung.
Abbildung 1 zeigt ein Beispiel für einen typischen Geschäftsprozess. Ein Mitarbeiter, der eine ihm zugewiesene Aufgabe mit einem Kollegen tauschen möchte, muss erst die Zustimmung des Kollegen, dann die Genehmigung eines Managers oder Koordinators des Aufgabenzeitplans und schließlich die Genehmigung des Vorgesetzten einholen. Hierzu kann beispielsweise gehören, dass Mitarbeiter die Arbeitsschichten tauschen. Obwohl diese Tauschvorgänge in verschiedenen Abteilungen stattfinden und möglicherweise auf unterschiedlichen Formularen basieren, können die Workflows und die Informationsverwaltungslogik von den verschiedenen Abteilungslösungen gemeinsam verwendet werden.
Abbildung 1 Beispielprozess für die Datensammlung, der von mehreren Abteilungen gemeinsam verwendet werden kann
Abbildung 1 Beispielprozess für die Datensammlung, der von mehreren Abteilungen gemeinsam verwendet werden kann
Natürlich stellt die Konsolidierung redundanter Komponenten eine gewaltige Aufgabe dar. Es ist nicht einfach, organisatorische Änderungen im gesamten Unternehmen zu bewirken, mit den Office System-Technologien können Sie jedoch ein solides Fundament aufbauen, um diese Änderungen zu erleichtern. Mithilfe von InfoPath 2007 können einzelne Abteilungen Formularanwendungen erstellen, die sich in zentrale, standardisierte Informationsverwaltungssysteme integrieren lassen. Derweil ermöglicht SharePoint 2007 IT-Abteilungen, die administrative Kontrolle über Websitesammlungen, Websites und Dokumentbibliotheken an einzelne Abteilungen und Teams zu delegieren. Dadurch können Teams eigene Lösungen mit minimaler Beteiligung der IT-Abteilung erstellen und bereitstellen, während die IT-Abteilung die Kontrolle über alle freigegebenen Dienste und Komponenten wie Workflows, Informationsverwaltungsrichtlinien und Sicherungsverfahren behält.

Zentralisieren der Datensammlungsprozesse
Unternehmen stellen Teams häufig abteilungsinterne Anwendungsserver zur Verfügung, um individuellen Anforderungen an die Informationsverwaltung Rechnung zu tragen. Die IT-Abteilung ist lediglich für die Aufrechterhaltung des Betriebs von Hardware und Betriebssystem verantwortlich, während sich die einzelnen Abteilungen um sämtliche Aspekte ihrer Lösungen kümmern. Zwischen den Abteilungen erfolgt nur eine geringe Koordination, und die Freigabe von Informationen gestaltet sich schwierig.
Technische Herausforderungen bei der Zentralisierung der Datensammlungsprozesse drehen sich hauptsächlich um die Sicherheit, Leistung, Verwaltung und Unterstützung benutzerdefinierter Komponenten, die in einer freigegebenen Umgebung gehostet werden. So bleiben beispielsweise die Auswirkungen einer fehlerhaften Komponente isoliert, wenn einzelne Lösungen auf abteilungsinternen Anwendungsservern gehostet werden. In einer freigegebenen Umgebung kann sich jedoch eine fehlerhafte Komponente in viel größerem Umfang auf Geschäftsprozesse auswirken. Daraus folgt, dass die IT-Abteilung strenge Richtlinien für die Bereitstellung und Verwaltung benutzerdefinierter Komponenten auf zentralen Systemen festlegen muss.
Das Hosten abteilungsinterner SharePoint-Lösungen in einer zentralen Serverfarm erfordert, dass Sie alle benutzerdefinierten Komponenten dieser Abteilungslösungen auf den zentralen Anwendungsservern bereitstellen und verwalten. Bei einer Lösung könnten benutzerdefinierte Feldtypen verwendet werden, um die Benutzeroberfläche der Lösung mit Dropdownlisten zu erweitern, die von Back-End-Webdiensten aufgefüllt werden. Bei einer anderen Lösung könnten für denselben Zweck Webparts herangezogen werden, während in einer weiteren Lösung benutzerdefinierte Workflows verwendet werden, die alle in verwaltetem Code geschrieben und als Microsoft .NET Framework-Assemblys bereitgestellt werden.
Das Verschieben selbst einer relativ kleinen Anzahl von SharePoint-Lösungen in eine zentrale Anwendungsserverfarm kann zu ernsthaften Konfigurations- und Unterstützungsproblemen führen. Wenn Assemblys im globalen Assemblycache (GAC) bereitgestellt werden müssen, wird die Sicherheit zu einem Problem, da diese Assemblys mit voller Vertrauenswürdigkeit ausgeführt werden. Mangelhaft programmierte Komponenten könnten das System für die Einschleusung von SQL-Befehlen, für siteübergreifende Skripterstellung oder für Denial-of-Service-Angriffe anfällig machen. Sie müssen sicherstellen, dass die Komponenten die typische Arbeitsauslastung sowie den Spitzenbedarf und Vorgänge mit langer Laufzeit bewältigen können. Zudem müssen Sie sicherstellen, dass die Komponenten keine anderen Prozesse blockieren, indem sie Ereignisse synchron behandeln, und dass die Komponenten eine zuverlässige Eingabeüberprüfung durchführen, sodass Benutzer keine SQL-Anweisungen oder Skripts in Spalten einfügen können, die zum Aktualisieren einer Datenbank oder eines Remotewebsystems verwendet werden.
Kurz gesagt, besteht das Ziel darin, den Schwerpunkt auf eine sichere und skalierbare Serverkonfiguration auf Grundlage von Standardproduktfeatures zu legen. Durch die Arbeit mit wiederverwendbaren, gründlich getesteten Lösungen können Sie die Probleme vermeiden, die durch Erstellen zahlreicher benutzerdefinierter Komponenten entstehen. Es ist sinnvoll, das Front-End dezentralisiert und das Back-End zentralisiert zu halten. Der Schlüssel liegt darin, die Komponenten in einer locker gekoppelten Weise zu integrieren, die die Wiederverwendung vorhandener Lösungen fördert.

Aufteilen der Geschäftslogik
Wie erstellen Sie also flexible Datensammlungslösungen, die auf Ihren Servern konfiguriert werden können? Die beste Strategie besteht darin, die Lösungsarchitektur wie in Abbildung 2 in einzelne Ebenen aufzuteilen: Datenspeicherung, Geschäftslogik und Darstellung oder Benutzeroberfläche. Heutzutage ist die Benutzeroberfläche in der Regel browserbasiert, während sich die Geschäftslogik auf Webanwendungsservern befindet. Diese greifen wiederum auf Datenbanken und nicht relationale Datenrepositorys zu.
Abbildung 2 Eine typische Unternehmenslösung auf Grundlage einer Dreistufenarchitektur
Abbildung 2 Eine typische Unternehmenslösung auf Grundlage einer Dreistufenarchitektur
Die Geschäftslogik umfasst häufig Transaktionslogik, um sicherzustellen, dass Transaktionen atomar auf Datenbankverwaltungssysteme angewendet werden. Durch die Geschäftslogik können auch mehrere Dienste mittlerer Ebene über HTTP, Message Queuing, RPCs usw. integriert werden. Die allgemeine Lösungsarchitektur bleibt jedoch im Wesentlichen ein Dreistufenmodell.
Was Abbildung 2 nicht zeigt, ist die Komplexität der Geschäftslogik in einer Unternehmensumgebung. Es sieht so aus, als ob sich der Anwendungsserver in dieser Abbildung lediglich auf das Rendern eines browserbasierten Formulars und auf das Verarbeiten der übermittelten Daten konzentriert. In dieser Darstellung werden jedoch Workflows, die Einhaltung von Bestimmungen sowie Anforderungen an die Informationsverwaltung nicht berücksichtigt. Zur Berücksichtigung dieser Anforderungen müssen Sie die Geschäftslogik in zwei Teile teilen – in die Darstellungslogik und die Informationsverwaltungslogik. Dadurch können Sie nach Bedarf die Komponenten mittlerer Ebene beliebig kombinieren, ohne für jede Lösung Komponenten von Grund auf neu erstellen zu müssen.
Abbildung 3 zeigt diese Architektur. Den Kern bilden die Inhalte oder Daten. Sie sind von der Informationsverwaltungslogik umgeben, die die Inhalte während ihres gesamten Lebenszyklus steuert. Zwischen Darstellungslogik und Informationsverwaltungslogik ist eine Schnittstelle vorhanden, um über die Benutzeroberfläche Zugriff auf die Daten zu bieten.
Abbildung 3 Trennen der Darstellungslogik von der Informationsverwaltungslogik
Abbildung 3 Trennen der Darstellungslogik von der Informationsverwaltungslogik

Sammeln und Verarbeiten von XML
In SOA-Umgebungen (Service-Oriented Architecture, serviceorientierte Architektur) ist XML der vorherrschende Standard, der zum Definieren und Freigeben von Daten und Datenstrukturen zwischen Komponenten verwendet wird. Daher ist XML eine gute Wahl für Schnittstellen zwischen Darstellungs- und Informationsverwaltungskomponenten.
Die Kommunikation muss auf zweierlei Weise erfolgen: Sie müssen das XML in ein von einem Browser lesbares Dokument sowie als ein vom Formular generiertes XML-Dokument übersetzen. Bis vor kurzem erforderte die Erstellung XML-basierter Formularanwendungen umfangreiche Programmierkenntnisse. Dies traf insbesondere zu, wenn die resultierenden XML-Daten einem Branchenschema entsprechen mussten, um den Informationsaustausch zwischen Organisationen zu erleichtern.
InfoPath 2007 vereinfacht die Entwicklung XML-basierter Formulare erheblich. Ein gründliches Verständnis der XML-Details ist sicherlich hilfreich, Formulardesigner und Poweruser müssen jedoch keine XML-Experten sein, um XML-basierte Formularanwendungen erstellen zu können. Der Formulardesigner importiert einfach ein XML-Dokument oder XML-Schema in InfoPath und ordnet dann die einzelnen Attribut- und Elementknoten aus dieser Datenquelle den Feldern im Formular zu. Ein Formulardesigner kann auch mit einem Webdienst oder einer SQL Server®-Datenbank oder mit einer leeren Vorlage beginnen und ein Formular von Grund auf neu erstellen, während InfoPath automatisch das zugrunde liegende Schema und die Datenbindungen im Hintergrund erstellt.
Die Standardisierung von Formularen mithilfe von InfoPath und XML-Schemas bietet mehrere Vorteile. Wenn Sie bereits über ein klar definiertes XML-Schema verfügen, können Formulardesigner und Entwickler von Workflows und Informationsverwaltungskomponenten Lösungen auf Grundlage der gleichen Datenstrukturen erstellen. Wenn ein Formulardesigner ein Formular von Grund auf neu erstellt, müssen Entwickler bis zur Fertigstellung des Formulars warten, um feststellen zu können, wie es sich auf die zugrunde liegenden Datenstrukturen auswirkt. Nachdem die Datenstrukturen definiert wurden, können in zukünftigen Lösungen, beispielsweise in neuen Formularvorlagen, vorhandene Workflows und Informationsverwaltungskomponenten wiederverwendet werden, wenn sie auf den gleichen Datenstrukturen basieren. Darüber hinaus können zukünftige Workflows und Informationsverwaltungskomponenten mit vorhandenen Formularen und Daten zusammenarbeiten. Wenn Sie Ihre Datensammlungslösungen auf Grundlage festgelegter Branchenschemas erstellen, werden die Ergebnisse noch flexibler. Tatsächlich sind diese Lösungen dann mit Lösungen kompatibel, die von anderen Unternehmen erstellt werden, die die gleichen Schemas verwenden.
Ich habe ein einfaches DirectReports-Schema erstellt, das Mitarbeiter Vorgesetzten zuordnet. Die Vorgesetzten können das resultierende Formular zur Beurteilung der ihnen direkt unterstellten Mitarbeiter verwenden. Im Download zu diesem Artikel, der unter technetmagazine.com/code08.aspx verfügbar ist, finden Sie im Ordner „Direct Reports“ das Schema, das Formular und die Datei „readme.htm“ mit Anweisungen für das erneute Erstellen des Formulars. Das Formular ist einfach aufgebaut, veranschaulicht aber das allgemeine Konzept.
Hierbei ist ein sehr wichtiger Punkt zu beachten: Ich habe in InfoPath keine Überprüfungslogik erstellt. Dennoch erfordert InfoPath, dass Benutzer-ID und E-Mail-Adressen in einem bestimmten Format (domäne\konto und empfänger@domäne.tld) eingegeben werden. Andernfalls ist das resultierende XML-Dokument ungültig. Dies beruht darauf, dass das XML-Schema diese Formate definiert. Sie können das Formular mit ungültigen Daten speichern, aber es nicht senden (siehe Abbildungen 4a und 4b). (Ich habe dem Formular eine Dummysenderegel hinzugefügt, damit Sie dies testen können, ohne tatsächlich Daten an einen Standort zu senden.) Durch die Überprüfung in InfoPath 2007 wird automatisch sichergestellt, dass das Formular vollständig ausgefüllt ist und keine derartigen Fehler aufweist.
Abbildung 4a Überprüfungsfehler verhindern das Senden eines Formulars durch den Benutzer
Abbildung 4a Überprüfungsfehler verhindern das Senden eines Formulars durch den Benutzer
Abbildung 4b Die generierte Fehlermeldung
Abbildung 4b Die generierte Fehlermeldung
Das XML-Schema dient als verbindlicher Vertrag zwischen der Darstellungslogik und der Informationsverwaltungslogik. InfoPath sperrt das Schema, damit der Formulardesigner die Datenstrukturen nicht absichtlich ändern kann. Dies ist wichtig, weil durch Ändern eines festgelegten XML-Schemas vorhandene Unternehmenslösungen beschädigt werden können, beispielsweise Workflowmodule, die Sie in Kombination mit der neuen Formularvorlage verwenden möchten.
InfoPath bietet eine Fülle von Features für die Integration erweiterter Darstellungslogik in Formularanwendungen. Sie können Daten aus XML-Dateien, Webdiensten, SharePoint-Bibliotheken und -Listen, Datenbanken usw. nutzen, um sinnvolle Standardwerte zu erhalten. Sie können Feldwerte auf Grundlage der Benutzerauswahl über Regeln ändern, Überprüfungslogik einbeziehen, verwalteten Code für äußerst komplexe Anpassungsanforderungen hinzufügen und die Formularvorlage mithilfe von Forms Service über das Web zugänglich machen. In jedem Fall erreichen die Daten aus dem Formular schließlich die Informationsverwaltungslogik als XML-Dokument, das einer Schemadefinition entspricht.

Arbeiten mit XML oder Metadaten
Sie fragen sich möglicherweise, ob Sie Informationsverwaltungslogik direkt auf das übermittelte XML-Dokument anwenden oder stattdessen einen Parser verwenden sollten, der die erforderlichen Informationen in Metadaten extrahiert. SharePoint unterstützt beide Ansätze. Entwickler sind daran gewöhnt, direkt mit XML-Dokumenten zu arbeiten, Metadaten bieten jedoch eine höhere Flexibilität.
Um dies zu demonstrieren, habe ich einen einfachen Webdienst erstellt, der ein XML-Dokument analysiert, das von dem in Abbildung 4a gezeigten Direct Reports-Formular übergeben wird. (Der Quellcode, die Setupdateien und die Datei „readme.htm“ mit Schritt-für-Schritt-Anweisungen sind im Ordner „XMLParsingWebService“ im Download zu diesem Artikel zu finden.) Der Webdienst liest einfach die Benutzer-ID des Vorgesetzten aus dem XML-Dokument, teilt die Benutzer-ID in Domäne und Benutzername, erstellt eine Nachricht auf Grundlage dieser Bestandteile und löst dann eine generische Ausnahme aus, um die verarbeiteten Informationen in Form einer Pseudofehlermeldung im InfoPath-Formular zurückzugeben und anzuzeigen. Dies ist eine einfache Möglichkeit für das Anzeigen eines Dialogfelds in InfoPath, nachdem Daten übermittelt wurden. Der Webdienst funktioniert hervorragend. Wenn Sie jedoch die zugrunde liegende Datenquelle ändern (wenn Sie beispielsweise in DirectReports.xsd das OrgPerson-Element in „Manager“ umbenennen und das InfoPath-Formular gemäß der Beschreibung in der Datei „readme.htm“ mit dem neuen Schema aktualisieren), tritt ein Fehler beim Webdienst auf. Dies sollte jedoch keine Überraschung darstellen. Das XML-Dokument sieht jetzt anders aus, und der alte XPath-Ausdruck für den Zugriff auf das Element „user-id“ ist ungültig. Die Schemas „OrgPerson“ und „Manager“ stimmen nahezu überein, und die InfoPath-Formulare sowie die gewünschten Verarbeitungsergebnisse sind identisch. Obwohl die Unterschiede minimal sind, müssen Sie dennoch doppelte Webdienste bereitstellen und verwalten.
Dies ist kein guter Ansatz, wenn Sie den Platzbedarf von benutzerdefiniertem Code auf Ihren Anwendungsservern minimieren möchten. Wenn Sie hingegen die XML-Knoten Metadatenfeldern zuordnen und die Verarbeitung auf Grundlage der Metadaten durchführen, können Sie die gleichen Workflows und dieselbe Informationsverwaltungslogik für ähnliche Datenstrukturen verwenden, selbst wenn sich die XML-Schemas unterscheiden. Sie müssen nur sicherstellen, dass das untergeordnete Element dem richtigen Metadatenfeld zugeordnet wird und dass das Datenformat die Verarbeitungsanforderungen erfüllt – dann können Sie den vorhandenen Code wiederverwenden.
Die Zuordnung von XML-Knoten zu Metadatenfeldern ähnelt dem Binden von XML-Knoten an Steuerelemente der Benutzeroberfläche in einem InfoPath-Formular, wie in Abbildung 5 dargestellt. In SharePoint entsprechen Metadatenfelder Spalten, die auf der Website- oder Listenebene definiert sind und auf die in Inhaltstypdefinitionen verwiesen wird. Inhaltstypen definieren die Merkmale von Inhaltselementen wie Metadatenfeldern, Workflows und Formularen. Um die Metadatenfelder eines Inhaltstyps mit den entsprechenden Knoten im zugeordneten XML-Dokument synchron zu halten, verwendet SharePoint einen integrierten XML-Parser, der die Herauf- und Herabstufung von Eigenschaften durchführt. Während der Eigenschaftenheraufstufung extrahiert der XML-Parser Knotenwerte aus einem XML-Dokument in entsprechende Spalten in der Dokumentbibliothek. Als „Eigenschaftenherabstufung“ wird der umgekehrte Prozess bezeichnet, bei dem Spaltenwerte aus der Dokumentbibliothek genommen und in das Dokument zurückgeschrieben werden. Der wichtigste Punkt besteht darin, dass der XML-Parser die Metadatenfelder und die zugeordneten XML-Knoten synchron hält.
Abbildung 5 XML-Schemazuordnungen zwischen InfoPath und SharePoint
Abbildung 5 XML-Schemazuordnungen zwischen InfoPath und SharePoint
Wenn Sie das SharePoint-Objektmodell verwenden, können Ihre Webparts, Workflows und die Informationsverwaltungslogik mit Metadatenfeldern sowie mit den zugrunde liegenden XML-Dokumenten arbeiten. Durch Ändern des Werts eines zugeordneten Metadatenfelds wird der Knotenwert im XML-Dokument geändert und umgekehrt. Dennoch wird durch die direkte Arbeit mit dem XML-Dokument die Geschäftslogik eng mit dem XML-Schema verbunden. Andererseits erhöhen zugeordnete Metadatenfelder die Wiederverwendbarkeit des Codes. Natürlich müssen Sie entscheiden, welcher Ansatz für Ihre Umgebung der richtige ist, in den meisten Fällen bieten jedoch SharePoint-Lösungen, die auf Metadatenfeldern basieren, eine höhere Flexibilität und mehr Möglichkeiten zur Wiederverwendung von Code.
Um zu veranschaulichen, wie XML-Knoten mittels SharePoint Metadatenfeldern zugeordnet werden, habe ich ein SharePoint-Feature zur Bereitstellung einer benutzerdefinierten Dokumentbibliothek in das Begleitmaterial einbezogen (siehe Datei „OrgPersonContentType.xml“ im Ordner „OrgPersonLib“ im Download zu diesem Artikel). Der Inhaltstyp „OrgPerson“ verweist auf vier Felder: UserID, FullName, EMail und Direct_x0020_Reports. FullName und EMail sind vordefinierte Felder. UserID und Direct_x0020_Reports sind benutzerdefinierte Felder, die in OrgPersonSiteColumns.xml definiert sind.
Die Felddefinitionen sind relativ einfach. Es ist möglich, Felder direkt in den Felddefinitionen an XML-Knoten zu binden, diese Informationen können jedoch auch in den Inhaltstypen überschrieben werden. Ich habe mich für die Verwendung des letzteren Verfahrens entschieden, weil ich dadurch die benutzerdefinierten Felder in nicht mit XML-Dokumenten in Verbindung stehenden Inhaltstypen sowie in Inhaltstypen, die auf verschiedenen XML-Strukturen basieren, verwenden konnte. Der Inhaltstyp „OrgPerson“ bindet die Metadatenfelder an XML-Knoten, die in ihrer Anordnung dem bereits beschriebenen Schema „OrgPerson“ entsprechen. Es ist auch eine Datei namens „AdditionalContentTypes.xml“ vorhanden, die weitere Inhaltstypen definiert, die dieselben Metadatenfelder an unterschiedliche XML-Knoten binden. Sie können die Unterschiede erkennen, wenn Sie die XPath-Ausdrücke in den Node-Attributen betrachten.
In Dokumentbibliotheken vom Typ „OrgPersonLib“ können verschiedene Arten von XML-Dokumenten gespeichert werden, während die Knotenwerte über die gleichen Bibliotheksspalten verfügbar gemacht werden. Dieses einfache Zuordnungsverfahren ermöglicht Ihnen auch die Wiederverwendung von Workflows und Informationsverwaltungslogik, da die vier Inhaltstypen (OrgPerson, Manager, Supervisor und User) auf einen gemeinsamen Satz von Metadatenfeldern verweisen.
Abbildung 6 zeigt das FieldRef-Element aus dem Inhaltstyp „OrgPerson“ für Direct_x0020_Reports, der das Feld den user-id-Knoten von direkt unterstellten Mitarbeitern gemäß dem XPath-Ausdruck „/OrgPerson/direct-report/user-id“ zuordnet. Da das XML-Dokument mehrere Einträge für direkt unterstellte Mitarbeiter enthalten kann, ist es wichtig, dass Sie ein Aggregation-Attribut angeben. Dieses definiert, wie der XML-Parser die zurückgegebene Auflistung von Werten behandelt. Wenn Sie dieses Attribut auslassen, extrahiert der XML-Parser nur den ersten Knotenwert. Unterstützte Aggregationswerte sind „sum“, „count“, „average“, „min“, „max“, „merge“, „plain text“, „first“ und „last“.
Abbildung 6 Einem XPath-Ausdruck zugeordnetes Metadatenfeld
Abbildung 6 Einem XPath-Ausdruck zugeordnetes Metadatenfeld
Alle Beispielinhaltstypen verwenden die Standardseite „upload.aspx“ als DocumentTemplate, sodass Sie XML-Dateien in die Dokumentbibliothek hochladen können, wenn Sie auf der SharePoint-Benutzeroberfläche auf die Schaltfläche „Neu“ klicken. Solange Sie Dateien mit der Dateinamenerweiterung „.xml“ hochladen, ruft SharePoint automatisch den integrierten XML-Parser auf (eine Ausnahme bilden WordProcessingML-Dateien, für die SharePoint einen WordProcessingML-Parser aufruft). Der XML-Parser untersucht die hochgeladene XML-Datei, um den zugeordneten Inhaltstyp zu bestimmen. Dadurch kann er die Knotenwerte aus den in den Felddefinitionen angegebenen Speicherorten extrahieren und die Eigenschaftenheraufstufung durchführen. (Sie können diesen Prozess überprüfen, wenn Sie die im Ordner „OrgPersonLib\XMLFiles“ enthaltene Datei „OrgPerson.xml“ hochladen.) Die Struktur dieses XML-Dokuments entspricht den in der Definition des Inhaltstyps „OrgPerson“ angegebenen XPath-Ausdrücken. Dementsprechend extrahiert SharePoint die Daten aus der XML-Datei, schreibt die Daten in die entsprechenden Bibliotheksspalten und zeigt sie auf der Seite „EditForm.aspx“ an, damit Sie die nicht als schreibgeschützt markierten Dokumenteigenschaften überprüfen und aktualisieren können. Abbildung 7 zeigt das Formular „EditForm.aspx“ mit den aus OrgPerson.xml extrahierten Daten.
Abbildung 7 Formular „EditForm.aspx“ mit extrahierten Daten
Abbildung 7 Formular „EditForm.aspx“ mit extrahierten Daten
Wenn Sie den Wert von „User ID“, „Full Name“ oder „E-Mail“ in EditForm.aspx ändern, führt SharePoint eine Eigenschaftenherabstufung durch, um die Knotenwerte im zugrunde liegenden XML-Dokument zu ändern. Beachten Sie jedoch, dass SharePoint nur dann XML-Schemaeinschränkungen durchsetzt, wenn Sie die erforderliche Logik selbst im Formular implementieren.
SharePoint führt auch nicht die Darstellungslogik einer Formularanwendung aus. Wenn Sie beispielsweise die Benutzer-ID ändern, überprüft SharePoint nicht, ob der neue Wert den NetBIOS-Konventionen entspricht, und aktualisiert nicht automatisch die Felder „Full Name“ und „E-Mail“ entsprechend der neuen Auswahl. Daher sollten Sie die entsprechende Spalte in der Inhaltstypdefinition als schreibgeschützt markieren, wenn die Änderung eines einzelnen Felds zu Inkonsistenzen führen kann. Dadurch ist der Benutzer gezwungen, die Formularanwendung, beispielsweise InfoPath, zum Aktualisieren der Daten zu verwenden. Zudem reicht der XML-Parser alle Änderungen aus dem XML-Dokument an die entsprechenden Metadatenfelder in SharePoint weiter.
Im Beispiel „OrgPersonLib“ können Sie jede der XML-Dateien aus dem Ordner „OrgPersonLib\XMLFiles“ hochladen. In den XML-Dateien werden ganz andere Datenstrukturen verwendet, SharePoint erkennt jedoch die Inhaltstypen und reicht die richtigen Knotenwerte an die Websitespalten weiter. Dies beruht darauf, dass ich eine Verarbeitungsanweisung in den XML-Dateien verwendet habe, um die XML-Dokumente ihren entsprechenden Inhaltstypen zuzuordnen. Die Datei „OrgPerson.xml“ enthält diese Informationen jedoch nicht, was aber kein Problem darstellt. Wenn SharePoint ein XML-Dokument nicht über eine Verarbeitungsanweisung oder die Dokumentvorlage einem Inhaltstyp zuordnen kann, verwendet es den Standardinhaltstyp. Im Fall von „OrgPersonLib“ ist dies der Inhaltstyp „OrgPerson“, und daher wird das XML-Dokument korrekt analysiert.
Abbildung 8 zeigt, wie Sie ein XML-Dokument explizit einem Inhaltstyp zuordnen können. Die Verarbeitungsanweisung „MicrosoftWindowsSharePointServices“ definiert ContentTypeID als 0x010100668E393E4F0EFF4294DBD202D5D8321D. Dabei handelt es sich um die ID des Inhaltstyps „User“, wie in AdditionalContentTypes.xml definiert.
Abbildung 8 Verarbeitungsanweisungen und XML-Daten der Beispieldatei „User.xml“
Abbildung 8 Verarbeitungsanweisungen und XML-Daten der Beispieldatei „User.xml“
Der XML-Parser verarbeitet die Verarbeitungsanweisung „MicrosoftWindowsSharePointServices“ und schreibt den Wert von ContentTypeID in das Metadatenfeld „ContentType“. Alle SharePoint-Inhaltstypen haben dieses Metadatenfeld gemein, weil es auf der Stammebene im Inhaltstyp „System“ definiert ist. Wenn Sie die Datei „fieldswss.xml“ (im Ordner „%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\Features\Fields“) auf einem SharePoint-Server öffnen und nach „MicrosoftWindowsSharePointServices“ suchen, können Sie sehen, wie SharePoint die Verarbeitungsanweisung dem Feld „ContentType“ zuordnet. Das PITarget-Attribut zeigt auf MicrosoftWindowsSharePointServices (dies ist die Verarbeitungsanweisung), und PIAttribute zeigt auf ContentTypeID (enthält die ID des Inhaltstyps „User“).

Inhaltstypzuordnungen in InfoPath
Die technischen Einzelheiten von XML-Analyse und Inhaltstypzuordnungen schüchtern viele Formulardesigner ein, alle wesentlichen Details können jedoch InfoPath 2007 überlassen werden. Die zum OrgPersonLib-Beispiel gehörige Datei „readme.htm“ enthält Anweisungen für die Veröffentlichung der Formularvorlage „Direct Reports“ in SharePoint und für die Erstellung eines Inhaltstyps, der erneut an die gleichen Metadatenfelder (UserID, FullName, EMail und Direct_x0020_Reports) gebunden wird. Sie können den neuen Inhaltstyp problemlos der Dokumentbibliothek „OrgPersonLib“ in der Benutzeroberfläche von SharePoint hinzufügen. Der neue Inhaltstyp zeigt jedoch auch auf die InfoPath-Formularvorlage als die Dokumentvorlage, die die Formularanwendung aufrufen soll, wenn vorhandene XML-Dokumente aktualisiert werden. Abbildung 9 zeigt, wie der Veröffentlichen-Assistent von InfoPath die Eigenschaftenzuordnung zwischen XML-Knotenwerten und SharePoint-Websitespalten vereinfacht. Wenn Sie die Knotenwerte vorhandenen Websitespalten zuordnen, können Sie vorhandene SharePoint-Komponenten wiederverwenden.
Abbildung 9 Eigenschaftenzuordnung in InfoPath 2007
Abbildung 9 Eigenschaftenzuordnung in InfoPath 2007

Zusammenfassung
Zusätzliche Onlineressourcen
  • InfoPath 2007-Teamblog
  • W3C-XML-Schemaspezifikationen und -entwicklung
  • Einführung in XML-Schemas
  • Workflows in Office SharePoint Server 2007
  • InfoPath 2007 Forms Services

Mit den in Office verfügbaren Technologien können Unternehmensarchitekten Datensammlungslösungen erstellen, die die Wiederverwendung von Code und den Informationsaustausch direkt fördern. InfoPath 2007 ermöglicht Abteilungen das Erstellen von Lösungen, die Informationen aus verschiedenen Quellen abrufen können, und die Daten können dann an verschiedene Systeme wie beispielsweise SharePoint übertragen werden. SharePoint bietet zudem Entwicklern einen umfassenden Satz von Webdiensten und Schnittstellen zum Erstellen von Workflows und Informationsverwaltungskomponenten. Durch das Hosten dieser Komponenten auf zentralen SharePoint-Servern verfügen Abteilungen dann über die Infrastruktur, die sie für die Erstellung ihrer individuellen Anwendungen benötigen.
Gleichzeitig können einzelne Abteilungen schneller eigene Datensammlungslösungen erstellen. Vorschriften hinsichtlich der Einhaltung von Bestimmungen und andere globale Geschäftsanforderungen können auf abteilungsübergreifender Ebene berücksichtigt werden, und die Verwaltbarkeit und Zuverlässigkeit der IT-Umgebung wird durch Verwenden einer geringeren Anzahl benutzerdefinierter Komponenten auf Anwendungsservern erhöht.

Keith Deshaies ist als freiberuflicher technischer Redakteur und als IT-Analyst für ein großes Telekommunikationsunternehmen tätig. Er ist auf Microsoft Office- und SharePoint-Technologien spezialisiert und Mitglied der Society for Technical Communications.
© 2007 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.


 SharePoint: Erstellen einer leistungsf&#228;higen Umfrageinfrastruktur
SharePoint Jim Bradley

Erstellen einer leistungsfähigen Umfrageinfrastruktur
Kurz zusammengefasst:
  • Planen und Implementieren einer Umfragelösung
  • Sammeln und Verarbeiten von Umfrageergebnissen in SharePoint-Bibliotheken
  • Behandeln von Leistungs- und Sicherheitsproblemen

Um fundierte Entscheidungen treffen zu können, sind Sie auf Informationen angewiesen. Instinkt allein reicht nicht aus – nicht, wenn sich Ihre Entscheidungen auf Ihr Geschäft auswirken. Dies gilt unabhängig davon, ob Sie über den Veranstaltungsort für eine Teamparty
entscheiden oder ob Sie überlegen, 50 Prozent der Ressourcen Ihres Unternehmens für die Einführung eines neuen Produkts einzusetzen. Wie gelangen Sie jedoch in den Besitz dieser Informationen?
Umfragen bieten eine effektive und kostengünstige Möglichkeit, Feedback zu beliebigen Themen zu sammeln – von der Frage, wie zufrieden die Kunden mit Ihrem Produktangebot sind, bis zur Erkundigung, ob den Mitarbeitern die Sandwiches bei der letzten Teambesprechung zugesagt haben. Umfragen liefern die Informationen, die für die zukünftige Verbesserung und Entwicklung von Produkten, Systemen oder Prozessen benötigt werden. Es stellt sich jedoch die Frage, wie Sie als IT-Experte ein Umfragesystem implementieren können, das Daten so sammeln und speichern kann, dass die Informationen auf sinnvolle Weise verwendet werden können.
Sie verfügen wahrscheinlich bereits über ein oder mehrere Tools, die zum Sammeln, Strukturieren und Analysieren dieser Art von Daten benötigt werden. 2007 Microsoft® Office System bietet diese Tools, die sich zudem recht einfach verwenden lassen. Tatsächlich gibt es zahlreiche Möglichkeiten, wie Sie eine Umfrage durchführen können. Der Schlüssel liegt darin, den Ansatz auf Ihre speziellen Anforderungen abzustimmen. E-Mail-basierte Umfragen eignen sich beispielsweise gut für die spontane Datensammlung in Echtzeit, wenn nur eine kleine Anzahl von Befragten und weniger wichtige Daten im Spiel sind. Weitere Informationen finden Sie in der Randleiste unter „Schnelle Umfragen per E-Mail“. Datenbankgesteuerte Umfragen sind hingegen eine bessere Wahl für komplexere Initiativen, die eine größere Gruppe von Befragten umfassen und erfolgsentscheidende Daten betreffen. Weitere Informationen zu diesem Thema finden Sie in der Randleiste unter „Erstellen einer datenbankgesteuerten Umfragelösung“.
In diesem Artikel konzentriere ich mich auf eine andere Lösung, die umfassender und flexibler ist: SharePoint®-basierte Onlineumfragen. Dieser Ansatz eignet sich sowohl für erfolgsentscheidende als auch für weniger wichtige Umfragen von beliebiger Komplexität. Da SharePoint-Umfragen webbasiert sind, kann jeder Benutzer, der Zugriff auf einen Webbrowser hat, an ihnen teilnehmen – es werden sogar mobile Geräte unterstützt. Bei einer SharePoint-Umfrage können die Antworten mit Nennung des Namens oder anonym gegeben werden, es sind Echtzeitergebnisse verfügbar, und Sie haben sogar Zugriff auf Analysetools.
Dieser Umfragetyp wird entweder mithilfe von Windows® SharePoint Services 3.0 (WSS) mit Forms Server und InfoPath® oder mithilfe von Microsoft Office SharePoint Server 2007 (MOSS) mit Forms Services und InfoPath® implementiert (siehe Abbildung 1 für eine Beschreibung jeder dieser Technologien). Da beide Szenarios im Wesentlichen die gleiche Funktionalität bieten, konzentriere ich mich in diesem Artikel auf die letztere Kombination. Einen umfassenden Vergleich der SharePoint-Produkte und ihrer Funktionalität finden Sie im Produktvergleichdownload für Microsoft Office SharePoint Server 2007 unter office.microsoft.com/en-us/sharepointserver/HA101978031033.aspx.
Figure 1 Microsoft-Technologien, die SharePoint-Umfragen ermöglichen (Close Figure 1)

Technologie | Beschreibung
Microsoft Office InfoPath 2007 | Microsoft Office InfoPath 2007 ist ein Tool für die Erstellung von Formularen und die Sammlung von Informationen. Weitere Informationen finden Sie unter office.microsoft.com/infopath.
Windows SharePoint Services 3.0 | Windows SharePoint Services 3.0 (früher als SharePoint-Teamdienste bezeichnet) dient als Grundlage für die Erstellung erweiterter SharePoint-Anwendungen. Weitere Informationen finden Sie unter microsoft.com/technet/windowsserver/sharepoint/techinfo/overview.mspx.
Microsoft Office SharePoint Server 2007 | Microsoft Office SharePoint Server 2007 (vormals SharePoint Portal Server 2003) bietet eine serverseitige Infrastruktur, die Office 2007-Clients in Produzenten und Nutzer von Inhalten für SharePoint-Anwendungen verwandelt. Weitere Informationen finden Sie unter microsoft.com/sharepoint.
InfoPath Forms Services, Microsoft Office Forms Server 2007 | InfoPath Forms Services ermöglicht es Benutzern, InfoPath-Formulare in einem Webbrowser auszufüllen, ohne dass InfoPath installiert ist. Dadurch werden Umfragen über Plattformen und Browser hinweg kompatibel. Forms Services erfordert Windows SharePoint Services 3.0, obwohl die gleiche Funktionalität auch als eigenständiges Produkt namens „Microsoft Office Forms Server 2007“ verfügbar ist. Weitere Informationen zu Forms Services finden Sie unter microsoft.com/ms540731. Weitere Informationen zu Forms Server finden Sie unter office.microsoft.com/en-us/formsserver/FX100490391033.aspx.

Planen und Implementieren
Beim Entwerfen einer Umfrage müssen Sie im Vorfeld eine Reihe von Faktoren berücksichtigen. Hierzu sind bestimmte Vorabanalysen erforderlich. Nehmen Sie sich daher unbedingt die Zeit für die Entwicklung eines gut durchdachten Umfrageplans. In der anfänglichen Planungsphase sollten Sie den Problembereich und die Art der Daten definieren, die Sie erhalten möchten, die Technologien bestimmen, die Sie verwenden müssen, und die budgetbezogenen und administrativen Anforderungen festlegen. Dann können Sie zur Implementierung übergehen. Der allgemeine Workflow besteht darin, ein Umfrageformular zu entwerfen, das Formular zu veröffentlichen, Antworten zu sammeln und zu überprüfen, die Daten zu aggregieren und zu analysieren und dann einen Ergebnisbericht zu erstellen.
Ein Workflow zur Umfrageimplementierung umfasst in der Regel mindestens einen Umfrageersteller, Befragte und einen Analysten (wie in Abbildung 2 dargestellt). Natürlich kann die Komplexität von Umfrageworkflows stark variieren. So würde beispielsweise eine unternehmensweite Umfrage wahrscheinlich mehrere Stufen der Bearbeitung und Genehmigung des Entwurfs durchlaufen. Dabei würden wahrscheinlich automatisch Erinnerungen an die Befragten gesendet, verschiedene Formen der Unterstützung und Problembehandlung geboten, Echtzeitansichten der Ergebnisse für Manager bereitgestellt und ein klarer Prozess für die Bestimmung und Lieferung der endgültigen Analyse verwendet. Ein komplexer Workflow dieser Art erfordert wirklich ein webbasiertes System, das Workflow- und Berichtsfunktionen unterstützt.
Abbildung 2 Ein Umfrageworkflow vom Formularentwurf bis zur Datenanalyse
Abbildung 2 Ein Umfrageworkflow vom Formularentwurf bis zur Datenanalyse

Anforderungen an eine umfassende Lösung
Es gibt eine lange Liste wichtiger Anforderungen, die eine umfassende Umfragelösung erfüllen sollte. Die Lösung sollte es einzelnen Teams oder Unternehmenseinheiten ermöglichen, Umfrageergebnisse mit minimaler Beteiligung der IT-Abteilung zu erstellen, zu verteilen und zu sammeln, und sie sollte keine Programmierkenntnisse erfordern. Das Formularerstellungstool sollte eine benutzerfreundliche WYSIWYG-Oberfläche sowie einen umfangreichen Satz von Features bieten, die Weiterleitungs-, Verzweigungs- und Bedingungslogik ermöglichen. Selbstverständlich sollte das Tool zum Erstellen von Umfrageformularen sich für alle Umfragen unabhängig von ihrer Größe und Komplexität eignen.
Außerdem sollte die Umfrage auf einem Webserver ausgeführt werden und sich in eine zentral verwaltete SQL Server®-Datenbank integrieren lassen, damit die einzelnen Abteilungen keine speziellen SQL-Datenbanken verwalten müssen. Jeder Befragte mit Internetzugang sollte mit einem beliebigen standardkonformen Browser an der Umfrage teilnehmen können.
Der Umfrageprozess sollte sich problemlos mit Workflows verknüpfen lassen und die Geschäftsanforderungen erfüllen, ohne die Sicherheit zu gefährden. Für viele Organisationen sollte die Umfragelösung zudem Unterstützung für mehrere Sprachen bieten.
Wenn MOSS 2007, WSS 3.0 und InfoPath 2007 zusammen verwendet werden, entsteht eine integrierte Lösung, die alle diese Anforderungen erfüllt. Abbildung 3 zeigt, wie die verschiedenen Komponenten im SharePoint-Stapel zusammenpassen. Bevor ich aber diese vollständige Umfragelösung erläutere, möchte ich kurz darauf eingehen, was Sie allein mit WSS erreichen können. Anschließend beschreibe ich die zusätzlichen Vorteile, die Sie erzielen, wenn Sie auch noch MOSS und InfoPath ins Spiel bringen.
Abbildung 3 Komponenten des SharePoint-Stapels
Abbildung 3 Komponenten des SharePoint-Stapels

Eigenständiges Verwenden von WSS
Selbst ohne die anderen Komponenten können Sie mit WSS eine Umfrage erstellen und implementieren. Tatsächlich umfasst WSS eine integrierte Umfragevorlage, die den Vorgang vereinfacht. Um eine Umfrage zu erstellen, klicken Sie auf „Start“ | „Alle Programme“ | „Verwaltung“, und wählen Sie „SharePoint 3.0-Zentraladministration“ aus. Wählen Sie in der Dropdownliste die Option „Websiteaktionen“ aus, und klicken Sie dann auf „Erstellen“. Die Seite „Erstellen“ mit den Überschriften „Bibliotheken“, „Kommunikation“, „Nachverfolgung“, „Benutzerdefinierte Listen“ und „Webseiten“ wird angezeigt. Unter jeder Überschrift sind Vorlagenoptionen vorhanden. Klicken Sie unter „Nachverfolgung“ auf „Umfrage“.
Jetzt führt WSS Sie Schritt für Schritt durch den Prozess zur Umfrageerstellung. Sie können offene oder abgeschlossene Fragen erstellen und angeben, ob eine Frage unbeantwortet gelassen werden kann. Sie können sogar Umfragen mit Verzweigungslogik erstellen, die die Befragten in Abhängigkeit von ihren Antworten verschiedene Pfade entlang führen. Umfragen können anonym erfolgen oder bei Bedarf den Befragten identifizieren. Sie haben auch die Möglichkeit, der Umfrage einen Workflow zuzuweisen.
Die Umfrage ist browserbasiert, sodass keine spezielle Software benötigt wird, um die Umfrage zu erstellen oder an ihr teilzunehmen. Für die Teilnahme an der Umfrage navigieren die Befragten einfach zur SharePoint-Website und füllen das Formular aus. Zugriffsberechtigungen werden von der übergeordneten Website geerbt, können jedoch direkt im Menü „Aktionen“ von SharePoint bearbeitet werden. Die Umfrageantworten werden auf der SharePoint-Umfragewebsite gespeichert, und die Ergebnisse können in Listenform oder als grafische Zusammenfassungen angezeigt oder nach Excel® exportiert werden.
Es sei noch einmal darauf hingewiesen, dass diese Lösung (mit dem in Abbildung 4 gezeigten Prozess) mit WSS und ohne zusätzliche Software erstellt werden kann. Wenn Sie bereits über eine professionell entwickelte SharePoint-Website verfügen, sollte eine einzelne Abteilung mit geringer oder ganz ohne Unterstützung durch den IT-Bereich Umfragen erstellen und implementieren können.
Abbildung 4 Eine Umfrage auf Grundlage von Windows SharePoint Services
Abbildung 4 Eine Umfrage auf Grundlage von Windows SharePoint Services
Eine Einschränkung des allein auf WSS basierenden Prozesses wird offensichtlich, wenn eine Umfrage angepasst werden muss. WSS erstellt Umfragelisten unter Verwendung verschiedener ASPX-Standardseiten (AllItems.aspx, DispForm.aspx, EditForm.aspx, NewForm.aspx, overview.aspx und summary.aspx). Obwohl die Seitenanpassung über die in WSS enthaltenen Parameter hinaus möglich ist, beruhen die meisten Features auf Webparts, die nicht ohne weiteres anpassbar sind. Darüber hinaus eignet sich die allein auf WSS basierende Lösung am besten für Umfragen, in die keine externen Datenquellen wie das ERP-System Ihres Unternehmens integriert werden müssen.
Wenn Sie die Umfragelösung erweitern müssen, um eine benutzerdefinierte Benutzeroberfläche einzubeziehen oder zusätzliche Datenquellen zu integrieren, sollten Sie ernsthaft die Lösung in Betracht ziehen, bei der MOSS, WSS und InfoPath kombiniert werden.

Die vollständige Umfragelösung
MOSS umfasst viele Features, die WSS erweitern, vorerst möchte ich mich jedoch auf eine einzige Komponente konzentrieren – InfoPath Forms Services. Bei InfoPath Forms Services muss auf dem Computer des Umfrageerstellers nur InfoPath installiert sein. Andere Benutzer können über einen Webbrowser auf die Umfrage zugreifen.
In InfoPath wählt der Umfrageersteller jene Option aus, die es ermöglicht, dass das Formular mithilfe eines Browsers ausgefüllt wird. InfoPath erstellt dann ein Formular, das in jedem standardkonformen Webbrowser angezeigt werden kann. Dieses webbasierte Formular funktioniert auf die gleiche Weise wie ein InfoPath-Formular, abgesehen von einigen erweiterten InfoPath-Features (wie Benutzerrollen, vertikaler Text, Dialogfeldaktionen und erweiterte Steuerelemente). Das Formular wird dann in einer SharePoint-Bibliothek oder -Liste veröffentlicht. Derweil stellt ein weiteres InfoPath-Feature namens „Designdetektiv“ sicher, dass das Umfrageformular mit InfoPath Forms Services kompatibel ist.
Es gibt keinen Unterschied zwischen einer InfoPath-Formularbibliothek und einer browserfähigen Formularbibliothek. In jedem Fall ist eine Formularvorlage eine .xsn-Datei. Entweder zeigt InfoPath Forms Services das Formular in einem Browser an, oder die Datei wird auf den Client heruntergeladen und direkt in InfoPath angezeigt. Wenn ein Umfrageersteller für eine SharePoint-Website mindestens über Teilnehmerberechtigungen verfügt, kann er SharePoint-Dokumentbibliotheken zum Veröffentlichen von Formularvorlagen verwenden.
Ein Befragter mit einem standardkonformen Browser kann an der InfoPath Forms Services-Umfrage teilnehmen, und seine Antworten werden dann nahtlos an den SharePoint-Server zurückgegeben. Innerhalb von SharePoint können die Daten auf sichere Weise gespeichert, freigegeben und analysiert werden (mit Excel, SQL oder anderen im Netzwerk verfügbaren Tools). All dies kann mit minimaler Unterstützung durch die IT-Administratoren erreicht werden.

Postbacks und Leistungsprobleme
Es gibt jedoch potenzielle Leistungsprobleme. Browserfähige Formulare werden beispielsweise im Kontext eines Systemkontos auf dem SharePoint-Server ausgeführt. Wenn ein Formular Code oder Datenverbindungen enthält (wie in Abbildung 5 dargestellt), bedeutet dies, dass der Code oder die Datenverbindungen auf dem Server und nicht auf dem Client ausgeführt werden. Zudem müssen komplexe Formulare möglicherweise häufig Daten per Postback an den Server zurückgeben, wodurch sich die Arbeitsauslastung auf dem Server erhöht.
Abbildung 5 InfoPath Forms Services-basierte Umfragelösung mit zusätzlichen Datenverbindungen
Abbildung 5 InfoPath Forms Services-basierte Umfragelösung mit zusätzlichen Datenverbindungen
Je mehr eine Umfrage Postbacks verwendet, desto höher ist die Auslastung der Front-End-Webserver. Es gibt jedoch Situationen, in denen ein Postback unvermeidlich ist, beispielsweise beim Implementieren der Antwortverzweigung. Um potenzielle negative Auswirkungen auf das System zu minimieren, müssen sich Umfrageersteller der Postbackprobleme bewusst sein und verstehen, wie sie Umfragen am besten implementieren, wenn das Postback nicht vermieden werden kann. Umfrageersteller sollten beispielsweise assistentenartige Umfragen verwenden, die Daten an den Server zurückgeben, wenn der Benutzer auf die Schaltfläche „Weiter“ klickt. Dies trägt dazu bei, die Anzahl der Postbacks zu verringern.
InfoPath Forms Services muss den Status jedes derzeit aktiven Formulars auf dem Server verwalten. Das Standardsitzungstimeout beträgt 60 Minuten, was Folgendes bedeutet: Wenn das Ausfüllen einer komplexen Umfrage mehr als 60 Minuten dauert und während dieses Zeitraums keine Postbacks erfolgen, wird die Sitzung auf dem Server geschlossen. Daten, die eingegeben, aber nicht gesendet werden, gehen verloren, und der Befragte muss von vorn beginnen.
Diese Probleme werden verstärkt, wenn eine große Anzahl von Befragten gleichzeitig an einem Umfrageformular arbeitet und wenn Umfragen große Datenquellen aufweisen oder Dateianlagen enthalten. Weitere Informationen finden Sie unter „Verbessern der Leistung von InfoPath 2007-Formularen“ unter msdn2.microsoft.com/bb380251.

Sicherheitsaspekte
Obwohl eine ausführliche Erläuterung des Themas „Sicherheit“ über den Rahmen dieses Artikels hinausgeht, ist es wichtig, einige Sicherheitsaspekte hervorzuheben. Zunächst einmal stehen SharePoint und InfoPath 2007 mit der Trustworthy Computing-Initiative in Einklang, die von Microsoft Anfang 2002 auf den Weg gebracht wurde. InfoPath-Formulare haben drei mögliche Sicherheitsstufen: „Eingeschränkt“, „Domäne“ und „Voll vertrauenswürdig“. Standardmäßig bestimmt InfoPath automatisch eine empfohlene Sicherheitsstufe und wendet sie auf das Formular an.
Funktionalität für digitale Signaturen kann dabei helfen sicherzustellen, dass ein Formular von einem bestimmten Benutzer erstellt und ausgefüllt wird und dass es nicht geändert wird. Mithilfe der Verwaltung von Informationsrechten (Information Rights Management, IRM) kann zudem der Zugriff auf Vorlagen und ausgefüllte Formulare eingeschränkt werden. Um zu verhindern, dass böswillige Benutzer Formulare hochladen, die schädlichen Code enthalten oder die SharePoint-Plattform dazu verwenden, Angriffe gegen andere Systeme über Datenverbindungen zu starten, unterscheidet InfoPath zwischen vom Benutzer bereitgestellten und vom Administrator bereitgestellten Formularen. Benutzer können Formulare hochladen, solange die Formulare keinen benutzerdefinierten Code enthalten und nur die Sicherheitsstufe „Domäne“ verwenden, die domänenübergreifende Datenverbindungen einschränkt. Diese Parameter sind für die Mehrheit der Umfragelösungen ausreichend.
Wenn ein Umfrageentwurf die Sicherheitsstufe „Voll vertrauenswürdig“ erfordert, um uneingeschränkten Zugriff auf Ressourcen zuzulassen, muss die Formularveröffentlichung von einem IT-Administrator genehmigt werden. Standardmäßig ist die Genehmigung eines IT-Administrators erforderlich, wenn ein Formular verwalteten Code enthält, wenn domänenübergreifende Datenverbindungen in der Formularvorlage definiert sind, wenn das Formular Datenverbindungen verwendet, die in der zentral verwalteten Datenverbindungsbibliothek definiert sind und wenn die Option zur Unterstützung des Renderns auf mobilen Geräten ausgewählt wurde.
Für die Sicherheitsstufe „Voll vertrauenswürdig“ erstellt der Umfrageersteller ein InfoPath-Formular und speichert die Formularvorlage. Die Vorlage oder .xsn-Datei wird als E-Mail-Anlage an den SharePoint-Administrator gesendet oder über eine Netzwerkfreigabe weitergegeben. Der IT-Administrator prüft dann die Umfragefeatures und sämtlichen enthaltenen Code, bevor er die Umfrage auf dem Produktionssystem zur Verfügung stellt. Der IT-Administrator schließt die Bereitstellung ab, indem er die Umfragevorlage in eine Websitesammlung hochlädt und die Umfragevorlage aktiviert. Beide Verfahren werden auf der Seite „Anwendungsverwaltung“ der WSS-Zentraladministrationskonsole durchgeführt. Das Endergebnis besteht darin, dass ein IT-Administrator die Veröffentlichung von Formularen an einzelne Abteilungen delegieren und dennoch die Aufsicht über den Veröffentlichungsprozess behalten kann, wenn Formulare über grundlegende Datensammlungsaktivitäten hinausgehen.
Die Beaufsichtigung durch den IT-Administrator ist bei bestimmten gängigen Szenarios erforderlich: wenn Formulare mit Standarddaten aufgefüllt werden müssen und wenn Umfrageergebnisse an mehrere Datenquellen übertragen werden. Standardmäßig können Formularvorlagen mit Domänenvertrauensstellung keine domänenübergreifenden Datenverbindungen herstellen, es gibt jedoch einige Maßnahmen, die Sie ergreifen können, um diese Einschränkung aufzuheben, z. B.:
  • Erteilen von Berechtigungen der Sicherheitsstufe „Voll vertrauenswürdig“ an das Formular.
  • Erstellen einer Domänenvertrauensstellung mithilfe von Datenverbindungen aus der Datenverbindungsbibliothek.
  • Verwenden der Domänenvertrauensstellung mit der zentral verwalteten Verbindungsbibliothek.
Vollständige Vertrauenswürdigkeit und die Optionen der zentral verwalteten Verbindungsbibliothek erfordern während der Formularveröffentlichung die Genehmigung des Administrators. Die Datenverbindungsbibliothek (Data Connection Library, DCL) lässt jedoch zu, dass von Benutzern veröffentlichte Formulare die Domänengrenzen mithilfe der auf der Websitesammlungsebene verwalteten DCL überqueren. Diese DCL kann der Kontrolle durch die einzelne Abteilung unterliegen. Es ist jedoch wichtig zu verstehen, dass es ein Sicherheitsproblem darstellen kann, wenn einzelne Abteilungen eigene serverbasierte Datenverbindungen definieren dürfen.
Die sicherste Option besteht darin, Datenverbindungen in der zentral verwalteten Verbindungsbibliothek zu definieren und dann einen IT-Administrator erweiterte Umfrageformulare bereitstellen zu lassen, die diese Datenverbindungen verwenden. Die zentral verwaltete Verbindungsbibliothek ist von Vorteil, weil sie für alle Websitesammlungen und für die gesamte Serverfarm verfügbar ist. Dadurch kann der Administrator zentrale Authentifizierungseinstellungen für den Zugriff auf Datenquellen definieren, die sich nicht auf dem lokalen SharePoint-Server befinden. Weitere Informationen finden Sie online im Artikel „Datenverbindungen, Authentifizierung und alternative Zugriffszuordnung“ unter msdn2.microsoft.com/ms 771995.

Zusammenfassung
Umfragen bieten eine leistungsfähige Methode, mit der für jedes Unternehmen erfolgsentscheidende (und weniger wichtige) Informationen auf allen Ebenen gesammelt werden können. Für die Erstellung einer wirkungsvollen Umfrage sind jedoch die richtigen Tools, ein durchdachter Plan und eine ausgeglichene Mischung aus Kunst und Wissenschaft erforderlich. Die gründliche Planung im Vorfeld hilft Ihnen beim Erstellen einer Lösung, die es jeder Abteilung innerhalb Ihrer Organisation ermöglicht, Umfragedaten zu erstellen, zu senden, zu empfangen, zu speichern und zu analysieren.
Die wirkungsvollsten Umfragen sind diejenigen, die zeitnahe, relevante Informationen liefern. Damit Informationen zum erforderlichen Zeitpunkt gesammelt werden können, muss Ihre Lösung die einfache Erstellung und Verwaltung von Umfragen auf Abteilungsebene ermöglichen – ohne die Sicherheit zu gefährden. Durch Bereitstellen einer intuitiven Oberfläche, die ohne großen Schulungsaufwand verwendet werden kann, ermöglicht InfoPath Büroanwendern, qualitativ hochwertige Umfragen zu erstellen. Mit InfoPath können Sie zudem ohne große Beteiligung von IT-Administratoren Umfragedaten hoher Qualität sammeln.
InfoPath 2007 arbeitet nahtlos mit WSS und MOSS zusammen, um umfassende, komplexe Umfragelösungen mit plattform- und browserübergreifender Kompatibilität zu ermöglichen. Dadurch kann Ihr Unternehmen eine seiner wichtigsten Ressourcen nutzbar machen: Informationen.
Schnelle Umfragen per E-Mail
Spontane Umfragen sind ein wesentliches Tool für das schnelle Sammeln von Daten von einer kleinen Gruppe von Befragten. E-Mail-basierte Umfragen eignen sich perfekt für diese Art von Echtzeitrecherchen – sie können schnell erstellt werden und erfordern keine speziellen Server oder IT-Unterstützung. Mit einer der einfachsten Methoden, d. h. mit in einer Microsoft® Outlook®-Nachricht eingebetteten Abstimmungsschaltflächen, können Sie eine eindimensionale Umfrage senden, empfangen und tabellarisieren.
Nach dem Starten einer Umfrage mit Abstimmungsschaltflächen erhalten die Empfänger eine E-Mail-Nachricht, die einen Abstimmungsbereich enthält, in dem eine Dropdownliste mit Optionen angezeigt wird. Der Empfänger antwortet durch Klicken auf eine der Optionen. In einem Popupfenster wird dann die Meldung „Sie haben als Antwort gewählt: <Ihre Auswahl>“ angezeigt und die Möglichkeit geboten, die Antwort zu senden oder zu bearbeiten.
Der Umfrageersteller oder ein zugewiesener Delegat empfängt die einzelnen Antworten per E-Mail und tabellarisiert die Ergebnisse manuell. Wenn die Umfrage eine große Anzahl von Empfängern umfasst, sollten Sie in Outlook eine Regel (mit dem Regel-Assistenten) erstellen, durch die die Antworten automatisch in einen speziellen Ordner weitergeleitet werden, wie in Abbildung A dargestellt.
Abbildung A Automatisch in einen speziellen Ordner weitergeleitete Umfrageantworten
Abbildung A Automatisch in einen speziellen Ordner weitergeleitete Umfrageantworten
Abstimmungsschaltflächen haben jedoch ihre Grenzen. Mit in E-Mail-Nachrichten eingefügten Umfrageformularen können viel mehr Daten gesammelt werden, das manuelle Abrufen und Tabellarisieren dieser Daten kann jedoch sehr umständlich sein. Eine komplexere Möglichkeit für E-Mail-basierte Umfragen ist die Verwendung von VBScript zum Anpassen von Outlook-Umfragen. Angepasste Formulare können die Sammlung und Analyse von größeren Mengen komplexerer Daten erleichtern. Um auf die Entwicklerfunktionalität in Outlook 2007 zugreifen zu können, müssen Sie zuerst die in Abbildung B gezeigte Registerkarte „Entwicklertools“ anzeigen.
Abbildung B Registerkarte „Entwicklertools“ in Outlook 2007
Abbildung B Registerkarte „Entwicklertools“ in Outlook 2007
Das Erstellen benutzerdefinierter Outlook-Formulare geht über die Kenntnisse des typischen Outlook-Benutzers hinaus. InfoPath® 2007 bietet jedoch neue Features, mit denen sich angepasste Formulare auf einfache Weise implementieren lassen. Umfrageersteller haben drei Möglichkeiten, ohne spezielles Fachwissen InfoPath-Formulare und -Vorlagen zu erstellen:
  • Durch Importieren von vorhandenen Microsoft Word-Dokumenten oder Excel®-Tabellen.
  • Durch Herunterladen vordefinierter InfoPath-Vorlagen und deren Anpassung an bestimmte Anforderungen.
  • Durch von Grund auf neues Entwerfen von Vorlagen mithilfe der Formularentwurfsfunktionalität von InfoPath.
In allen drei Fällen können die Vorlagen in Outlook veröffentlicht und per E-Mail verteilt werden. Mit InfoPath 2007 und Outlook 2007 kann ein Büroanwender innerhalb weniger Stunden mit geringer oder ganz ohne Unterstützung durch die IT-Abteilung eine Umfrage mit zwanzig Fragen erstellen, sie per E-Mail an eine Gruppe senden, die Ergebnisse in Outlook empfangen und die Daten in einer Excel-Tabelle analysieren.
Die einzige wirkliche Anforderung in diesem Szenario besteht darin, dass auf den Computern aller Teilnehmer InfoPath und Outlook installiert sind. Da InfoPath 2007 die Funktionalität von Outlook 2007 erweitert, können die Empfänger direkt über die Outlook-Oberfläche an der Umfrage teilnehmen.
InfoPath unterstützt jedoch viel mehr Möglichkeiten als nur E-Mail-basierte Umfragen. Sie können Vorlagen erstellen, durch die Daten abgefragt und an Webdienste und SQL Server®-Datenbanken gesendet werden, oder ein vorhandenes XML-Dokument oder XML-Schema als Datenquelle verwenden. Anders ausgedrückt: Benutzer können mit minimaler Schulung und mit wenig oder ganz ohne zusätzlichen Code die Leistungsfähigkeit und Flexibilität von XML nutzen.
E-Mail als Umfragelösung ist mit einigen nennenswerten Nachteilen verbunden. So erfolgen diese Umfragen beispielsweise nicht anonym, da die E-Mail-Adresse der Befragten verfügbar ist. Dies kann die Aufrichtigkeit verringern und die Ergebnisse verzerren. Es treten auch Sicherheitsprobleme wie Phishingangriffe auf. Daher ist die Art und Ausführlichkeit der Informationen, die Sie mit E-Mail-basierten Umfragen sammeln können, begrenzt.

Erstellen einer datenbankgesteuerten Umfragelösung
E-Mail-basierte Umfragen sind nicht für komplexere Untersuchungen mit einer großen Anzahl von Befragten geeignet – die Verwendung eines Ordners in Outlook® reicht einfach für die Verwaltung und Analyse aller Daten nicht aus. Eine stabilere Lösung besteht darin, Umfrageantworten an eine Datenbank weiterzuleiten. Die erweiterten Speicher-, Indizier-, Verarbeitungs- und Berichtsfunktionen, die Ihnen eine Datenbank bietet, können sehr nützlich sein. Microsoft® SQL Server® 2005 umfasst beispielsweise SQL Server Reporting Services, das zur automatischen Verarbeitung von Umfrageergebnissen verwendet werden kann.
Um eine InfoPath-Formularvorlage erstellen zu können, durch die Antworten an eine Datenbank gesendet werden, müssen Sie zuerst eine Access® - oder SQL Server-Datenbank in Ihrem Netzwerk erstellen. Dann können Sie in InfoPath® mithilfe des Assistenten „Eine Formularvorlage entwerfen“ mit dem Erstellen einer Vorlage beginnen. Dadurch wird der Datenverbindungs-Assistent geöffnet, der Sie durch den Vorgang zum Verknüpfen des Formulars mit der Datenbank führt. InfoPath verwendet die Informationen in Ihrer Datenbank zum Erstellen der Felder für die Abfrage und Daten der Datenquelle.
Die meisten Benutzer verfügen über ausreichende Kenntnisse, um mit nur geringer Schulung oder Unterstützung an der Umfrage teilnehmen und die Antworten senden zu können. In diesem Szenario (bei dem Daten direkt an die Datenbank übergeben werden) müssen die Befragten über InfoPath und Outlook verfügen und sich hinter der Unternehmensfirewall befinden oder VPN-Zugriff auf das Unternehmensnetzwerk haben.
Der Datenverbindungs-Assistent von InfoPath bietet nur Schnittstellen zu Microsoft SQL Server 2000 oder höher und zu Access-Datenbanken, die systemeigenes ADOXML verwenden. Das direkte Übertragen an die Datenbank wird für andere Datenbanken nicht unterstützt. Weitere Einschränkungen bestehen darin, dass InfoPath das Binden von Rich-Text-Steuerelementen an Datenbankfelder nicht zulässt und große Binärdatentypen nicht unterstützt werden.
Wenn die Netzwerktopologie größer und komplexer wird, ist es zunehmend von Vorteil, Daten an einen Zwischenwebdienst zu senden und diese Daten dann an eine Datenbank zu übergeben. Wenn das Umfrageformular-Front-End mithilfe eines Webdiensts vom Datenbank-Back-End getrennt wird, lässt sich auch die Geschäftslogik einfacher auf dem Webserver implementieren. Da der Webdienst über HTTP- oder HTTPS-Verbindungen ausgeführt wird, können Teilnehmer wie in Abbildung C Daten durch Firewalls senden. Beachten Sie jedoch, dass auf den Computern der Befragten dennoch InfoPath 2003 oder 2007 installiert sein muss.
Der Nachteil dieses Szenarios besteht darin, dass die Implementierung die Beteiligung der IT-Abteilung erfordert. Die ausführliche Beschreibung dieses Prozesses geht über den Rahmen dieses Artikels hinaus. Ich muss Sie jedoch warnen, dass die Erstellung einer vollkommen neuen Datenbanklösung kein leichtes Unterfangen ist. Sie erfordert Vorausplanung, einen stabilen Umfrageentwurf, die Programmierung des Webdiensts und den Entwurf des Datenbank-Back-End. InfoPath 2007 vereinfacht den aus dem Formularentwurf bestehenden Teil des Prozesses, die End-to-End-Lösung erfordert jedoch gründliche Kenntnisse im Bereich Programmierung und Datenbankentwurf. Das Hinzufügen erweiterter Funktionen wie Unterstützung für Workflows oder mehrere Sprachen führt zudem zu einer schnellen Erhöhung der Implementierungskosten.
Abbildung C InfoPath-Datenfluss durch einen Webdienst
Abbildung C InfoPath-Datenfluss durch einen Webdienst

Jim Bradley ist Eigentümer von CoyoteTech LLC, einem im Bereich der technischen Kommunikation tätigen Unternehmen, das auf Dokumentation zur Benutzerunterstützung für Microsoft Server-Produkte spezialisiert ist. Zu den Dokumentationsprojekten gehören „Edge-Transport und Messagingschutz in Microsoft Exchange Server 2007“, „Die 64-Bit-Version von Exchange Server 2007“ und „Microsoft Exchange 2003 – Technisches Referenzhandbuch“.


 SharePoint: Standardisieren der Datenverwaltung mit benutzerdefinierten Inhaltstypen
SharePoint Pav Cherny

Standardisieren der Datenverwaltung mit benutzerdefinierten Inhaltstypen
Kurz zusammengefasst:
  • Inhaltslebenszyklusverwaltung mit SharePoint
  • Erstellen von Dokumentinformationsbereichen
  • Bearbeiten von Office- und SharePoint-Dokumenten über InfoPath
Laden Sie den Code für diesen Artikel herunter: ContentTypes2008_02.exe (779KB)

Die große Anzahl an Dokumenten und anderen Inhaltselementen, die in der Regel in einer Unternehmensumgebung vorzufinden sind, machen es in betrieblicher und technischer Hinsicht schwierig, die Dokumente, ihre
Metadaten und ihre Verhaltensweisen auf zentralisierte und wiederverwendbare Weise zu verwalten. Microsoft® Office SharePoint® Server 2007 fördert die unternehmensweite Zusammenarbeit, indem unterschiedlichen Teams innerhalb einer Organisation ermöglicht wird, Arbeitsbereiche auf Websites, Dokumentbibliotheken und Listen gemeinsam zu nutzen.
SharePoint 2007 ermöglicht es, viele Aspekte von Inhalts- und Lebenszyklusmerkmalen durch Inhaltstypen zu standardisieren. Websiteinhaltstypen sind Metadatendefinitionen, die unabhängig von einer bestimmten Websitesammlung, Website, Liste oder Dokumentbibliothek eingerichtet werden können. Dies ermöglicht ein konsistentes Einrichten unternehmensweiter Eigenschaften, Workflows, Informationsverwaltungsrichtlinien und anderer Elemente und erlaubt zugleich einzelnen Abteilungen oder Websitebesitzern, Inhaltstypen für bestimmte Zwecke anzupassen.
In diesem Artikel wird die Verwendung des mit Windows® SharePoint Services (WSS) 3.0 und Microsoft Office SharePoint Server (MOSS) 2007 eingeführten neuen SharePoint-Inhaltsmodells aufgezeigt, um basierend auf allgemeinen Merkmalen Hierarchien für Unternehmensinhalte zu erstellen. Diese Inhaltshierarchien ermöglichen die einheitliche Anwendung von Metadaten, Workflows und Informationsverwaltungsrichtlinien auf globaler Ebene und bieten zugleich die Flexibilität, einzigartige Inhaltsverwaltungsanforderungen auf der Ebene von Websitesammlungen, Websites, Dokumentbibliotheken und Listen zu erfüllen.
Um einige der untergeordneten Aspekte von SharePoint-Inhaltstypen zu veranschaulichen, wurden im Begleitmaterial eine Reihe benutzerdefinierter Tools sowie den Quellcode aufgenommen, mit dem Sie die Tools bei Bedarf gemäß Ihren spezifischen Anforderungen erweitern können. Bedenken Sie dabei jedoch, dass diese Tools nicht gründlich getestet wurden und daher nicht in einem Produktionssystem verwendet werden sollten. Sie können den Code von der Website des TechNet Magazins unter technetmagazine.com/code08.aspx herunterladen.

Inhaltslebenszyklus und Inhaltstypdefinitionen
SharePoint-Ressourcen
  • InfoPath-Teamblog
  • Workflows in Office SharePoint Server 2007
  • TechNet-Webcast: Installieren und Konfigurieren der Suche in SharePoint Server 2007
  • InfoPath Forms Services

Beim Verwalten von Dokumenten und anderen Inhalten in einer Organisation müssen viele Details berücksichtigt werden. Unter anderem muss definiert werden, welche Person oder welcher Prozess beim Erstellen, Veröffentlichen, Archivieren und Löschen von Inhalt welche Aktion durchführen muss. In einer Organisation ist es darüber hinaus erforderlich, bestimmte Vorlagen für die Inhaltserstellung zu entwickeln, Rollen zu definieren, um Benutzern Zuständigkeiten und Zugriffsberechtigungen zuzuweisen, Versionskontrolle bereitzustellen, die Einhaltung von Richtlinien sowie Speicher und Archive zu überwachen, Metadaten zu definieren und so weiter.
Wie komplex ein bestimmter Inhaltslebenszyklus auch sein mag, erkennt das SharePoint-Inhaltsmodell, dass es einige allgemeine Merkmale und typische Phasen gibt, die bestimmen, wie die einzelnen Inhaltselemente behandelt werden müssen. Sie können beispielsweise die Inhaltserstellung durch Vorlagen und Eingabeformulare sowie Inhaltsanzeigen und Suchvorgänge in Metadaten strukturieren. Weiterhin können Sie Bearbeitungs-, Genehmigungs- oder andere Workflowanforderungen sowie Archivierungsanforderungen, Ablauffristen und anwendbare Informationsverwaltungsrichtlinien verwenden, um zwischen einzelnen Inhaltselementen zu unterscheiden. Manche Inhalte erfordern möglicherweise keine besonderen Vorlagen oder werden nie archiviert, aber selbst dies sind Lebenszyklusmerkmale, die diese Elemente von anderen Elementen unterscheiden.
Das SharePoint-Inhaltsmodell ermöglicht Ihnen, einzelne Inhaltstypen zu definieren und hierarchische Beziehungen einzurichten. In einer hierarchischen Beziehung erben untergeordnete Inhaltstypen allgemeine Merkmale von übergeordneten Inhaltstypen und fügen je nach Bedarf bestimmte Merkmale hinzu.
Dies lässt sich am besten durch eine Untersuchung der integrierten Inhaltstypen von SharePoint veranschaulichen. WSS 3.0 und MOSS 2007 enthalten eine Reihe vordefinierter Inhaltstypen für typische Elemente, die in einer Dokumentbibliothek oder einer Liste gespeichert werden können, z. B. Dokumente und Aufgaben. Sie können die Definitionen dieser standardmäßigen Inhaltstypen auf einem SharePoint Server im Ordner „%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\Features\Ctypes“ finden. Dort befindet sich eine Manifestdatei namens „feature.xml“. Bei näherer Untersuchung dieser Datei stellen Sie fest, dass SharePoint die standardmäßigen Inhaltstypdefinitionen als verborgenes Feature (Hidden="TRUE") mit einem Websitesammlungsbereich (Scope="Site") implementiert und dass die Element-Manifestdatei, in der die eigentlichen Inhaltstypelemente enthalten sind, „ctypeswss.xml“ heißt (<ElementManifest Location="ctypeswss.xml" />).
Wenn Sie mehr über SharePoint-Features erfahren möchten, empfehle ich Ihnen den Office-Space-Artikel von Ted Pattison im MSDN® Magazin mit dem Titel „Features für SharePoint“, der unter msdnmagazine.com/issues/07/05/OfficeSpace verfügbar ist.
Öffnen Sie nun die Datei „ctypeswss.xml“ in Editor, um die standardmäßigen Inhaltstypen unabhängig davon zu untersuchen, ob sie in der SharePoint-Benutzeroberfläche sichtbar sind. Sie dürfen „ctypeswss.xml“ nicht verändern. Wenn Sie vorhaben, die Datei „ctypeswss.xml“ zu bearbeiten, um standardmäßigen Inhaltstypen neue Felder hinzuzufügen oder verborgene Inhaltstypen sichtbar zu machen, damit SharePoint-Benutzer neue Inhaltstypen ableiten können, dann beachten Sie bitte, dass dies normalerweise nicht erforderlich ist. Außerdem führt dies zu nicht unterstützten Konfigurationen, und es ist möglich, dass spätere Installationen von Service Packs Ihre Anpassungen überschreiben und Ihre Inhaltsverwaltungslösungen zerstören.
Eine viel bessere Methode besteht darin, alles für Sie Erforderliche in eine neue Element-Manifestdatei zu kopieren, nach Bedarf alle notwendigen Anpassungen hinzuzufügen und danach Ihre benutzerdefinierten Inhaltstypen als neues Feature mit einem Websitesammlungsbereich bereitzustellen, damit sie für alle Websites innerhalb der Websitesammlung verfügbar sind.
Hier ist die CAML (Collaborative Application Markup Language)-basierte Definition des System-Inhaltstyps zu sehen, wie sie in „ctypeswss.xml“ angegeben ist:
<ContentType ID="0x"
    Name=$Resources:System
    Group="Hidden"
    Sealed="True"
    Version="0">
   <FieldRefs>
      <FieldRef ID="{c042a256-787d-4a6f-8a8a-cf6ab767f12d}" Name="ContentType"/>
   </FieldRefs>
</ContentType>
Die Group- und Sealed-Attribute zeigen an, dass der System-Inhaltstyp verborgen und versiegelt ist, damit er in der SharePoint-Benutzeroberfläche nicht geändert werden kann. Der System-Inhaltstyp besitzt nur ein einziges FieldRef-Element, das auf eine integrierte Websitespalte namens „ContentType“ verweist. Dies ist die höchste Abstraktionsstufe. Alle anderen SharePoint-Inhaltstypen erben diese Eigenschaft vom System-Inhaltstyp. Auf diese Weise stellt SharePoint sicher, dass alle Inhaltselemente, die in Dokumentbibliotheken oder Listen gespeichert sind, diese Eigenschaft gemeinsam haben.
Abbildung 1 zeigt ein Webpart namens „ContentTypeHierarchy“, das im Begleitmaterial für diesen Artikel enthalten ist und die Hierarchien auf anschaulichere Art demonstriert. System befindet sich an der Wurzel aller anderen Inhaltstypen, gefolgt von Item und so weiter. Der Item-Inhaltstyp stellt beispielsweise die nächste Detailstufe dar. Bei einer Überprüfung von „ctypeswss.xml“ können Sie sehen, dass Item ein einzelnes Metadatenfeld definiert, das auf eine Websitespalte namens „Title“ verweist. Daher besitzen alle integrierten Inhaltstypen niedrigerer Stufen eine Eigenschaft namens „Title“.
Abbildung 1 Hierarchie der in WSS 3.0 integrierten Inhaltstypen
Abbildung 1 Hierarchie der in WSS 3.0 integrierten Inhaltstypen
Es ist auch möglich, ein geerbtes Feld zu entfernen, wie die Document-Inhaltstypdefinition in „ctypeswss.xml“ demonstriert. Der Document-Inhaltstyp umfasst mehrere entsprechende RemoveFieldRef-Elemente, doch Sie sollten in Ihren benutzerdefinierten Inhaltstypen das Feld „Title“ beibehalten, weil die Spalte „Title“ den Zugriff auf das Dropdownmenü „Edit Control Box (ECB)“ (Feld zum Bearbeiten des Steuerelements) in der SharePoint-Dokumentbibliothek und den Listenansichten gewährt.
Ein gutes Beispiel zum Veranschaulichen, wie geerbte Felder umbenannt werden, bildet der Inhaltstyp „Far East Contact“ in der Datei „ctypeswss.xml“. Suchen Sie nach der entsprechenden Inhaltstyp-ID „0x0116“, und überprüfen Sie danach das FieldRef-Element mit dem Attribut „Name="Title"“, um zu sehen, wie Sie das DisplayName-Attribut zum Umbenennen eines Felds in der Benutzeroberfläche verwenden können. In diesem speziellen Beispiel ändert das DisplayName-Attribut den Namen des Title-Felds in der Benutzeroberfläche zu einem lokalisierten Datenwert, auf den durch „$Resources:core,Last_Name;“ verwiesen wird.
Bei näherer Betrachtung von Abbildung 1 erkennen Sie, dass das ID-Attribut des ContentType-Elements den Inhaltstyp eindeutig identifiziert und die hierarchische Beziehung einrichtet. Alle IDs beginnen mit der ID des übergeordneten Inhaltstyps, an die zusätzliche hexadezimale Werte angefügt wurden. An standardmäßige Inhaltstypen werden in der Regel zwei zusätzliche hexadezimale Werte angefügt, um eine neue eindeutige ID für den untergeordneten Inhaltstyp zu erstellen. Ein weiteres Verfahren besteht darin, den Wert „00“ und eine hexadezimale GUID anzufügen. Auf diese Weise werden beispielsweise die Inhaltstypen „Office Data Connection File“ und „Universal Data Connection File“ vom Document-Inhaltstyp abgeleitet.
Hierbei müssen die Benutzer unbedingt daran denken, dass das ID-Attribut des ContentType-Elements nicht länger als 1.024 Zeichen sein darf. Dies kann in einer umfangreichen hierarchischen Beziehung zu einem Problem werden, falls alle Inhaltstypen dasselbe Verfahren der hexadezimalen GUID-Adressierung verwenden. Es wäre jedoch keine gute Idee, mit dem kürzeren Verfahren zu beginnen, weil diese IDs möglicherweise nicht eindeutig sind.
Damit Eindeutigkeit gewährleistet ist, verwenden Sie das GUID-Verfahren, um einen globalen Namespace für Ihre unternehmensinternen Inhaltstypen einzurichten, und wechseln Sie danach innerhalb dieses Namespace zum kürzeren Verfahren. Ausführliche Informationen zum ID-Attribut und zu anderen Elementen von Inhaltstypdefinitionen finden Sie unter dem Thema „Inhaltstypdefinitionsschema“ im WSS 3.0-SDK.

Inhaltstypabhängigkeiten
Als Nächstes geht es um die Frage, wie SharePoint-Inhaltstypen dazu verwendet werden können, die Verwaltung von Inhaltselementen zu strukturieren. Sie müssen mehrere Abhängigkeiten in Betracht ziehen, z. B. die Abhängigkeiten zwischen Dokumentbibliotheken und Listen, Inhaltstypen, Websitespalten und Feldtypen. Bibliotheken und Listen verweisen auf Inhaltstypen, die auf Websitespalten verweisen, die wiederum auf Feldtypen (z. B. die standardmäßigen WSS-Feldtypen „text“, „note“, „choice“, „number“, „currency“ und so weiter) verweisen, die sich in Microsoft .NET Framework-Assemblys wie der WSS-Kernassembly „Microsoft.SharePoint.dll“ befinden.
Als Beispiel wird erneut der System-Inhaltstyp herangezogen, der bereits bei der CAML-Definition des Manifestdateieintrags für den System-Inhaltstyp vorgeführt wurde. Wie Sie dort gesehen haben, enthält dieser Inhaltstyp ein FieldRef-Element, das auf eine Websitespalte namens „ContentType“ verweist. Beachten Sie, dass die Inhaltstypdefinition nicht die Websitespalte „ContentType“ selbst definiert. ContentType ist ein Text-Feld, das in der Elements-Manifestdatei „fieldswss.xml“ definiert wird, die sich im Ordner „%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\Features\Fields“ befindet. Der Text-Feldtyp wiederum ist in der Datei „fldtypes.xml“ definiert, die sich im Ordner „%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\12\Template\XML“ befindet. Ein wichtiger Punkt, den Sie aus dieser Abhängigkeitsstruktur erkennen sollten, besteht darin sicherzustellen, dass alle Ressourcen auf Ihren SharePoint-Servern verfügbar sind.
Die Inhaltstypen, die Sie verwenden möchten, müssen auf der Websiteebene Ihrer Dokumentbibliotheken und Listen oder auf einer noch höheren Stufe der Websitehierarchie erstellt werden. In ähnlicher Weise müssen die Metadatenfelder Ihrer Inhaltstypen auf vorhandene Websitespalten verweisen. Sie können Ihren Inhaltstypen standardmäßige oder benutzerdefinierte Websitespalten hinzufügen, die auf standardmäßigen oder benutzerdefinierten Feldtypen basieren, müssen aber sicherstellen, dass die Websitespalten auf dem lokalen Standort existieren. Wenn Sie benutzerdefinierte Feldtypen verwenden möchten, müssen Sie darüber hinaus sicherstellen, dass die zugrunde liegenden .NET-Assemblys auf Ihren SharePoint-Servern installiert sind.
Ähnliche Abhängigkeiten bestehen bei Inhaltstypen, die auf Dokumentvorlagen, benutzerdefinierte Ereignisempfänger, Workflows und andere Komponenten verweisen. So kann beispielsweise die Inhaltstypdefinition ein DocumentTemplate-Element enthalten, das auf die mit dem Inhaltstyp verknüpfte Dokumentvorlage zeigt. Die Inhaltstypdefinition kann auch ein XmlDocuments-Element mit einem oder mehreren untergeordneten XmlDocument-Elementen enthalten, die zusätzliche Merkmale des Inhaltstyps wie Namespacedefinitionen, Dokumentinformationsbereichsdefinitionen oder benutzerdefinierte Informationen definieren.

Einrichten globaler Inhaltstypen
Benutzer mit Dokumenterstellungsberechtigungen können direkt in der SharePoint-Benutzeroberfläche neue Inhaltstypen und Websitespalten erstellen, aber die Inhaltstypen stehen dann in der Websitehierarchie nur am lokalen Standort und darunter zur Verfügung. Benutzerdefinierte Websitespalten sind nur am lokalen Standort verfügbar. Dies genügt nicht, wenn Sie globale Inhaltstypen einrichten möchten. Sie müssen sicherstellen, dass globale Inhaltstypen in allen Websitesammlungen Ihrer Umgebung verfügbar sind. An diesem Punkt sind SharePoint-Features sehr nützlich. SharePoint-Features lassen sich auf einfache Weise in mehreren Websitesammlungen installieren und aktivieren, um die entsprechenden Websitespalten- und Inhaltstypdefinitionen konsistent an allen Standorten anzuwenden.
Im Begleitmaterial zu diesem Artikel ist ein Beispielfeature namens „AdventureWorks“ enthalten, das demonstriert, wie ein globaler Inhaltstyp eingerichtet wird. Das Feature definiert einen allgemeinen Inhaltstyp namens „Customer Documentation“ (Kundendokumentation), der dazu verwendet werden kann, beliebige Kundenmaterialien wie Angebote und Werbebriefe zu erstellen. Es kann ohne Weiteres angenommen werden, dass alle diese Arten von Dokumenten mit Kundeninformationen wie Firmenname, Kontaktdetails und Adresse verknüpft werden müssen. Ich habe speziell für Ihren Inhaltstyp ein benutzerdefiniertes Feld namens „Customer Name“ (Kundenname) erstellt und einige integrierte Felder, z. B. „Department“ (Abteilung) und „Primary Phone“ (Primäre Telefonnummer), hinzugefügt. Sie können den Inhaltstyp und die Felder durch Bearbeiten der Datei „ContentTypes.xml“ ändern. Die Feldverweise können durch Bearbeiten der Datei „SiteColumns.xml“ geändert werden, die im Beispiel des Begleitmaterials enthalten ist.
Wenn Sie das Feature wie in der Datei „readme.htm“ beschrieben bereitstellen, können Sie es konsistent in mehreren Websitesammlungen aktivieren. Danach ist der Inhaltstyp „Customer Documentation“ global verfügbar. Dadurch können die einzelnen Abteilungen durch abgeleitete Inhaltstypen, die mit gezielten Dokumentvorlagen verknüpft sind, spezielle Kundendokumentationen erstellen. Das Begleitmaterial enthält Beispieldokumentvorlagen, die in Vertrieb und Beratung eingesetzt werden können. Abbildung 2 zeigt die resultierenden Inhaltstypen.
Abbildung 2 Über- und untergeordnete Inhaltstypen für die Kundendokumentation
Abbildung 2 Über- und untergeordnete Inhaltstypen für die Kundendokumentation
Es stehen mehrere Optionen zur Wahl, um Features für benutzerdefinierte Websitespalten und Inhaltstypen in WSS 3.0 und MOSS 2007 zu erstellen. Sie können sich auch in das WSS 3.0-SDK einarbeiten und XML-Dateien von Grund auf neu schreiben. Außerdem können Sie wählen, mit SharePoint Designer eine Liste in ein persönliches Webpaket zu exportieren, die resultierende .fwp-Datei in eine .cab-Datei umbenennen, aus der .cab-Datei die Datei „manifest.xml“ extrahieren und danach in der Datei „manifest.xml“ nach ContentType-Definitionen suchen. Leider sind beide Verfahren unpraktisch und fehlerbehaftet.
Im Gegensatz dazu ist es erstaunlich einfach, in der SharePoint-Benutzeroberfläche benutzerdefinierte Websitespalten und Inhaltstypen zu erstellen. Bisher bietet diese Benutzeroberfläche noch keine Option, um die XML-Dateien eines Features zu bearbeiten. Features sind eine effiziente Möglichkeit für das Bereitstellen von SharePoint-Ressourcen, aber nach der Bereitstellung existieren die Ressourcen lediglich in der Inhaltsdatenbank. Vielleicht wird eine zukünftige Version von WSS auch die Möglichkeit bieten, ähnlich wie beim Export von Webparts auch Websitespalten und Inhaltstypen über die SharePoint-Benutzeroberfläche in XML-Dateien zu exportieren. Vorläufig müssen Sie mit den angebotenen Funktionen arbeiten.
Das Begleitmaterial enthält ein Webpart namens „ContentTypeSchema“, das als Ausgangspunkt dienen kann. Es verwendet das SharePoint-Objektmodell, um die SchemaXML-Eigenschaft aus dem ausgewählten Inhaltstyp zu extrahieren. Durch XSLT (Extensible Stylesheet Language Transformation)-basierte Transformationen leitet das Webpart entweder Field-Definitionen oder ContentType-Definitionen ab, je nachdem, welche Option Sie in der Benutzeroberfläche auswählen, bevor Sie auf die Schaltfläche „Display“ (Anzeigen) klicken.
Abbildung 3 zeigt dieses Webpart in Aktion. Es zeigt den Active Directory®-Inhaltstyp „Documentation“ an, auf dem der Inhaltstyp „Customer Documentation“ basiert wurde. Der Active Directory-Inhaltstyp „Documentation“ ist mit einer benutzerdefinierten Microsoft Word-Vorlage („Active Directory Template.dot“) verknüpft. Beachten Sie, dass dieser Inhaltstyp keine zusätzlichen Felder besitzt. Alle Felder werden vom übergeordneten Inhaltstyp geerbt.
Wenn Sie planen, das Webpart „ContentTypeSchema“ in Ihrer eigenen Umgebung zu verwenden, müssen Sie bedenken, dass dieses Webpart nicht gründlich getestet wurde. Das Webpart verwendet relativ komplizierte XSL-Transformationen, um ein Delta zwischen der SchemaXML-Eigenschaft des momentan ausgewählten Inhaltstyps und seines übergeordneten Inhaltstyps zu erstellen. Noch ist XSLT 1.0 nicht wirklich für erweiterte XML-Dokumentkonvertierungen konzipiert. Es gibt kein integriertes Feature zum Vergleichen von XML-Knoten. Darüber hinaus bereiten XML-Namespaces sowie CDATA-Abschnitte Schwierigkeiten, die XSLT 1.0 nicht effizient bewältigen kann.
SharePoint speichert die Definition von Websitespalten und Websiteinhaltstypen, die durch die SharePoint-Benutzeroberfläche oder das SharePoint-Objektmodell erstellt werden, innerhalb der Inhaltsdatenbank in einer Tabelle namens „ContentTypes“. Sehen Sie sich in Abbildung 3 die ID des benutzerdefinierten Inhaltstyps an. Danach würde die folgende T-SQL-Anweisung exakte Ergebnisse liefern: SELECT Definition FROM ContentTypes WHERE ContentTypeId = <Inhaltstyp-ID>.
Abbildung 3 Benutzerdefinierte Inhaltstypdefinition im ContentTypeSchema-Webpart
Abbildung 3 Benutzerdefinierte Inhaltstypdefinition im ContentTypeSchema-Webpart
Für welches Verfahren Sie sich auch immer entscheiden, das Erstellen von Features für unternehmensweite Inhaltstypen ist äußerst einfach, sobald Ihnen die Websitespalte und die Inhaltstypdefinitionen vorliegen. Es wird empfohlen, ein einziges Feature für alle globalen Websitespalten und Inhaltstypen Ihrer Abteilung oder Ihres Unternehmens zu verwenden. Dadurch ist immer klar, wo neue Websitespalten- und Inhaltstypdefinitionen hinzugefügt werden müssen.

Unternehmensweite Suchvorgänge anhand benutzerdefinierter Metadaten
Ein unmittelbarer Vorteil von Inhaltstyphierarchien besteht darin, dass alle untergeordneten Inhaltstypen die Metadatenfelder des übergeordneten Inhaltstyps erben. Da alle Inhaltstypen gemeinsame Metadatenfelder besitzen, ist es für Benutzer recht leicht, in den Dokumentbibliotheken benutzerdefinierte Ansichten und Filter zu erstellen.
Dies wird durch das Beispielfeature „AdventureWorks“ einleuchtend demonstriert. Unabhängig vom Inhalt, den ein Berater oder Vertriebsmitarbeiter erstellt, erfordert das Speichern des resultierenden Word 2007-Dokuments in der Dokumentbibliothek die Angabe eines „Customer Name“ (Kundennamen), weil der übergeordnete Inhaltstyp „Customer Documentation“ dieses Metadatenfeld als obligatorisch definiert. Durch Gruppieren oder Filtern der Elemente in einer Dokumentbibliotheksansicht nach „Customer Name“ können Berater und Vertriebsmitarbeiter, wie in Abbildung 4 gezeigt, schnell und unkompliziert die gesamte vorhandene Dokumentation für einen Kunden finden.
Abbildung 4 Gruppieren verschiedener Dokumente in einer Bibliothek basierend auf gemeinsamen Metadaten
Abbildung 4 Gruppieren verschiedener Dokumente in einer Bibliothek basierend auf gemeinsamen Metadaten
Gemeinsame Metadaten erleichtern es außerdem, mit den Suchfunktionen von WSS 3.0 und MOSS 2007 über mehrere Dokumentbibliotheken und Websites hinweg Inhalte zu finden. WSS unterstützt innerhalb einer einzigen Websitesammlung die Suche in mehreren Bibliotheken, Listen und Websites. MOSS 2007 geht über diese Grundfunktionen noch hinaus, indem das Implementieren eines unternehmensweiten Suchcenters sowie das Verwalten benutzerdefinierter Metadaten in der Benutzeroberfläche der Zentraladministration von SharePoint 3.0 ermöglicht wird. Aus diesem Grund beziehen sich die folgenden Erklärungen in erster Linie auf MOSS 2007.
Wenn Sie in MOSS 2007 einen Anbieter für gemeinsame Dienste (Shared Service Provider, SSP) konfigurieren und Ihre SharePoint-Websites crawlen, kann MOSS 2007 automatisch die in den Inhaltsquellen verwendeten benutzerdefinierten Metadatenfelder erkennen. Dementsprechend können Sie die benutzerdefinierten Metadatenfelder in der Liste der gecrawlten Eigenschaften finden.
In SharePoint-Features definierte Metadatenfelder gehören in der Regel in die SharePoint-Kategorie. Um deren Position in der SharePoint-Zentraladministration zu finden, klicken Sie im Menü „Schnellstart“ unter „Verwaltung der gemeinsamen Dienste“ auf den Link zu Ihrem SSP. Klicken Sie dann auf „Sucheinstellungen“, auf „Eigenschaftenzuordnungen für Metadaten“, im Menü „Schnellstart“ auf „Gecrawlte Eigenschaften“, und öffnen Sie anschließend die SharePoint-Kategorie.
Dies soll anhand eines Beispiels aus der Praxis demonstriert werden. Das Customer Name-Metadatenfeld wird am Ende zur gecrawlten Eigenschaft namens „ows_Customer_x0020_Name“. SharePoint versieht gecrawlte Eigenschaften mit dem Präfix „ows_“, und „_x0020_“ ist die codierte Version eines einzigen Leerzeichens. Wenn Sie die Details dieser gecrawlten Eigenschaft anzeigen möchten, werden Sie feststellen, dass diese standardmäßig im Suchindex enthalten ist, damit Benutzer mithilfe der Werte dieser gecrawlten Eigenschaft Inhaltssuchvorgänge ausführen können. Um die Suchpräzision zu erhöhen, sollten Sie die gecrawlte Eigenschaft jedoch nicht einer verwalteten Eigenschaft zuordnen, damit die Benutzer explizit anhand des Kundennamens nach Inhalten suchen können.
Beim Zuordnen gecrawlter Eigenschaften zu verwalteten Eigenschaften haben Sie zwei Möglichkeiten. Sie können für jede gecrawlte Eigenschaft automatisch eine neue verwaltete Eigenschaft generieren lassen oder gecrawlte Eigenschaften manuell verwalteten Eigenschaften zuordnen. Das erste Verfahren ist möglich, wenn Sie die Einstellungen der gewünschten Kategorie gecrawlter Eigenschaften anzeigen. (Wenn Sie die gecrawlten Eigenschaften in einer Kategorie wie der SharePoint-Kategorie anzeigen, klicken Sie in der Verknüpfung „Schnellstart“ auf die Option „Kategorie bearbeiten“.) Unter „Einstellungen für massengecrawlte Eigenschaft“ müssten Sie das Kontrollkästchen „Automatisch eine neue verwaltete Eigenschaft für jede gecrawlte Eigenschaft in dieser Kategorie generieren“ auswählen. SharePoint versieht automatisch erstellte verwaltete Eigenschaften mit dem Präfix „ows_“ und codiert Leerzeichen durch die ESC-Sequenz „x0020“. Die verwaltete Eigenschaft für die gecrawlte Eigenschaft „ows_Customer_x0020_Name“ heißt demnach „owsCustomerx0020Name“. Dies ist allerdings kein besonders benutzerfreundlicher Eigenschaftsname.
Eine bessere Strategie wäre es vielleicht, gecrawlte Eigenschaften manuell verwalteten Eigenschaften zuzuordnen, nachdem Sie die unternehmensweiten Inhaltstypen bereitgestellt haben. Sie können eine gecrawlte Eigenschaft einer oder mehreren verwalteten Eigenschaften zuordnen. Um neue verwaltete Eigenschaften zu erstellen, klicken Sie in der SharePoint-Zentraladministration im Menü „Schnellstart“ unter „Verwaltung der gemeinsamen Dienste“ auf den Link zu Ihrem SSP, klicken Sie auf „Sucheinstellungen“, dann auf „Eigenschaftenzuordnungen für Metadaten“ und anschließend auf „Neue verwaltete Eigenschaft“, um die erforderlichen Informationen anzugeben und die neue verwaltete Eigenschaft mit der gewünschten gecrawlten Eigenschaft zu verknüpfen.
Danach können die Benutzer relevante Inhaltselemente finden, indem sie entweder die verwalteten Eigenschaften mit der Syntax-Eigenschaft: oder die erweiterte Suche verwenden. Wenn Sie beispielsweise die gecrawlte Eigenschaft „ows_Customer_x0020_Name“ einer verwalteten Eigenschaft namens „Customer“ (Kunde) zuordnen, können die Benutzer anschließend nach allen Dokumenten eines Kunden suchen, indem sie einfach im Standardsuchfeld „Customer: <Kundenname>“ eingeben (Beispiel: „Customer: Contoso“).
Es ist auch eine gute Idee, verwaltete Eigenschaften für die wichtigsten Metadatenfelder Ihrer Inhaltstypen in die Eigenschaftsliste auf der Seite „Erweiterte Suche“ aufzunehmen. Um dies zu erreichen, öffnen Sie die Seite „Erweiterte Suche“, klicken Sie auf „Websiteaktionen“, und wählen Sie den Befehl „Seite bearbeiten“ aus. Jetzt können Sie im Feld „Erweiterte Suche“ auf „Bearbeiten“ klicken, um die Option „Freigegebenes Webpart bearbeiten“ auszuwählen. Wenn Sie die Properties-Kategorie erweitern und den Cursor in das entsprechende Textfeld setzen, können Sie auf die Schaltfläche klicken, um das Properties-XML-Dokument zu bearbeiten. Sie müssen dem <PropertyDefs>-Element eine Eigenschaftsdefinition (z. B. <PropertyDef Name="Customer" DataType="text" DisplayName="Customer Name"/>) hinzufügen. Zusätzlich müssen Sie unter einem ResultType-Element (z. B. dem Element <ResultType DisplayName="All Results" Name="default">) einen Verweis auf diese Eigenschaftsdefinition (z. B. <PropertyRef Name="Customer" />) hinzufügen. In Abbildung 5a ist die resultierende Benutzeroberfläche der erweiterten Suche dargestellt. Abbildung 5b zeigt die Ergebnisse dieser Suche.
Abbildung 5a Suche nach IT-Infrastrukturdokumentation anhand des Kundennamen
Abbildung 5a Suche nach IT-Infrastrukturdokumentation anhand des Kundennamen
Abbildung 5b Die Ergebnisse der Kundennamenssuche
Abbildung 5b Die Ergebnisse der Kundennamenssuche

Gewährleisten von Informationskonsistenz
Jetzt habe Sie auf der Grundlage von MOSS 2007 erfolgreich die wichtigsten Metadatenfelder und Inhaltstypen standardisiert und Suchfunktionen über Websitesammlungen in Ihrem Unternehmen hinweg erweitert. Es muss nun unbedingt sichergestellt werden, dass die Benutzer korrekte Informationen in die Metadatenfelder eingeben.
Dies lässt sich auf zwei Arten einrichten. Erstens können Sie den Standarddokumentinformationsbereich in Ihren Dokumentvorlagen durch ein benutzerdefiniertes InfoPath®-Formular ersetzen, das Benutzern wie in einem Listenfeld eine vordefinierte Auswahl von Eingabeoptionen bietet. Zweitens können Sie einen Ereignisempfänger an den Inhaltstyp binden und danach die Richtigkeit der Metadaten und sonstiger Informationen überprüfen, sobald Benutzer entsprechende Inhaltselemente erstellen, ändern oder löschen.
Beide Möglichkeiten ergänzen sich gegenseitig. Ein InfoPath-Formular stellt in erster Linie eine praktische Möglichkeit bereit, die Eigenschaften eines SharePoint-Inhaltstyps zu bearbeiten, ein Ereignisempfänger dagegen kann auch dann gültige Metadaten gewährleisten, wenn Benutzer die Inhaltstypeigenschaften außerhalb des InfoPath-Formulars bearbeiten. Sie können Ereignishandler an einen bestimmten Inhaltstyp binden, was Ihnen die Möglichkeit bietet, unabhängig von der Dokumentbibliothek für alle mit einem bestimmten Inhaltstyp verknüpften Dokumente in allen Websitesammlungen Ereignisse festzulegen. Weitere Informationen zum Entwickeln und Bereitstellen von Ereignishandlern finden Sie unter msdn2.microsoft.com/ms453149.
Die einfachste Methode, um einen Inhaltstyp mit einem benutzerdefinierten Dokumentinformationsbereich zu verknüpfen, besteht wahrscheinlich darin, auf einem Computer, auf dem InfoPath 2007 installiert ist, die Dokumentinformationsbereichseinstellungen des Inhaltstyps in der SharePoint-Benutzeroberfläche anzuzeigen. Danach können Sie unter „Vorlage für den Dokumentinformationsbereich“ auf die Verknüpfung „Eine neue benutzerdefinierte Vorlage erstellen“ klicken, um InfoPath 2007 im Entwurfsmodus zu starten. Wenn Ihr Websiteinhaltstyp jedoch Websitespalten ohne explizites SourceID-Attribut enthält, könnte die Situation eintreten, dass InfoPath kein gültiges XSD-Schema für das Dokumentinformationsbereichsformular erstellen kann. So enthält beispielsweise der an früherer Stelle eingeführte Inhaltstyp „Customer Documentation“ verschiedene kontaktbezogene Spalten, z. B. „Department“ (Abteilung), „Office“ (Büro) und „e-mail“ (E-Mail-Adresse), die dieses Problem verursachen könnten, wie in Abbildung 6 zu sehen ist.
Abbildung 6 XSD-Schema-Inkompatibilitäten in InfoPath 2007
Abbildung 6 XSD-Schema-Inkompatibilitäten in InfoPath 2007
Derzeit haben Sie beim Auftreten dieses Problems zwei Möglichkeiten. Sie können entweder Verweise auf Websitespalten ohne explizites SourceID-Attribut aus der Inhaltstypdefinition entfernen oder die integrierten Websitespalten, die das Problem verursachen, durch benutzerdefinierte Websitespalten ersetzen, die mit InfoPath 2007 kompatibel sind. Bedenken Sie dabei, dass die Feldverweise eines auf CAML basierenden Inhaltstyps nicht geändert werden können, nachdem er in der Inhaltsdatenbank bereitgestellt wurde, insbesondere dann, wenn bereits untergeordnete Inhaltstypen erstellt wurden. Sie können nicht mehr einfach die Definitionsdatei des auf CAML basierenden Inhaltstyps aktualisieren, und Sie können auch keine Änderungen an untergeordnete Inhaltstypen weitergeben, denn Windows SharePoint Services verfolgt keine Änderungen, die an der Definition des übergeordneten Inhaltstyps vorgenommen werden.
Um Änderungen nach unten weiterzugeben, müssen Sie den übergeordneten Inhaltstyp über die SharePoint-Benutzeroberfläche oder das SharePoint-Objektmodell ändern oder einen neuen, aus dem vorhandenen Inhaltstyp abgeleiteten Inhaltstyp definieren. Das zuletzt genannte Verfahren ermöglicht Ihnen, die kritischen Felder zu entfernen und neue Spalten hinzuzufügen. Danach können Ihre Benutzer zukünftige Inhaltstypen vom neuen Inhaltstyp ableiten. Um zu verhindern, dass Benutzer den falschen Inhaltstyp auswählen, fügen Sie den vorherigen Inhaltstyp der Inhaltstypgruppe „_Hidden“ hinzu.
Wie bereits erwähnt, können auf CAML basierende Inhaltstypen nach ihrer Bereitstellung und Aktivierung nicht mehr aktualisiert werden. Daher ist es wichtig, globale Inhaltstypen vor der Bereitstellung zu testen. Weitere Informationen finden Sie im MSDN-Artikel „Aktualisieren von Inhaltstypen“ unter msdn2.microsoft.com/aa543504.
Wenn Sie einen Inhaltstyp mit geeigneten Feldverweisen erstellt haben, können Sie in InfoPath 2007 einen benutzerdefinierten Dokumentinformationsbereich erstellen. Die beste Strategie dazu besteht darin, die Websitebesitzer benutzerdefinierte Dokumentinformationsbereiche für ihre untergeordneten Inhaltstypen erstellen zu lassen. InfoPath 2007 bietet die Möglichkeit, den benutzerdefinierten Dokumentinformationsbereich direkt im ausgewählten Inhaltstyp zu veröffentlichen, was das Bereitstellungsszenario vereinfacht. Es ist aber auch möglich, das InfoPath-Formular an einem zentralen Ort wie in einer Dokumentbibliothek zu veröffentlichen und in den Inhaltstyp einen Verweis auf den Dokumentinformationsbereich aufzunehmen. Dies ist die beste Vorgehensweise, wenn Sie planen, einen benutzerdefinierten Dokumentinformationsbereich zusammen mit Ihren CAML-Inhaltstypen bereitzustellen. Abbildung 7 veranschaulicht die Implementierungsarchitektur.
Abbildung 7 XSN-Dateiimplementierung an einem zentralen Ort in MOSS 2007
Abbildung 7 XSN-Dateiimplementierung an einem zentralen Ort in MOSS 2007
Der Download für diesen Artikel beinhaltet ein Feature namens „AdventureWorks_Update“, das das vorherige Feature „AdventureWorks“ um zusätzliche Websitespalten erweitert, die mit InfoPath 2007 funktionieren. Das Feature „AdventureWorks_Update“ markiert den ursprünglichen Inhaltstyp „Customer Documentation“ als verborgen und leitet einen neuen Inhaltstyp namens „Customer Docs“ ab, der die geerbten integrierten Felder durch die neuen Websitespalten ersetzt und dem neuen Inhaltstyp einen benutzerdefinierten Dokumentinformationsbereich zuordnet.
Die neue Inhaltstypdefinition „Customer Docs“ enthält ein XmlDocument-Element, das Informationen zum Dokumentinformationsbereich bereitstellt. Insbesondere das xsnLocation-Element zeigt auf das InfoPath-Formular „http://companyresources/DIPs/customerDIP.xsn“, von dem der Dokumentinformationsbereich implementiert wird. Ausführliche Anleitungen dazu, wie das Feature „AdventureWorks_Update“ angewendet wird, finden Sie in der Datei „readme.htm“ im Ordner „AdventureWorks_Update“.

Schlussbemerkung
Sie können SharePoint-Inhaltstypen verwenden, um Metadatenrichtlinien zu erstellen und sie konsistent im gesamten Unternehmen zur Inhaltsverwaltung einzusetzen. Die Hierarchie der Inhaltstypen ermöglicht Ihnen, Merkmale, die für die ganze Unternehmensumgebung wichtig sind, zu standardisieren und sie durch Vererbung gleichmäßig auf alle Websites anzuwenden.
Unter anderem ist es möglich, die integrierten Suchfunktionen von MOSS 2007 zu erweitern, damit Benutzer bestimmte Inhalte schneller und einfacher finden können. Es ist auch möglich, in Bezug auf Metadaten eine Informationskonsistenz durchzusetzen und zentralisierte Informationsverwaltungsrichtlinien einzurichten. Die beste Strategie dazu besteht darin, globale Inhaltstypen mit den abstraktesten Metadatenmerkmalen zu standardisieren, um den Bedarf an zukünftigen Änderungen zu minimieren. Die auf einem sorgfältig konzipierten Inhaltsmodell basierenden SharePoint-Inhaltstypen können neue Funktionen bereitstellen, um die Verwaltung des Inhaltslebenszyklus im gesamten Unternehmen zu standardisieren.

Pav Cherny ist Präsident der Biblioso Corporation und hat sich als IT-Experte und Autor auf Microsoft-Technologien für Zusammenarbeit und einheitliche Kommunikation spezialisiert. Seine bisherigen Veröffentlichungen befassen sich mit IT-Vorgängen und Systemverwaltung.


 Office Communications Server: Wie Anwesenheit OCS&#160;2007 leistungsf&#228;higer macht
Office Communications Server Rajesh Ramanathan

Wie Anwesenheit OCS 2007 leistungsfähiger macht
Kurz zusammengefasst:
  • Autorisierung und Verzeichnisdienste
  • Messagingoptionen in OCS 2007
  • Weiterleiten von Kommunikationen mit Anwesenheit

Microsoft Office Communication Server (OCS) 2007 stützt sich auf die Leistungsfähigkeit von Live Communication Server (LCS) 2005. LCS 2005 hat Instant Messaging (IM) und
Anwesenheitsfunktionalität für Unternehmen bereitgestellt. Darüber hinaus hat es über RCC (Remote Call Control, Remoteanrufsteuerung) die Telefonieintegration in vorhandene PBX-Installationen eingeführt.
OCS 2007 baut die Anwesenheits- und IM-Funktionen von LCS 2005 noch weiter aus und erweitert sie über Office Communicator 2007 um erweiterte Medien- und Telefonfunktionen, um ein vollwertiges „Softphone“ zu schaffen. Microsoft hat auch Konferenzserver und Edge-Server für Medien entwickelt, die es Ihnen in Verbindung mit einer vorhandenen PBX-Installation oder als unabhängige Komplettlösung ermöglichen, alle Kommunikationsanforderungen Ihres Unternehmens zu erfüllen.
Office Communicator 2007 stellt „Softphone“-Funktionen bereit, die Ihren Benutzern ermöglichen, die von ihnen bevorzugten USB-Geräte auszuwählen, und ihnen vielfältige Möglichkeiten bietet, häufig verwendete Anrufsteuerungsfeatures, wie z. B. das Einreihen in die Warteschlange und die Weitervermittlung, erkennbar und leicht verwendbar zu machen. Die Benutzer müssen sich nicht mehr Telefonnummern merken oder manuell wählen. Stattdessen können sie einfach klicken, um von einer Desktopanwendung aus einen Anruf zu tätigen, oder eine Telefonkonferenz einrichten, indem sie Personennamen oder Verteilerlisten auf ein Gespräch ziehen und dort ablegen.
Für diejenigen, die echte Schreibtischtelefone benötigen, arbeitet Office Communicator Phone Edition (oder Tanjay-Telefon) als weiterer Endpunkt für den Benutzer, der touchscreenfähige Kontextmenüs und die vertraute Anwesenheitsfunktionalität von Office Communicator bietet.
Diese OCS-Systemfunktionen wurden für das Konzept der Benutzeranwesenheit entwickelt. OCS 2007 verwendet Benutzerverfügbarkeit, Kommunikationsendpunkte und Benutzerbeziehungen, um Personen jederzeit über das jeweils am besten geeignete Medium miteinander zu verbinden. Da OCS Sprachkommunikation, E-Mail, IM und andere Kommunikationspfade verknüpft, kann es Ihnen helfen, Nachrichten auf die produktivste Weise weiterzuleiten.
In diesem Artikel werde ich Ihnen einen Überblick über die OCS 2007-Lösung bieten und erklären, wie die einzelnen Teile zusammenpassen. Darüber hinaus werde ich erläutern, auf welche Weise Anwesenheit als wichtige Zutat im Rezept des einheitlichen Kommunikationssystems verwendet wird und wie sie dazu genutzt werden kann, Anrufe effektiver weiterzuleiten.

Autorisierung und Verzeichnisdienste
Das Sprachsystem eines Unternehmens muss in der Lage sein, die Identität der Personen zu überprüfen, denen es erlaubt ist, Anrufe zu tätigen. Darüber hinaus muss es Einschränkungen oder Richtlinien auf Einzelanrufsbasis anwenden können. In einem VoIP-System (Voice over IP) müssen sich die Clients beim Server authentifizieren, um Anrufe initiieren zu können. Dies ähnelt dem herkömmlichen PBX-System, in dem der Zugang zur physischen Telefonleitung genügte, um die Identität zu nachzuweisen.
Das in Abbildung 1 dargestellte OCS 2007-System verwendet für die Authentifizierung und die Speicherung von Zugriffsrichtlinien Active Directory®, und Anrufe werden durch OCS autorisiert, dass sie anhand der für einen Benutzer in Active Directory festgelegten Richtlinien überprüft werden. Da OCS dieselben Active Directory-Informationen verwendet, die von anderen Microsoft-Anwendungen wie z. B. Exchange Server oder Microsoft® Outlook® verwendet werden, können Sie vorhandenen Benutzern in Active Directory Sprachfunktionen ganz einfach dadurch hinzufügen, dass Sie die Eigenschaften und Richtlinien eines Benutzers (über Active Directory-Schemaerweiterungen) erweitern und ein einheitliches Verzeichnis bereitstellen, das für Echtzeitanwendungen wie z. B. Sprachanrufe oder IM verwendet werden kann.
Abbildung 1 OCS-Komponenten für ein einheitliches Kommunikationssystem
Abbildung 1 OCS-Komponenten für ein einheitliches Kommunikationssystem
In Active Directory ist die wichtigste Eigenschaft, die sich auf einheitliche Kommunikation bezieht, die SIP-Adresse (Session Initiation Protocol), die auch als SIP-URI bezeichnet wird und in ihrer Beschaffenheit der E-Mail-Adresse des Benutzers sehr ähnlich ist. So wird beispielsweise einem Benutzer in Active Directory, der die E-Mail-Adresse „jemand@contoso.com“ besitzt, die SIP-Adresse „sip:jemand@contoso.com“ zugewiesen. Da die SIP-Adresse mit dem Benutzerobjekt verknüpft ist, können Sie eine einzelne Identität bereitstellen, mit der dieselben Anmeldeinformationen, die der Benutzer für die Anmeldung bei seinem Desktopcomputer oder Exchange-Server benutzt, auch dazu verwendet werden können, sich bei einem OCS-Server anzumelden.
Eine weitere wichtige Eigenschaft ist die Telefonnummer des Benutzers. Der OCS-Server leitet an Telefonnummern gerichtete Anrufe intern auf den SIP-URI eines Benutzers um, um den Anruf weiterleiten zu können.
OCS 2007 stellt eine ABS-Schnittstelle (Address Book Service, Adressbuchdienst) bereit, die innerhalb eines Unternehmens zum Nachschlagen in einem Verzeichnis zur Verfügung steht. Diese Schnittstelle ermöglicht als Offlineversion des Adressbuchs den Clientendpunkten zu vermeiden, dass jeder Suchvorgang auf der Clientseite bei Active Directory landet.
Zusätzlich zu ABS erhöht OCS 2007 den Nutzen von Verteilerlisten, indem es einen DLX-Dienst (Distribution List Expansion, Verteilerlistenerweiterung) bereitstellt, der es den Benutzern ermöglicht, in Office Communicator dieselbe Verteilerliste anzuzeigen, die in Outlook angezeigt wird, und diese Verteilerliste auch in Communicator zu erweitern. Benutzer können Telefonkonferenzen mit Mitgliedern dieser Verteilerlisten direkt über Office Communicator einrichten oder einen Gruppen-IM-Chat starten.

Sprach- und Messagingdienste
Weitere OCS-Ressourcen
Weitere Informationen finden Sie in den folgenden Ressourcen:
  • Einheitliches Kommunikationssystem – Veranstaltungen und Webcasts
  • Office Communications Server-TechCenter
  • TechNet Virtual Lab: Benutzeraktivierung und Installation von Office Communicator 2007

Die Sprachlösung eines Unternehmens muss die Anrufsteuerungsfeatures bereitstellen, mit denen die Benutzer am besten vertraut sind. In dieser Hinsicht bietet OCS 2007 beliebte Features wie zum Beispiel das Einreihen von Anrufen in eine Warteschlange, Anrufvermittlung und beratende Vermittlung, Weiterleitung und gleichzeitiges Klingeln sowie nichtsprachliche Modi wie IM.
OCS 2007 steht im Zentrum der Sprachanrufweiterleitung und bietet Weiterleitungsfunktionen sowohl für ausgehende als auch für eingehende Anrufe. Die Weiterleitung ausgehender Anrufe umfasst das Übersetzen von Nummern, das Anwenden der für einen Benutzer gültigen Richtlinien (z. B. Einschränkungen für internationale Telefonate) und das Weiterleiten des Anrufs an die entsprechenden Endpunkte oder in das Telefonfestnetz (public switched telephone network, PSTN). Die Weiterleitungsfunktionen für eingehende Anrufe wickeln die vom Benutzer gewählte Anrufweiterleitung ab oder verarbeiten die gewählten Tageszeit- und Anwesenheitseinstellungen und leiten den eingehenden Anruf entsprechend weiter.
OCS beendet eingehende Anrufe nicht selbst. In SIP-Begriffen ausgedrückt, funktioniert es wie ein SIP-Registrar und ein SIP-Proxy. Signalisierung und Medien werden von Punkt zu Punkt vollständig durch die Clientendpunkte im System bereitgestellt. Endpunkte im System wie z. B. Office Communicator 2007 stellen einen als RTAudio bezeichneten Breitbandaudiocodec bereit, der anpassungsfähig und robust genug für Netzwerkbedingungen ist.
OCS 2007 bietet Webkonferenzen vor Ort, indem es die Konferenzserverrollen für alle Kommunikationsmodi verwendet: Audio/Video, IM und Daten. Auf OCS basierende Konferenzserver ermöglichen den Clientendpunkten einen nahtlosen Übergang von einer Peer-to-Peer-Kommunikation zu einer multimodalen Kommunikation mit mehreren Teilnehmern und Funktionen wie z. B. Stummschaltung, Teilnehmerauskopplung und Sperrung. OCS 2007 kann auf Hunderte von Teilnehmern für geplante Konferenzen und bis zu hundert Teilnehmer für Ad-hoc-Diskussionen skaliert werden. Sie können über Outlook-Add-Ins Konferenzen planen oder eingehende Anrufe zu einer Konferenz verbinden. Die Konferenzlösung stellt auch Tools wie z. B. Dateifreigabe, Whiteboarding und Aufzeichnung bereit.
Natürlich müssen Sie auch in der Lage sein, eine Verbindung zu externen PSTN-Netzwerken und Telefonnummern sowie zu verbundenen Unternehmen oder bestehenden PBX-Installationen innerhalb des Unternehmens bereitzustellen. OCS 2007 lässt sich in von häufig genutzten Gatewayanbietern angebotene SIP-zu-PSTN-Gateways integrieren, die eine Verbindung zu PSTN oder einer bestehenden PBX-Installation erlauben. Ein Vermittlungsserver kann für Codec- und Signalisierungsübersetzung konfiguriert werden. Vermittlungsserver sind optional und werden für Gateways konfiguriert, die die Microsoft-Codecs nicht unterstützen.
Exchange Server 2007 Unified Messaging ist die Voicemaillösung für OCS 2007. Exchange Unified Messaging bietet Anrufbeantwortung für eingehende Sprach- und Faxanrufe und legt die empfangene Nachricht im Exchange-Postfach des Benutzers ab. Zusätzlich stellt Exchange Unified Messaging für Anrufer von außen, die eine bestimmte Person oder Abteilung erreichen möchten, eine automatische Vermittlungshilfe zur Verfügung.
OCS bietet als Alternative zu Voicemail IM an und ermöglicht den Benutzern auch, multimodale Unterhaltungen zu führen, bei denen Sprache, Video und IM gleichzeitig verwendet werden. Darüber hinaus ermöglicht Office Communicator 2007 Rich Text und Formatierung in IM. Hinzu kommt, dass jederzeit Audio und Video der IM-Sitzung hinzugefügt werden kann, um die IM-Konversation nahtlos in eine Audiounterhaltung zu verwandeln.
Als zusätzliche Komponenten stehen Buchhaltung, Protokollierung und Problembehandlung zur Verfügung. Buchhaltungsfunktionen werden über die OCS 2007-Serverfunktionalität zur Gesprächsinformationenaufzeichnung (Call Detail Recording, CDR) bereitgestellt. Bei jedem im System getätigten Anruf werden der Zeitpunkt, zu dem dieser Anruf erhalten wurde, das Ziel, von dem der Anruf entgegengenommen wurde, sowie verschiedene weitere Parameter (z. B. ob der Anruf weitergeleitet wurde) aufgezeichnet. OCS stellt auch Archivierungsserver bereit, die IM-Gespräche protokollieren, um die Einhaltung von Bestimmungen zu gewährleisten. Der Quality of Experience (QoE) Monitoring-Server speichert Informationen zur Qualität der getätigten Anrufe und kann dazu genutzt werden, Probleme mit der Sprachqualität im Netzwerk zu beheben.

Registrierung und Initialisierung
Jeder Clientendpunkt im OCS-System muss sich im ersten Schritt der Initialisierung des Clients bei OCS registrieren oder anmelden. Die Registrierung ist der Prozess des Herstellens einer Verbindung zum OCS-Server und macht die Existenz des Client bekannt. Der Registrierungsprozess umfasst die Authentifizierung der Benutzeridentität durch den Server, wodurch zugleich eine Sicherheitsverknüpfung zwischen der Clientinstanz und dem Server eingerichtet wird. Diese Sicherheitsverknüpfung wird für nachfolgende Anrufe verwendet, die der Client über den Server tätigt, und vom Client regelmäßig durch Neuregistrierung aktualisiert. Die Gültigkeitsdauer der Neuregistrierung variiert je nach Servertopologie. So aktualisieren beispielsweise Clientendpunkte, die durch einen Microsoft AccessTM-Edge-Server von außerhalb des Unternehmens registriert wurden, ihre Registrierung häufiger als Clients, die sich innerhalb der Firewall des Unternehmens befinden.
Beachten Sie, dass sich nur diejenigen Clientendpunkte registrieren müssen, die einen permanenten authentifizierten Kanal mit OCS benötigen, um eingehende Benachrichtigungen wie z. B. Sprachanrufe oder Anwesenheitsänderungsmitteilungen zu erhalten. Live Meeting ist ein Clientendpunkt, der eine Verbindung zu OCS nur benötigt, um an einer Besprechung teilzunehmen, und sich daher nicht bei OCS registrieren muss.
Damit Sie die Details der Clientinteraktion innerhalb von OCS 2007 besser verstehen, will ich Office Communicator als Clientendpunkt genauer unter die Lupe nehmen. (Die meisten Signalisierungsflüsse im Zusammenhang mit Office Communicator sind mit den Signalisierungsflüssen identisch, die für andere Clientendpunkte wie z. B. Office Communicator Phone Edition oder Office Communicator Mobile verwendet werden.) Sobald die Registrierung abgeschlossen ist, ruft Office Communicator Konfigurationsinformationen ab, die für den Betrieb des Clientendpunkts wichtig sind. Diese Informationen umfassen Folgendes:
  • Persönliche Informationen wie z. B. Visitenkarte, E-Mail-Adresse, SIP-URIs, Anzeigename und Telefonnummer
  • Auf dem Client und in den Richtlinien aktivierte Funktionen
  • Serveradressen wie z. B. die SIP-Adresse des AV-Edge-Servers und die Voicemailserveradresse
  • Die auf dem Server gespeicherte Kontaktliste
  • Zahlenformatierungsregeln für den Standort des Clients
Dieser Mechanismus zum Abrufen aller Bereitstellungsinformationen unter Verwendung des vorhandenen SIP-Kanals zum Server wird als Inbandbereitstellung bezeichnet. Damit können sich die Clientendpunkte von außerhalb des Netzwerks oder der Firewall und bei jeder Anmeldung des Clients automatisch konfigurieren und ihre Konfiguration aktualisieren.
Die Registrierungssequenz beginnt mit dem Registrieren beim Server, fährt mit dem Initialisieren und dem Abrufen und Festlegen der Anwesenheit fort und schaltet zum Schluss in einen Bereitschaftsstatus (siehe Abbildung 2). Beachten Sie, dass OCS es gestattet, für denselben Benutzer oder denselben SIP-URI mehrere Clientendpunkte zu registrieren. Bei der Registrierung gibt der Server eine eindeutige SIP-Adresse zum Client zurück, damit jedes eintreffende Signal an den betreffenden Client geleitet werden kann. Diese Adresse wird auch als GRUU (Globally Routable User URI) bezeichnet. Jedem der Clientendpunkte, die sich bei OCS registrieren, wird vom OCS-Server eine separate GRUU-Adresse zugewiesen, die den Clientendpunkt eindeutig identifiziert.
Abbildung 2 Registrierungsverfahren
Abbildung 2 Registrierungsverfahren
Um die Registrierung unter Kontrolle zu halten, ist die Anzahl der aktiven Registrierungen, die der Server pro Benutzer erlaubt, auf maximal 8 Registrierungen beschränkt. Wenn mehrere Clients für denselben Benutzer registriert sind, wird diese Konfiguration als MPOP (Multiple Points of Presence) bezeichnet. Wenn nur ein einziger Client registriert ist, wird dies als SPOP (Single Point of Presence) bezeichnet.
Das MPOP-Konzept ist für das OCS-System von zentraler Bedeutung. Es lässt den Benutzer eingehende Anrufe oder IM-Benachrichtigungen von jedem beliebigen Endpunkt erhalten und erlaubt dem Benutzer praktisch, mehrere Telefon- oder IM-Endpunkte zu besitzen. Dies hat interessante Folgen für die IM-Beantwortung und sogar für die genaue Darstellung der Anwesenheit für einen Benutzer.
So könnte beispielsweise ein Remotebenutzer bei einem Communicator Phone Edition IP Phone (einem SPOP-Endpunkt) angemeldet sein, das keine IMs empfangen kann. Diese Fähigkeit bzw. Unfähigkeit des Endpunkts wird zusammen mit den Anwesenheitsinformationen vom IP Phone veröffentlicht. Der Anwesenheitsstatus des Benutzers am Telefon ist „Online“. Ein anderer Benutzer kann den Onlineanwesenheitsstatus anzeigen und versuchen, mit Communicator eine Sofortnachricht (instant message, IM) zu senden. Da die Anwesenheit jedoch bereits die Gerätefähigkeit veröffentlicht hat, wird eine Benachrichtigung angezeigt, dass der Remotebenutzer an einem Gerät angemeldet ist, das nicht IM-fähig ist, und daher die Nachricht nicht empfangen kann.
Ein weiteres Beispiel ist das automatische Akzeptieren von IMs. Sobald eine IM-Unterhaltung gestartet wird, wird die Nachricht automatisch sofort akzeptiert, wenn der Remotebenutzer bei einer einzelnen Communicator-Instanz angemeldet ist (auch dies ist wieder ein SPOP-Endpunkt). Wenn der Remotebenutzer dagegen bei zwei Communicator-Instanzen (z. B. einem Laptop und einem Desktop) angemeldet ist, wird eine Wartezeit von 10 Sekunden verwendet, um dem Benutzer zu erlauben, die Sofortnachricht auf dem einen Gerät zu akzeptieren. Wenn nicht geantwortet wird, wird die Sofortnachricht automatisch von der aktivsten Communicator-Instanz akzeptiert.

Anwesenheit
Anwesenheit spielt im einheitlichen Kommunikationssystem eine wichtige Rolle. Sie ermöglicht dem Benutzer, bereits im Voraus zu wissen, ob der Remotebenutzer für einen bestimmten Kommunikationsmodus verfügbar ist. Daher beziehen sich OCS-Status wie z. B. „Beschäftigt – In einem Gespräch“ nicht auf ein besetztes Gerät oder eine besetzte Telefonleitung, sondern darauf, dass der Benutzer gerade beschäftigt ist. Darüber hinaus bietet OCS 2007 eine verbesserte Anwesenheitsinfrastruktur, die dem Benutzer ermöglicht, Informationen wie z. B. Standort, Arbeitszeiten und die Termine von Besprechungen freizugeben.
Zusätzlich ermöglicht OCS dem Benutzer, Berechtigungen festzulegen, sodass unterschiedliche Personengruppen basierend auf ihrer Zugriffsebene Zugang zu unterschiedlichen Gruppen von Anwesenheitsinformationen haben. OCS verwendet auch einen Benutzeranwesenheitsstatus wie z. B. „Nicht stören“ sowie die Kalenderarbeitszeiten und die dem Anrufer zugewiesene Berechtigungsebene, um Entscheidungen zur Weiterleitung zu treffen, damit beispielsweise entschieden wird, ob der Anruf das Klingeln des Telefons auslösen oder zur Voicemail gesendet werden soll.
Die Telefonnummern, die in Office Communicator unter „Klicken Sie hier, um ... anzurufen“ angezeigt werden, werden aus drei Quellen bezogen – die beiden ersten Quellen beruhen auf Verzeichnissen (Kontakte der globalen Adressliste/des Adressbuch Servers und von Outlook), und die dritte beruht auf Anwesenheit. Durch Anwesenheit haben die Benutzer die Flexibilität, die Telefonnummern zu veröffentlichen, die sie für andere Personen sichtbar machen möchten.
Anwesenheit spielt auch in vielen Sprachweiterleitungsszenarios eine wichtige Rolle. Wenn die Anwesenheit für einen Remotebenutzer beispielsweise „Beschäftigt“ angibt und den Text „In einer Besprechung“ anzeigt, ist die Wahrscheinlichkeit, dass der Benutzer einen Sprachanruf entgegennehmen wird, gering. In diesem Fall könnte der Anrufer vorziehen, IM oder E-Mail zu verwenden. Wenn die Anwesenheit für einen Remotebenutzer „Nicht stören“ angibt, dann ist dies ebenfalls ein Hinweis darauf, dass alternative Kommunikationsmittel vorgezogen werden sollten.
Anwesenheit übermittelt auch Informationen zum derzeitigen Besprechungstitel und zum Kalenderstandort eines Benutzers, und diese Details werden für die Benutzer im Team-Container veröffentlicht. Die Anwesenheitsfunktionalität übermittelt Informationen über den bevorzugten Endpunkt für eine bestimmte Funktion, die dazu verwendet werden, einen Endpunkt zu wählen, der eine Standardaktion durchführt. So wird beispielsweise die Kalenderdatenveröffentlichung, die an allen Endpunkten im Grunde gleich ist, nur von einem bevorzugten Endpunkt für die Kalenderfunktion durchgeführt. OCS verfügt über die erforderliche Logik, um den bevorzugten Endpunkt zu wählen.
Abbildung 3 hebt die verschiedenen Fähigkeiten hervor, die die Anwesenheitsfunktionalität in das OCS-System einbringt. Wie bereits erwähnt wurde, ist Anwesenheit eine Kombination aus Verfügbarkeit und Kommunikationsbereitschaft. Der Status „Online“ repräsentiert den Status, in dem der Benutzer am meisten zu einer Kommunikation bereit ist, wohingegen „Nicht stören“ den Anwesenheitsstatus darstellt, in dem der Benutzer am wenigsten zu einer Kommunikation bereit ist. Abgesehen vom Anwesenheitsstatus „Nicht stören“, der manuell eingestellt werden muss, werden alle anderen Status von Communicator auf Grundlage verschiedener Bedingungen – z. B. ob der Benutzer gerade in einer Besprechung („Beschäftigt“) ist oder ob er gerade nicht an seinem Computer sitzt („Inaktiv“ und später „Abwesend“) – automatisch erfasst, wie in Abbildung 4 zu sehen ist.
Figure 3 Festlegen von Anwesenheitsinformationen (Close Figure 3)

Funktion | Quelle
Verfügbarkeit und Bereitschaft („Online“, „Offline“, „Abwesend“, „Beschäftigt“, „Nicht stören“) | Automatisch. Basiert auf Besprechungsstatus, Telefonstatus und so weiter. Kann auch manuell eingestellt werden.
Kalenderstatus („In einer Besprechung“, Besprechungsort) | Automatisch. Basiert auf Benutzereinstellungen.
Gerätefähigkeit (IM zugelassen) | Automatisch. Basiert auf MPOP-Gerät.
Telefonnummern | Automatisch. Basiert auf Benutzereinstellungen.
Aktivster Endpunkt | Automatisch. Basiert auf Benutzeraktivität.
Hinweis | Manuell. Wird durch Abwesenheitshinweis überschrieben.
Abwesenheitshinweis | Automatisch. Basiert auf Kalender.
Arbeitszeiten | Automatisch. Basiert auf Frei/Beschäftigt-Angaben.
Standort | Manuell. Basiert auf Benutzerauswahl.
Abbildung 4 Anwesenheit als Mischung aus Verfügbarkeit und Bereitschaft
Abbildung 4 Anwesenheit als Mischung aus Verfügbarkeit und Bereitschaft
Beachten Sie, dass die Verfügbarkeit von mehreren verschiedenen Geräten gesteuert werden kann, bei denen der Benutzer gerade angemeldet ist. Weil es für denselben Benutzer mehrere Geräte gibt und jedes Gerät Anwesenheitsinformationen und Benutzerdaten vom Gerät aus veröffentlicht, wird eine Aggregationslogik benötigt, die eine einzige Ansicht präsentiert. OCS besitzt eine derartige Aggregationslogik, die die Anwesenheit auf Grundlage verschiedener Parameter, Geräte und Eingaben berechnet, die vom Anwesenheitssystem empfangen werden.
Bevor Sie sich eingehender mit Aggregation befassen, sollten Sie sich ansehen, wie die aggregierten Informationen für Benutzer veröffentlicht werden. In OCS 2007 wurde das Konzept von Containern eingeführt, die mehr oder weniger mit den Zugriffsebenen vergleichbar sind, die mit speziellen sozialen Kreisen verknüpft sind. Jeder Container liefert unterschiedlich viele Informationen, und Personen, die einem bestimmten Container hinzugefügt werden, haben nur Zugriff auf Informationen, die diesem Container zur Verfügung gestellt werden. Jeder, der in die Kontaktliste des Benutzers eingetragen ist, muss in einem der verfügbaren Container enthalten sein. Office Communicator ermöglicht dem Benutzer, Personen auf Grundlage der Ebene ihrer Beziehung bestimmten Containern zuzuweisen oder sie in andere Container zu verschieben. Office Communicator verwendet eine intelligente Heuristik, um automatisch den in Abbildung 5 aufgelisteten Standardcontainer auszuwählen.
Figure 5 Anwesenheitscontainer (Close Figure 5)

Container | Zweck
Blockiert | Blockiert Anwesenheitsinformationen. Anrufe von blockierten Benutzern werden nicht zugelassen. Blockierte Benutzer können jedoch Namens- und E-Mail-Adressinformationen sehen.
Öffentlich | Stellt Namen, Titel, Firma, E-Mail-Adresse und begrenzte Verfügbarkeit bereit.
Unternehmen | Stellt Arbeitsplatzkontaktangaben, einen einfachen Zeitplan und die Verfügbarkeit bereit.
Team | Stellt geschäftliche Telefonnummer, Handynummer, Zeitplan und Verfügbarkeit bereit und erlaubt, den Benutzer zu stören, wenn er sich im Status „Nicht stören“ befindet.
Persönlich | Kann alle veröffentlichten Kontaktangaben einschließlich der privaten Telefonnummer und der Handynummer anzeigen.
In OCS ermittelt die Anwesenheitsaggregation auf Grundlage verschiedener Anwesenheitsstatus, die von den Geräten an den Server gemeldet werden, die richtige Anwesenheitsinformation in Bezug auf den Benutzer. Abbildung 6 veranschaulicht, wie Anwesenheit von verschiedenen Quellen aggregiert wird. Beachten Sie, dass einige Informationen (wie z. B. der Anwesenheitsstatus und die Benutzeraktivität) durch den OCS-Anwesenheitsaggregationsmechanismus gesendet werden, bevor die Informationen in den Containern verfügbar gemacht werden, und weitere Informationen (wie z. B. Kontaktdetails von den Clientendpunkten) den jeweiligen Containern hinzugefügt werden. Der blockierte Container fehlt, weil außer der Mitgliedschaftsangabe keine weiteren Informationen in diesem Container veröffentlicht werden.
Abbildung 6 Anwesenheitsaggregation und -veröffentlichung
Abbildung 6 Anwesenheitsaggregation und -veröffentlichung
Im OCS-System wird eine Anwesenheitsbeziehung eingerichtet, wenn ein Benutzer einen anderen Benutzer der Kontaktliste hinzufügt. Das OCS-System ermöglicht Ihnen aber auch, die Anwesenheit anderer Benutzer im Unternehmensverzeichnis zu sehen, ohne diese Benutzer einzeln Ihren Kontakten hinzufügen zu müssen.
Die einfachste Methode, die Anwesenheit einer Person abzurufen, besteht darin, in Office Communicator nach dieser Person zu suchen. Dadurch wird eine einzelne Abfrage auf dem Server generiert, ohne dass Benachrichtigungen vom Server zu Anwesenheitsstatusänderungen von Remotebenutzern abonniert werden. Wenn ein Benutzer jedoch einen anderen Benutzer seiner Kontaktliste hinzufügt, abonniert er dadurch Benachrichtigungen zu Anwesenheitsstatusänderungen und sendet daher OCS automatisch Warnmeldungen, sobald eine Änderung vorliegt.

IM und Audio
IM nutzt sowohl Registrierung als auch Anwesenheit. Im OCS-System werden Nachrichten von Peer zu Peer gesendet, und der OCS-Server arbeitet als Proxyserver, der die Nachrichten zwischen Office Communicator-Clients übermittelt.
Die erste Nachricht, die ein Benutzer für einen anderen Benutzer startet, ist sehr wichtig. In SIP-Begriffen ausgedrückt, richtet diese Nachricht die Sitzung ein. Ein Teil des Prozesses zum Einrichten der Sitzung besteht darin, unter den registrierten Clients den richtigen MPOP-Client zu finden, und hierbei spielt OCS als Proxyserver eine wichtige Rolle. Sobald der Benutzer die eingehende IM-Sitzung akzeptiert oder wenn einer der MPOP-Endpunkte die Sitzung automatisch akzeptiert, werden die nachfolgenden Nachrichten reibungslos von Ende zu Ende übermittelt, ohne dass ein OCS benötigt wird, um einen geeigneten Client zu finden.
Benutzer können ihre IM-Unterhaltungsfenster auf ihren Desktops geöffnet lassen und Office Communicator 2007 beendet die SIP-Sitzung automatisch, wenn 10 Minuten lang keinerlei Aktivität erfolgt (das IM-Fenster bleibt jedoch geöffnet). Die IM-Sitzung kann auch von jeder Seite beendet werden. Sobald die IM-Sitzung beendet wird, erstellt Office Communicator 2007 automatisch ein Verlaufselement für die Unterhaltung, das die gesamte Unterhaltung im Outlook-Ordner „Unterhaltungsverlauf“ aufzeichnet. Dieser Ordner ist ein spezieller Ordner, der von Office Communicator in Outlook erstellt wird. Diese clientseitige Protokollfunktion ist eine optionale Funktion, die standardmäßig deaktiviert ist. Der Unterhaltungsverlauf wird von Office Communicator dazu verwendet, eine Unterhaltung mit demselben Benutzer wiederaufzunehmen. Dadurch können Benutzer, bei denen dieses Feature aktiviert ist, nach dem Schließen des IM-Fensters die IM-Unterhaltung leichter fortsetzen.
Beachten Sie, dass die hier vorgestellten IM-Konstrukte zum Verzweigen und für MPOP im Großen und Ganzen auch für das Sprachszenario gelten. Die Einladung würde dann allerdings keine Beschreibung einer IM-Sitzung, sondern eine Sprachsitzungsbeschreibung enthalten, in der die Audiofähigkeit angegeben ist. OCS würde die Verzweigung zum Sprachanruf ähnlich wie bei IM auf alle Endpunkte anwenden.
Die Sprachsignalisierung wird in hohem Maße von den IM-Konzepten hergeleitet, bringt aber auch den Bedarf ins Spiel, mit Medien umzugehen. Auf dieses Thema möchte ich in einem zukünftigen Artikel eingehen.

Rajesh Ramanathan ist seit 14 Jahren im Kommunikationsbereich tätig und arbeitet derzeit als leitender Programmmanager im Office Communicator-Team. Sie erreichen ihn unter rajeshra@microsoft.com.


 Office Communications Server: Planen einer OCS&#160;2007 Voice-Bereitstellung
Office Communications Server Jochen Kunert and Rui Maximo

Planen einer OCS 2007 Voice-Bereitstellung
Kurz zusammengefasst:
  • Integrationsszenarios für die Telefonie
  • Konfigurieren von Office Communications Server
  • Benutzer, Nummerierungspläne und Routen

Microsoft Office Communications Server (OCS) 2007 ist ein Produkt für Unternehmen, bei dem Echtzeitkommunikationsmedien mit Anwesenheitsinformationen über Benutzer, einschließlich Webkonferenzen
(Freigeben von Daten, Audio und Video), Instant Messaging sowie die Audio-/Videokommunikation integriert werden. Die Integration von OCS 2007 in ein vorhandenes PBX-System kann eine Herausforderung darstellen. Office Communications Server 2007 ist nicht als PBX ausgelegt, da Unternehmensmitarbeiter heute verschiedene Medienkommunikationsmittel wie E-Mail, Instant Messaging, Telefon und Voicemail bei der täglichen Arbeit verwenden, während PBX-Systeme nur Telefongespräche bieten.
Um die Flexibilität zu bieten, die Administratoren beim Erstellen der optimalen Telefonieintegrationsstrategie für Einzelpersonen oder Unternehmen benötigen, bietet Office Communications Server 2007 drei Konfigurationsszenarios für die Integration in vorhandene Telefonieumgebungen. Bei diesen Szenarios handelt es sich um folgende: Remote Call Control, Enterprise Voice und Enterprise Voice mit PBX-Integration.
In diesem Artikel geht es um die Planungsüberlegungen für eine Telefoniebereitstellung von OCS 2007, die möglicherweise in ein vorhandenes Telefoniesystem integriert werden muss. Diese Informationen sind von besonderem Interesse für Systemarchitekten sowie IT- und Telefonieadministratoren. Zusätzlich erhalten Sie einen Überblick über die anderen Szenarios, doch im Mittelpunkt steht Office Communications Server 2007 Enterprise Voice.

Remoteanrufsteuerung
Zusätzliche OCS 2007-Ressourcen
  • Pro LCS: Live Communications Server-Verwaltung
  • Integrieren von Telefonie in Office Communications Server 2007
  • Handbuch für die Planung und Bereitstellung von Enterprise Voice

In einem Remoteanrufsteuerungsszenario (Remote Call Control, RCC) haben Benutzer ein vorhandenes PBX-, IP-PBX- oder Time Division Multiplexing (TDM)- Schreibtischtelefon. Von ihrem Office Communicator 2007-Client aus können sie Anrufe über das Schreibtischtelefon tätigen oder annehmen, ohne die Nummer über die Telefontastatur zu wählen oder den Kopfhörer des Telefons zu verwenden. Obwohl Benutzer das Schreibtischtelefon mithilfe von Office Communicator 2007 steuern können, wird der Audioinhalt noch vom PBX-System bedient und nicht in einen VoIP-Anruf (Voice over IP) umgewandelt. Office Communicator 2007 kann zwar das Schreibtischtelefon steuern, Anrufe können aber nach wie vor über das PBX-Telefon getätigt und angenommen werden, unabhängig davon, ob Office Communicator 2007 ausgeführt wird.
Um RCC mit Office Communicator 2007 und OCS 2007 zu aktivieren, müssen Sie nicht nur Ihre Office Communications Server 2007-Umgebung für RCC aktivieren, sondern auch ein Session Initiation-Protokoll (SIP)/Computer Supported Telecommunications Applications (CSTA)-Gateway bereitstellen. Das SIP/CSTA-Gateway muss zusammen mit dem Typ des verwendeten PBX-Systems einsetzbar und mit OCS 2007 kompatibel sein, da es die beiden Systeme überbrückt. Zum Steuern des PBX-Telefons verwendet Office Communicator 2007 das CSTA-Protokoll. Dieses Protokoll definiert ein XML-Schema als Schnittstelle für Nebenstellenanlagen (Private Branch Exchange, PBX), wie in der ECMA-Norm 269 (European Computer Manufacturers Association) beschrieben, die Sie unter www.ecma-international.org/publications/standards/Ecma-269.htm einsehen können.
Office Communicator 2007 sendet CSTA-Befehle zum Steuern des PBX-Telefons als SIP-Nutzlasten, die von Office Communications Server 2007 zum SIP-/CSTA-Gateway weitergeleitet werden. Office Communications Server 2007 muss CSTA nicht verstehen. Das Programm muss nur wissen, wie die Weiterleitung erfolgt. Das SIP/CSTA-Gateway konvertiert dann die Befehle in das systemeigene, von der PBX verwendete Protokoll. Dies ist in Abbildung 1 dargestellt.
Abbildung 1 RCC-Integrationsszenario
Abbildung 1 RCC-Integrationsszenario
Für das Aktivieren von RCC sind fünf Schritte erforderlich. Der erste Schritt ist die Konfiguration des SIP/CSTA-Gateways zur Kommunikation mit der PBX. Als Nächstes konfigurieren Sie OCS 2007 zum Weiterleiten von CSTA-Anforderungen an das SIP/CSTA-Gateway. Der dritte Schritt besteht im Konfigurieren von Benutzern für RCC. Der vierte Schritt ist das Konfigurieren von Office Communicator 2007. Der fünfte Schritt besteht im Definieren von OCS 2007-Normalisierungsregeln, die auch zur Telefonnummernnormalisierung des Adressbuchs dienen und sich von den Telefonnummernnormalisierungsregeln unterscheiden, die zusammen mit Enterprise Voice verwendet werden.

Enterprise Voice
Wenn ein Benutzer für Enterprise Voice aktiviert ist, wird Office Communicator 2007 oder Office Communicator Phone Edition anstelle des PBX-Telefons zum primären Telefon. Office Communicator 2007 hat eine eindeutige zugewiesene Telefonnummer. (Zu Testzwecken kann das vorhandene PBX-Telefon an eine neue Nebenstelle weitergeleitet werden, die Office Communicator 2007 zugewiesen wurde.) Office Communicator 2007 bewältigt zusammen mit einem empfohlenen USB-Audiogerät sowohl die Anrufsteuerung (oder Signalisierung), als auch die Medien (Audio und Video).
In diesem Szenario leitet Office Communications Server 2007 Anrufe zwischen Office Communicator 2007-Endpunkten im IP-Netzwerk (IP-IP-Anrufe) und Anrufe an das Telefonfestnetz (PSTN)/PBX (IP-PSTN-Anrufe) weiter. OCS 2007 setzt Wähleinschränkungen bei Anrufen durch, die an das PSTN weitergeleitet werden.
Um eine Office Communications Server 2007-Umgebung mit einer PBX oder einem PSTN zu verbinden, müssen Sie ein Mediengateway bereitstellen, das auch als SIP/PSTN- oder IP/PSTN-Gateway bezeichnet wird. Das Mediengateway muss mit einem Vermittlungsserver (eine Serverrolle von OCS 2007) verkoppelt werden, um eine Verbindung zur Office Communications Server 2007-Umgebung herzustellen, wie in Abbildung 2 dargestellt. Der Vermittlungsserver und das zugehörige Mediengateway sollten am selben physischen Standort installiert werden.
Abbildung 2 Enterprise Voice-Integrationsszenario mit PSTN oder einer vorhandenen PBX
Abbildung 2 Enterprise Voice-Integrationsszenario mit PSTN oder einer vorhandenen PBX
Der Vermittlungsserver ermöglicht das Verbinden von Mediengateways, die standardmäßige und sogar ungesicherte SIP-Implementierungen unterstützen, mit Office Communications Server 2007, da OCS 2007 nur die authentifizierte und verschlüsselte Kommunikation zulässt. Eine weitere Aufgabe des Vermittlungsservers besteht im Behandeln von Codec-Übersetzungen zwischen den standardmäßigen Codecs (G.711, G.723 und so weiter) und dem Microsoft-Echtzeitaudiocodec. Eine Liste von Mediengateways, die von Office Communications Server 2007 unterstützt werden, finden Sie bei den strategischen Hardwarepartnern unter technet.microsoft.com/bb735838.
Sie können die Mediengateways direkt mit dem PSTN oder einer Primary Rate Interface (PRI)-Leitungsverbindung einer vorhandenen PBX verbinden. Abbildung 2 zeigt mögliche Integrationsszenarios für das Enterprise Voice-Szenario mit dem PSTN und einer vorhandenen PBX. Ein Übermittler (normalerweise ein Office Communications Server Standard Edition-Server) ist für eine Enterprise Voice-Bereitstellung nicht erforderlich. Er wird jedoch empfohlen.
Zum Aktivieren von Enterprise Voice sind vier Schritte erforderlich. Der erste Schritt ist das Bereitstellen und Konfigurieren der Mediengateways. Da es sich um ein Microsoft-Partnerprodukt handelt, sollten Sie die Dokumentation des Anbieters lesen, da jedes Mediengateway verschiedene Bereitstellungsschritte erfordert.
Als Nächstes stellen Sie einen Vermittlungsserver für jedes Mediengateway bereit. In diesem Schritt muss eine Netzwerkkarte des Vermittlungsservers zum Senden und Empfangen von Verkehr vom Mediengateway sowie die andere Netzwerkkarte des Vermittlungsservers zum Senden und Empfangen von Verkehr von einem Office Communications Server 2007 konfiguriert werden (in der Regel ein Übermittler in einer Enterprise Edition-Bereitstellung). Sofern Ihr Mediengateway kein erweitertes Gateway ist, braucht es die Unterstützung einer OCS 2007-Vermittlungsserverrolle zur Interoperabilität mit der OCS 2007 Enterprise Voice-Infrastruktur.
Der dritte Schritt ist das Definieren eines Nummerierungsplans. Dazu müssen Voicerichtlinien, Telefonrouten und Ortsprofile definiert werden.
Anschließend konfigurieren Sie Benutzer für Enterprise Voice. Außerdem müssen Benutzer für Enterprise Voice aktiviert werden, damit sie Anrufe von der PBX oder dem PSTN tätigen und annehmen können. Dazu ist das Zuweisen eindeutiger Telefonnummern für jeden Benutzer erforderlich.

Enterprise Voice mit PBX-Integration
Diese Konfiguration ist eine Erweiterung der Enterprise Voice-Konfiguration. Der Unterschied besteht darin, dass das PBX-Telefon des Benutzers mit dem Office Communicator-Client des Benutzers synchronisiert wird. Die Konfiguration ähnelt dem Enterprise Voice-Szenario, das mit dem PSTN über eine PBX verbunden ist, wie in Abbildung 2 dargestellt. Doch in diesem Fall wird das PBX-Telefon des Benutzers nicht durch einen Office Communicator 2007-Client ersetzt, sondern Office Communicator 2007 und das vorhandene PBX-Telefon verwenden dieselbe Telefonnummer.
Wenn ein Anrufer die Nebenstelle des Benutzers von einem anderen PBX-Telefon oder von einem PSTN-Telefon aus anwählt, verzweigt das PBX-System den Anruf an das PBX-Telefon des Benutzers und an seinen Office Communicator 2007-Client über Office Communications Server 2007. Der Office Communicator 2007-Client des Benutzers und das PBX-Telefon klingeln bei einem eingehenden Anruf gleichzeitig. Umgekehrt verzweigt Office Communications Server von OCS 2007 initiierte Anrufe über das Mediengateway zur PBX. Dieses Szenario ist beim Verwenden von Office Communicator Phone Edition nicht möglich. Diese Konfiguration erfordert, dass Voicemail vom Voicemailsystem der PBX behandelt wird. Exchange Server 2007 Unified Messaging kann für solche Benutzer nicht als Voicemaillösung verwendet werden.
Zum Aktivieren von Enterprise Voice mit PBX-Integration sind dieselben Schritte wie beim Bereitstellen von Enterprise Voice erforderlich, jedoch mit drei zusätzlichen Schritten. Beim ersten zusätzlichen Schritt muss das Mediengateway direkt mit der PBX verbunden werden. Dann muss die PBX zum Unterstützen dieses Szenarios konfiguriert werden. (Dazu könnte abhängig von Ihrem Anbieter ein Softwareupgrade der PBX erforderlich sein.) Schließlich müssen Benutzer für die PBX-Integration aktiviert werden.
Microsoft arbeitet daran, Unterstützung für die direkte Verbindung des Vermittlungsservers mit der IP-PBX ohne ein vermittelndes Mediengateway bereitzustellen. Aktuelle Informationen zu diesem Thema finden Sie unter technet.microsoft.com/bb735838.

Konfigurieren von Office Communications Server
Die Enterprise Voice-Funktionalität wird von Diensten behandelt, die auf Office Communications Server 2007 Enterprise Edition und Office Communications Server 2007 Standard Edition ausgeführt werden. In Abbildung 3 sind die Dienste beschrieben, die die Enterprise Voice-Funktionalität zum Weiterleiten von eingehenden und ausgehenden Anrufen bereitstellen.
Figure 3 Enterprise Voice-Dienste (Close Figure 3)

Dienst | Beschreibung
Übersetzungsdienst | Wendet Normalisierungsregeln auf Grundlage des Ortsprofils oder Telefonkontexts an.
Benutzerdienste | Führen die umgekehrte Nummernsuche bei der Zieltelefonnummer durch.
Eingehende Routingkomponente | Wendet die Anrufeinstellungen des Zielbenutzers an.
Exchange Unified Messaging | Leitet bei Bedarf eine Anforderung an die Voicemail weiter.
Ausgehende Routingkomponente | Legt die optimale Route auf Grundlage von URI und Benutzerrichtlinie fest.
Abbildung 4 zeigt, wie sich diese Komponenten auf eingehende Anrufe auswirken, wenn sie vom OCS 2007 für einen Anruf von PC zu PC weitergeleitet werden. Eingehende Anrufe können von einem verbundenen Endpunkt wie Office Communicator 2007 oder Office Communicator Phone Edition oder von einem Vermittlungsserver vom PSTN/PBX (PSTN-SIP-Anruf) kommen. Ausgehende Anrufe, die von einem der Office Communications Server 2007-Clientendpunkte des Anrufers wie beispielsweise Office Communicator 2007 kommen, werden an den Standard Edition-Server- oder Enterprise-Pool gesendet, in dem sich der Benutzer befindet. Dieser wird als Homepool des Benutzers bezeichnet.
Abbildung 4 Interaktion von zugehörigen Enterprise Voice-Diensten auf OCS- Front-End-Servern
Abbildung 4 Interaktion von zugehörigen Enterprise Voice-Diensten auf OCS- Front-End-Servern
Jetzt verarbeitet Office Communications Server 2007 den Anruf, um zu bestimmen, wohin er weitergeleitet werden soll. Dabei kann es sich um einen Hop zum Homepool des Angerufenen, zu einem Vermittlungsserver oder zu Microsoft® Exchange Server 2007 Unified Messaging handeln (siehe Abbildung 5). Wenn der Anruf an einen anderen Homepool weitergeleitet wird, sendet OCS 2007 den Anruf an alle aktiven Endpunkte des Angerufenen. Office Communicator 2007 oder Office Communicator Phone Edition des Angerufenen klingelt, und auf dem Gerät wird eine Benachrichtigung in einem Popupfenster angezeigt.
Abbildung 5 Anrufweiterleitung
Abbildung 5 Anrufweiterleitung
Beim Weiterleiten eines Anrufs an einen Vermittlungsserver wird der Server so konfiguriert, dass die Weiterleitung an ein spezifisches Mediengateway erfolgt. Wenn das Mediengateway direkt mit einer PBX verbunden ist, wird der Anruf von der PBX an ein Schreibtischtelefon oder an das PSTN weitergeleitet. Wenn das Mediengateway jedoch direkt mit dem PSTN verbunden ist, wird der Anruf an das PSTN weitergeleitet.
Wenn der nächste Hop zu Exchange Server 2007 Unified Messaging stattfindet, kann der Anrufer eine Nachricht hinterlassen. Voicemail ist unabhängig davon verfügbar, ob der Angerufene bei Office Communications Server 2007 angemeldet ist oder nicht.
Wenn der Angerufene antwortet, wird der Audioverkehr direkt von Office Communicator 2007 oder Office Communicator Phone Edition des Anrufers an Office Communicator 2007 oder Office Communicator Phone Edition des Angerufenen in einem Anruf von IP zu IP gesendet. Wenn der Anrufer ein PBX- oder PSTN-Telefon verwendet, sendet der Vermittlungsserver den Audioverkehr direkt an Office Communicator 2007 oder Office Communicator Phone Edition des Angerufenen in einem Anruf von IP zu PSTN. OCS 2007 behandelt nur die Anrufsignalisierung. Aus diesem Grund findet der Audio- und Videoverkehr direkt zwischen den Endpunkten statt und wird nicht von OCS 2007 weitergeleitet.

Konfigurieren von Benutzern
Benutzern, die für Enterprise Voice aktiviert sind, müssen Telefonnummern zugewiesen werden, die innerhalb der Organisation eindeutig sind. Diese Konfiguration erfolgt in Active Directory®. Dies unterscheidet sich von den meisten Telefoniesystemen, in denen dem Telefon die Telefonnummer zugewiesen wird. Der Vorteil dieses Entwurfs besteht darin, dass Benutzer jeden beliebigen Computer, auf dem Office Communicator 2007 ausgeführt wird, in ihr Arbeitstelefon verwandeln können, indem sie sich vom Client aus bei OCS 2007 anmelden. Dieses Portabilitätsfeature kann für Telearbeiter oder extern tätige Mitarbeiter interessant sein.
Die Telefonnummer des Benutzers wird im E.164-Format in Active Directory angegeben. Dieses Format definiert den internationalen öffentlichen Telekommunikationsnummerierungsplan, ein Nummerierungsschema, das Telefonnummern eindeutig darstellt. Das E.164-Format gibt die Telefonnummer in diesem Format an:
+<country code><area code><phone number>
Ein für Enterprise Voice aktivierter Benutzer hat zwei eindeutige Darstellungen: eine SIP-URI und eine E.164-Telefonnummer. Wenn eine Telefonnummer gewählt wird, löst Office Communications Server die E.164-Darstellung der Telefonnummer (+14255551212) in die SIP-URI des Benutzers (joe@contoso.com) auf. Office Communications Server 2007 leitet dann den Anruf auf der Grundlage der SIP-URI des Angerufenen weiter. Wenn die Telefonnummer nicht als SIP-URI aufgelöst werden kann, leitet OCS 2007 den Anruf über einen Vermittlungsserver zur PBX/PSTN weiter.
Wenn Sie eine Enterprise Voice-Bereitstellung planen, bei der jedem Office Communications Server-Benutzer eine eindeutige Telefonnummer zugewiesen werden muss, müssen Sie das vorhandene Telefoniesystem berücksichtigen. Wenn Sie direkt eine Verbindung zum PSTN über ein Mediengateway herstellen, steht Ihnen wahrscheinlich ein ganzer Zahlenblock von 2- oder 3-stelligen Erweiterungen an Direct-Inward-Dialing (DID)-Zahlen zur Verfügung, die an OCS 2007-Benutzer verteilt werden können. Wenn Sie über eine PBX eine Verbindung zum PSTN herstellen, steht Ihnen wahrscheinlich ein von der PBX bereitgestellter Block von DID-Zahlen zum Zuweisen an OCS 2007-Benutzer zur Verfügung.

Nummerierungspläne
Obwohl E.164-formatierte Telefonnummern eine eindeutige Darstellung bieten, ist dies keine praktische Möglichkeit zum Wählen von Zahlen. Es ist außerdem nicht möglich, eine Zahl in diesem Format in Office Communicator Phone Edition oder Standard-PBX/PSTN-Telefone einzugeben. Wie geben Sie beispielsweise ein +-Zeichen mithilfe der aus 10 Zahlen bestehenden Wahltastatur ein? Benutzer sind daran gewöhnt, kürzere Nummern für Nebenstellen zu wählen, die für einen bestimmten Standort, aber vielleicht nicht unternehmensweit spezifisch sind. Daher ist es erforderlich, Übersetzungsregeln anzugeben, um sie in das E.164-Format zu konvertieren.
Der Administrator muss Ortsprofile definieren, die Normalisierungsregeln angeben, um diese Zahlenübersetzungen durchzuführen. Nachdem die Telefonnummer vom Client (Office Communicator 2007 oder Communicator Phone Edition) oder vom Übersetzungsdienst von Office Communications Server 2007 in ein E.164-Format erweitert wurde, können die Benutzerdienste eine umgekehrte Nummernsuche durchführen und die E.164-Nummer der entsprechenden SIP-URI zuordnen. Die in einem Ortsprofil definierten Normalisierungsregeln verwenden reguläre Ausdrücke zum Durchführen der Übersetzung, wenn eine Übereinstimmung gefunden wird. Wenn beispielsweise 1234 gewählt wird, würde eine Normalisierung, die jedes vierstellige Muster in +1425555{4 Zahlen} übersetzt, 1234 in +1425551234 übersetzen. Ortsprofile ermöglichen es Benutzern also, ihre Gewohnheiten beim Wählen beizubehalten.
Für Administratoren gibt es drei Möglichkeiten, Benutzern Ortsprofile zuzuweisen:
  • Sie können das Ortsprofil für Benutzer, die Office Communicator 2007 verwenden, über die Gruppenrichtlinie definieren.
  • Sie können es Benutzern ermöglichen, ein Ortsprofil aus Office Communicator Phone Edition auszuwählen.
  • Sie können dem Homepool ein Ortsprofil zuweisen. Benutzern, die sich in diesem Pool befinden, wird automatisch dieses Ortsprofil zugewiesen.
Das Definieren eines Nummerierungsplans umfasst das Erstellen von Voicerichtlinien, Telefonrouten und Ortsprofilen mit Normalisierungsregeln. Die Voicerichtlinien definieren die Art des Anrufzugriffs, der Benutzern ermöglicht wird. Office Communications Server 2007 legt fest, wie Anrufe an die PBX/PSTN mittels Telefonrouten weitergeleitet werden. Da Telefonnummern auf vielfältige Art und Weise gewählt werden können, definieren die Normalisierungsregeln eines Ortsprofils, wie die gewählte Telefonnummer in das E.164-Format konvertiert werden muss, das dann weitergeleitet werden kann.
Jeder für Enterprise Voice aktivierte Benutzer wird vom Administrator einer Voicerichtlinie zugeordnet. Eine Voicerichtlinie definiert die einem Benutzer zugewiesenen Anrufberechtigungen. Die Anrufberechtigungen legen fest, welche Routen der Benutzer verwenden und welche Nummern er wählen darf. Jeder Benutzer muss einer einzelnen Voicerichtlinie zugeordnet werden. Die Anzahl verfügbarer Richtlinien wird vom Administrator erstellt.
Jede Voicerichtlinie enthält eine Einstellung, um es Benutzern zu ermöglichen oder zu verbieten, gleichzeitiges Klingeln und eine geordnete Liste von Telefonverwendungen zu aktivieren. Die Voicerichtlinie ist ähnlich wie die Besprechungsrichtlinie ein logischer Container von Einstellungen, die als XML-Dokument definiert und in Active Directory gespeichert sind. Der Wert dieses Entwurfs besteht darin, dass er in zukünftigen Versionen von OCS 2007 zur Unterstützung zusätzlicher Richtlinieneinstellungen erweitert werden kann, ohne dass eine Active Directory-Schemaerweiterung erforderlich ist. Wenn beispielsweise eine Voicerichtlinie nicht mit Telefonverwendung verbunden ist, werden die Benutzer, die dieser Richtlinie zugewiesen sind, daran gehindert, ausgehende Anrufe an die PBX/PSTN zu tätigen. Solche Benutzer könnten nur IP-IP-Anrufe tätigen.

Telefonverwendung und Routen
Eine Telefonverwendung definiert die Telefonroutingberechtigungen, die für Benutzer zulässig sind. Eine Telefonverwendung ist eine Sammlung von Telefonrouten. Es handelt sich um eine Zeichenfolge, die aus einem eindeutigen Schlüsselwort bestehen muss, d. h. keine andere Telefonverwendung kann denselben Namen haben. Administratoren können beliebig viele Verwendungen erstellen.
Obwohl eine Voicerichtlinie direkt einer Route oder einem Satz von Routen zugeordnet sein könnte, wird das Telefonverwendungsschlüsselwort anstelle von Telefonverwendungen als Abstraktion eingesetzt, um die Zuordnung zwischen Richtlinien und Routen beizubehalten. Wenn Richtlinien Routen direkt zugeordnet werden, sodass das Konzept von Telefonverwendungen praktisch entfällt, und der Administrator den Namen einer Route ändert, müsste jede dieser Route zugeordnete Richtlinie aktualisiert werden. Durch Verwenden einer Telefonverwendung, die sowohl ein Attribut einer Richtlinie als auch einer Route ist, zum Erstellen der Zuordnung zwischen Richtlinie und Route wird die Beziehung zwischen Richtlinie und Route beibehalten, selbst wenn der Name der Route geändert wird.
Eine Route enthält ein Telefonnummernmuster und eine Liste von Vermittlungsservern, die mit Mediengateways verbunden sind. Eine Route muss mindestens einer Telefonverwendung zugewiesen werden. Diese Zuordnung zwischen Muster und Gateways gibt an, wie Telefonnummern weiterzuleiten sind, die einem bestimmten Muster entsprechen.
Das Muster gibt einen Bereich von Telefonnummern an, die es zuordnen kann. Es ist als regulärer Ausdruck definiert, der Telefonnummern umfassen und ausschließen kann. Mithilfe des enthaltenen Enterprise Voice Route Helper-Tools können diese regulären Ausdrücke leichter erstellt werden. Wenn demzufolge die gewählte Telefonnummer dem regulären Ausdrucksmuster der Route entspricht, wird der Anruf an ein in der Route definiertes Gateway weitergeleitet.
In einer einzelnen Route kann mehr als ein Vermittlungsserver (und daher Mediengateway) aufgeführt sein. Office Communications Server 2007 leitet den Anruf auf einer Round-Robin-Basis an die Vermittlungsserver weiter, um den Datenverkehr über die Gateways auszugleichen. Wenn ein Gateway versagt oder zu Wartungszwecken außer Dienst genommen wird, sendet der entsprechende Vermittlungsserver eine Antwort an Office Communications Server 2007 zurück, sodass sofort versucht wird, den Anruf an einen anderen Vermittlungsserver (und damit an ein anderes Mediengateway) auf der Routenliste weiterzuleiten.
Nach 10 Versuchen, Anrufe an ein fehlgeschlagenes Mediengateway weiterzuleiten, reduziert Office Communications Server 2007 anschließend den Datenverkehr zu diesem Mediengateway, bis es wieder reagiert. Wenn das Mediengateway nach 10 zusätzlichen Versuchen weiterhin nicht reagiert, leitet Office Communications Server 2007 keine Anrufe mehr an dieses Mediengateway weiter, bis es wieder reagiert.
Die in der Telefonroute definierte Liste von Mediengateways wird durch den vollqualifizierten Domänennamen und die Portnummer des Gateways beschrieben. Wenn die Telefonnummer nicht dem regulären Ausdrucksmuster entspricht, wird die nächste Route überprüft, die zur dem Benutzer zugewiesenen Telefonverwendung gehört, bis eine Übereinstimmung gefunden wird. Wenn keine Übereinstimmung gefunden wird, kann der Anruf nicht weitergeleitet werden und erreicht sein Ziel nicht. Dem Benutzer wird in einer Benachrichtigung mitgeteilt, dass der Anruf nicht abgeschlossen werden konnte.

Nächste Schritte
Office Communications Server 2007 bietet drei Ebenen der Telefonieintegration. Beim Planen Ihrer Telefoniebereitstellung müssen Sie festlegen, welche Ebene Ihren aktuellen und zukünftigen geschäftlichen Telefonieanforderungen am besten entspricht. Anschließend können Sie die Bereitstellung planen. Ein wichtiger Aspekt der Planung ist das Definieren eines Nummerierungsplans für Ihre Office Communications Server Enterprise Voice-Bereitstellung. Dieser sollte sorgfältig bedacht werden.
Die Randleiste „Zusätzliche OCS 2007-Ressourcen“ enthält weitere Informationen zu Office Communications Server 2007 Enterprise Voice und zugehörigen Technologien.

Jochen Kunert verfügt über 10 Jahre Erfahrung in der Telekommunikationsbranche und ist heute als leitender Programmmanager in der Office Communications Group bei Microsoft tätig. Er ist Mitautor des Buchs Microsoft Office Communications Server 2007 Resource Kit, das in Kürze veröffentlicht wird. Sie erreichen ihn unter jkunert@microsoft.com.
Rui Maximo verfügt über 14 Jahre Erfahrung in der IT-Branche und ist Mitautor von zwei Büchern: Pro LCS: Live Communications Server Administration und Microsoft Office Communications Server 2007 Resource Kit. Sie erreichen ihn unter ruim@ruimaximo.com.


 Hochleistungscomputing: Eine Einf&#252;hrung in Windows Compute Cluster Server
Hochleistungscomputing John Kelbley and Doug Lindsey

Eine Einführung in Windows Compute Cluster Server
Kurz zusammengefasst:
  • Verwenden von Clustern zum Lösen komplexer Probleme
  • Allgemeine Anforderungen an Datenverarbeitungscluster
  • Einrichten eines Windows-basierten Computeclusters
  • Remoteausführung von Befehlen

Hochleistungscomputing (High Performance Computing, HPC) bezieht sich auf einen Bereich der angewandten Datenverarbeitung, bei der größtenteils die Lösung rechenintensiver Probleme im Mittelpunkt steht. Vor mehreren Jahren wurde HPC (damals allgemein als „Supercomputing“ bezeichnet) von
spezialisierten, großen und teuren Systemen beherrscht, die hauptsächlich in Forschungszentren eingesetzt wurden. Doch mit der zunehmenden Rechenleistung kleiner Systeme hat sich das Kosten-/Leistungsverhältnis geändert, und Rechenvorgänge in der Datenverarbeitung wurden auf PC-Systeme verlagert.
Viele rechenintensive Probleme können durch parallele Berechnung gelöst werden, d. h. eine bestimmte Berechnung oder ein Prozess ist unabhängig von der Ausgabe anderer Berechnungen oder Prozesse. In solchen Fällen können bei großen Problemen mehrere kleinere Systeme (Knoten) genutzt werden, die in Datenverarbeitungsclustern gruppiert sind. Dies sind nur einige Beispiele für die Arten von Anwendungen, die Rechencluster nutzen:
  • Finanzmodelle – ein Algorithmus oder eine Formel wird viele tausend Mal mit jeweils unterschiedlichen Eingaben ausgeführt.
  • Ingenieurwesen – das Simulieren von Auswirkungen in einzelnen Komponenten durch Anwenden von Strukturen auf Modelle.
  • Computeranimation – das Anwenden von Strukturen und Beleuchtungseffekten bei jedem Frame eines Films.
Datenverarbeitungscluster bieten eine preisgünstige Möglichkeit zum Lösen komplexer Probleme innerhalb kurzer Zeit. Mit Windows® Compute Cluster Server 2003 stellt Microsoft wichtige Computeclusterfunktionalität und Unterstützung bereit.
Es ist wichtig, sich vor Augen zu führen, dass sich ein Datenverarbeitungscluster von einem Verfügbarkeitscluster (Failovercluster) unterscheidet. Möglicherweise sind Sie bereits mit den Verfügbarkeitsclustern für Exchange, SQL Server® oder andere Anwendungen in Windows Server® 2003 vertraut. Diese nutzen in der Regel freigegebenen Speicher, um die Anwendungsbetriebszeit zu maximieren. Das Konzept von Datenverarbeitungsclustern besteht nicht darin, bei einem Ausfall die Rechenarbeiten eines anderen Systems fortzusetzen, sondern in der koordinierten Arbeit aller Knoten.

Allgemeine Anforderungen an einen Datenverarbeitungscluster
HPC-Ressourcen
  • Windows HPC Community
  • HPC mit WCCS 2003
  • Microsoft 64-Bit-Computing-Übersicht
  • Microsoft Server-Homepage
  • Compute Cluster Server-TechCenter
  • Schrittweise Anleitung für das Installieren, Konfigurieren und Abstimmen einer Hochleistungscomputing-Clusterbereitstellung

Modernen HPC-Systemen sind einige Hauptelemente gemeinsam, die die Verarbeitung von Rechenvorgängen vereinfachen. Zunächst einmal benötigen Sie mehr als ein System. Außerdem benötigen Sie einen Planer zum Koordinieren von Aufgaben über die Knoten hinweg. Der Planer wird auf dem verantwortlichen Knoten (dem Headknoten) ausgeführt und identifiziert verfügbare Ressourcen, weist Aufgaben zu, verteilt Aufgaben und verfolgt den Gesamtstatus der Aufträge. Er ist der Ressourcenkoordinator innerhalb des Clusters von Systemen sowie der Punkt, an den Benutzer und Administratoren Aufträge zum Verarbeiten senden.
Cluster benötigen eine Möglichkeit zur Kommunikation der Knoten untereinander. Abhängig von der jeweiligen Aufgabe sind für Knoten Verbindungen von hoher Geschwindigkeit und geringer Wartezeit erforderlich, um Nachrichten untereinander zur Verarbeitungskoordination weiterzuleiten. Zumindest muss jeder Computeknoten und der Headknoten mit einem gemeinsamen Netzwerk verbunden sein.
Eine große Anzahl verbundener Systeme, die zum Lösen komplexer Probleme zusammenarbeiten, brauchen zudem eine gewisse Wartung und Versorgung. Zum Sicherstellen einer konsistenten und stabilen Umgebung sind Prozesse und Tools erforderlich, die auf das Bereitstellen, Überwachen, Verwalten und Warten von Dutzenden oder sogar Hunderten bis Tausenden von Systemen ausgerichtet sind.
Schließlich (und das ist am wichtigsten) müssen Anwendungen verfügbar sein, die die Parallelverarbeitungsfunktionen eines Datenverarbeitungsclusters ausnutzen können. Ohne Anwendungen, die Aufträge für die Verarbeitung auf mehreren Computern aufteilen können, oder Entwicklungstools, die „parallele Debugger“-Unterstützung umfassen, würde ein Cluster lediglich Ihren Computerraum aufheizen.

Windows Server-basiertes Clustering
2006 wurde Windows Server 2003 Compute Cluster Edition (CCE) und Windows Compute Cluster Server 2003 (WCCS) von Microsoft eingeführt, um die Anforderungen für eine große Auswahl an HPC-Anwendungen zu erfüllen. CCE und WCCS basieren auf demselben Windows Server 2003, mit dem Sie bereits vertraut sind. CCE ist eine Version von Windows Server 2003, die zur Verwendung mit HPC-Anwendungen lizenziert ist. WCCS ist identisch mit CCE, verfügt jedoch zusätzlich über das Microsoft® Compute Cluster Pack (CCP). Somit können Sie einen Windows Server-basierten Cluster mit denselben Tools bereitstellen, verwalten, überwachen und warten, die Sie bereits zum Verwalten vorhandener Windows Server 2003-Systeme verwenden.
Ein wichtiger Punkt ist, dass es CCE und WCCS nur in einer x64-Version gibt. Eine 32-Bit (x86)-Version dieser Produkte ist nicht erhältlich. Die Hardwareanforderungen für CCE mit WCCS sind identisch mit jenen für Windows Server 2003 Standard x64 Edition. Zusätzlich zur Unterstützung von Hochleistungshardware (64-Bit-Architektur) umfassen die Produkte Remote Direct Memory Access (RDMA)-Unterstützung für Hochleistungsverbindungen (Gigabit Ethernet, InfiniBand, Myrinet und andere).

Compute Cluster Pack
Wie bereits erwähnt, stellen Datenverarbeitungscluster einige grundlegende Anforderungen, die durch die Installation des Compute Cluster Pack erfüllt werden können. CCP ist ein eigenständiges Installationspaket, das Folgendes umfasst:
  • Integrierter Auftragsplaner
  • Messaging Passing Interface (MPI)-Unterstützung für MPICH2 nach Industriestandard
  • Clusterressourcenverwaltung und Benutzertools
Das CCP ist das wichtigste Unterscheidungsmerkmal zwischen CCE und WCCS. Vielleicht fragen Sie sich, warum diese für Datenverarbeitungscluster erforderlichen Komponenten nur in WCCS und nicht in CCE vorhanden sind. Die Antwort lautet, dass einige HPC-Lösungen verschiedene Auftragsplaner oder spezialisierte MPIs nutzen (oder keine MPI-Unterstützung erfordern) und für die Ausführung ganz einfach eine gute Plattform benötigen, also Windows Server 2003. Da CCP ein eigenständiges Paket ist, kann es auf anderen x64-Versionen von Windows Server 2003 installiert werden (CCE, Standard, Standard R2, Enterprise und Enterprise R2).

Praktische Grundlagen
WCCS nutzt wichtige Windows-Grundlagen einschließlich Active Directory® und Remoteinstallationsdienste (Remote Installation Services, RIS), um die Verwaltung und den Betrieb von Windows-basierten Clustern zu vereinfachen. Compute Cluster Server verwendet Active Directory zur transparenten Verwaltung der Sicherheit. Mit Active Directory kann ein Benutzer einen Auftrag mithilfe eines einzelnen Satzes an Anmeldeinformationen an den Headknoten senden, der auf Hunderten von Serverknoten ausgeführt werden kann. Wenn Aufträge auf einem oder mehreren Computeknoten ausgeführt werden, werden sie im Kontext der Benutzeranmeldeinformationen ausgeführt, die beim Senden des Auftrags bereitgestellt wurden, und anschließend sicher zwischengespeichert. WCCS stützt sich auf Active Directory, um diese einzelne Anmeldefunktionalität bereitzustellen. Ein weiterer Vorteil von Active Directory in der Umgebung besteht darin, dass die Server- und Konfigurationsrichtlinie zentral über die Gruppenrichtlinie verwaltet werden kann.
Wenn in Ihrer IT-Organisation bereits Active Directory bereitgestellt wird, können Sie viel Zeit und Verwaltungsaufwand sparen, indem Sie Ihren Cluster in der vorhandenen Domäne erstellen. Dies ist das empfohlene Szenario.
Wenn Sie einen Computecluster in einer Umgebung bereitstellen müssen, in der Active Directory nicht vorhanden ist, wird empfohlen, einen oder mehrere dedizierte Domänencontroller zum Hosten von Active Directory für den Cluster bereitzustellen. Es ist nicht ungewöhnlich, den Headknoten als Active Directory-Domänencontroller fungieren zu lassen, da alle Knoten unabhängig von der Netzwerktopologie bereits über Netzwerkkonnektivität zum System verfügen. Bei größeren Clustern ist es aufgrund der höheren Auslastung des Headknotens allerdings nicht empfehlenswert, den Headknoten als Domänencontroller einzusetzen. Übliche Praktiken für die Bereitstellung und Verwaltung von Active Directory sollten befolgt werden (Installation redundanter Domänencontroller, angemessene Datensicherungen, gute Sicherheitsmethoden und so weiter).

Remoteinstallationsdienst
WCCS stellt einen integrierten Front-End-Server für die Microsoft Remoteinstallationsdienst-Abbildbereitstellungsplattform bereit. RIS dient zum Bereitstellen von Betriebssystemabbildern vom Headknoten an alle Computeknoten. Daher kann RIS zur schnellen Installation neuer Clusterknoten verwendet werden. Das muss nicht auf diese Weise erfolgen – RIS ist rein aus Gründen der Benutzerfreundlichkeit in WCCS integriert. Andere übliche Windows Server-Bereitstellungstechnologien können ebenfalls verwendet werden, z. B. Windows Server 2003 Automatische Bereitstellungsdienste (Automated Deployment Services, ADS) oder eine manuelle Installation von Windows Server 2003.
Wenn Sie RIS verwenden möchten, sollten Sie vor der Installation von CCP auf dem Headknoten sicherstellen, dass mindestens zwei logische Datenträger definiert wurden. Für RIS ist ein vom Betriebssystem separater Datenträger zum Speichern von Serverabbildern erforderlich. Ihre RIS-Partition sollte über genug freien Speicherplatz zum Ablegen einer oder mehrerer vollständiger Kopien eines Windows Server-Abbilds verfügen.
Für neuere Serverhardware, besonders Netzwerk- und Speicherausrüstung, sind möglicherweise Plug ' Play-Treiber erforderlich, die in den standardmäßigen Windows Server 2003-Abbildern nicht enthalten sind. In diesem Fall müssen die Treiber manuell zum Abbild hinzugefügt werden. Das entsprechende Verfahren ist online unter support.microsoft.com/kb/254078 dokumentiert.

Installieren des Clusters
Der erste Schritt besteht im Konfigurieren des Gehirns Ihres Clusters, d. h. des Headknotens. Installieren Sie zunächst eine der bereits erwähnten x64-Versionen von Windows Server 2003. Während der Betriebssysteminstallation entscheiden Sie, ob der Server mit einer vorhandenen Domäne verknüpft werden soll (dies wird empfohlen) oder ob Active Directory auf dem Server installiert werden soll (dies ist für große Cluster nicht empfehlenswert).
Nach Installieren des Betriebssystems sollten Sie überprüfen, ob alle empfohlenen Problembehebungen von Microsoft Update ebenfalls heruntergeladen und installiert wurden. Wenn Sie RIS zur Computeknotenabbilderstellung verwenden möchten, müssen Sie anschließend das administrative Tool zur Computerverwaltung | Datenträgerverwaltung verwenden, um sicherzustellen, dass mindestens zwei logische Datenträger definiert wurden. Aus Platzgründen wird die RIS-basierte Installation in diesem Artikel nicht erläutert.
Nach der erfolgreichen Anmeldung bei Ihrem Server und dessen Aktualisierung führen Sie das CCP-Setupprogramm aus. CCP-Setup installiert die folgenden erforderlichen Dateien und Updates oder führt Sie durch den Download- und Installationsprozess:
  • RIS-Hotfix (siehe go.microsoft.com/fwlink/?linkid=55167)
  • Microsoft Management Console (MMC) 3.0 (siehe go.microsoft.com/fwlink/?linkid=62400)
  • SQL Server Desktop Edition, die als Teil des Compute Cluster Server 2003-Headknoteninstallationsvorgangs installiert wird.
  • Microsoft .NET Framework 2.0
Das CCP-Setupprogramm ist hervorragend zum Bewerten der Installationsbereitschaft Ihres Systems geeignet. Sie erfahren, welche Komponenten erforderlich sind und als Teil des Vorgangs installiert werden müssen. Der Installationsvorgang wird vom Setupprogramm vorgenommen, wie in Abbildung 1 dargestellt.
Abbildung 1 Für die CCP-Installation erforderliche Komponenten
Abbildung 1 Für die CCP-Installation erforderliche Komponenten

Die Aufgabenliste
Nach Abschluss des CCP-Setups wird die Administratorkonsole gestartet, wobei die Aufgabenliste im Mittelpunkt steht. Wie Abbildung 2 zeigt, enthält die Aufgabenliste mehrere Bereiche, in denen jeweils ein anderer Bereich angesprochen wird und wichtige Aufgaben zum Fertigstellen der Clusterkonfiguration aufgeführt sind.
Abbildung 2 Aufgabenlisten zeigen, was zum Konfigurieren des Clusters erforderlich ist.
Abbildung 2 Aufgabenlisten zeigen, was zum Konfigurieren des Clusters erforderlich ist.
Mithilfe der Aufgabenliste können Sie die von Ihnen geplante Clusterarchitektur einschließlich Auswahl und Konfiguration der Netzwerktopologie, des Knoteninstallationsvorgangs und des Benutzerverwaltungsmodells leicht implementieren. Aufgaben für jeden dieser Bereiche sind rechts aufgeführt, und für jede Aufgabe wird ein Assistent gestartet. Wenn Sie alle Aufgaben nacheinander abschließen, erhalten Sie einen vollständig konfigurierten Headknoten, mit dem RIS-Abbilder auf einem bekannten Satz von Computeknoten bereitgestellt werden können, und der von einer definierten Benutzergruppe verwaltet werden kann und für diese zugänglich ist.
Netzwerktopologie WCCS unterstützt die fünf am häufigsten in HPC verwendeten Netzwerktopologien. Alle Computeknoten und der Headknoten müssen zumindest ein Netzwerk gemeinsam nutzen. Die Topologien umfassen Unterstützung für mehrere Typen von Verbindungen zwischen den Knoten und haben bestimmte Vor- und Nachteile.
Die Netzwerktopologie hängt von der Leistung, Sicherheit und den Bereitstellungsanforderungen für Ihren Cluster ab. Beispielsweise könnte für Ihre Anwendung eine Hochgeschwindigkeitsverbindung zum Weiterleiten von Nachrichten erforderlich sein, auf die von Ihrem Unternehmensnetzwerk nicht zugegriffen werden soll. Vielleicht möchten Sie die integrierten, RIS-basierten, automatisierten Bereitstellungsfunktionen nutzen. Möglicherweise kann die von Ihnen ausgewählte Hardware nur eine einzelne NIC aufnehmen, oder vielleicht möchten Sie, dass auf dem Headknoten ICS (gemeinsame Nutzung der Internetverbindung) zum Verwalten der Namensauflösung und Adressierung für die Computeknoten ausgeführt werden soll. Der von der Aufgabenliste aufgerufene Assistent zur Definition der Topologie des Clusternetzwerks zeigt die fünf Topologien an, die in der Regel von normalen HPC-Implementierungen unterstützt werden, und hilft bei der Konfiguration der Netzwerkverbindungen einschließlich Windows-Firewallkonfigurationen auf dem Headknoten und den Computeknoten. Abbildung 3 zeigt eine der unterstützten Netzwerktopologien.
Abbildung 3 Eine der unterstützten WCCS-Netzwerktopologien
Abbildung 3 Eine der unterstützten WCCS-Netzwerktopologien
Remoteinstallationsdienst Wie bereits erwähnt, ermöglicht RIS die automatisierte Bereitstellung von Clusterknoten.
Knotenverwaltung Sie haben die Möglichkeit, die Computernamen der Server anzugeben, die Computeknoten in diesem Cluster sein sollen. Bei Ausführung des CCP auf einem Knoten wird der Headknoten des Clusters angegeben, mit dem der Knoten verknüpft wird.
Benutzerverwaltung Hier können Sie angeben, welche Active Directory-Benutzerkonten oder -gruppen als Systemadministratoren und welche als Benutzer des Clusters festgelegt werden.

Knoteninstallation
Die Bereitstellung von Computeknoten kann automatisch über das RIS-Verwaltungsdienstprogramm oder mithilfe anderer unterstützter Bereitstellungsmethoden abgeschlossen werden. Wie beim Headknoten muss das CCP auf jedem Computeknoten installiert werden. Wie in Abbildung 4 dargestellt, sind die CCP-Setupkonfigurationsoptionen für einen Computeknoten viel einfacher und bestehen aus Folgendem:
Abbildung 4 Compute Cluster Pack-Setup
Abbildung 4 Compute Cluster Pack-Setup
  • Angabe, dass der Server ein Computeknoten (und kein Headknoten) sein soll.
  • Angabe des Headknotennamens des Clusters, mit dem der Server verknüpft werden soll.
  • Angabe, ob die administrativen und Benutzertools auf dem Computeknoten installiert werden sollen oder nicht.

Verwaltungskonsole
Wenn die Knoten mit Ihrem Headknoten kommunizieren, können die meisten Verwaltungsaufgaben für alle Systeme über die Administratorkonsole durchgeführt werden, wie in Abbildung 5 dargestellt. Die Konsole stellte eine zentrale Ansicht des gesamten Clusters einschließlich einer Liste aller zugeordneten Knoten, Zugriff auf wichtige administrative Tätigkeiten und andere Einzelheiten bereit. Der Bereich ganz links bietet Navigation auf hoher Ebene durch die Konsole, einschließlich Zugriff auf die Clusterverwaltung, die, wenn hervorgehoben, einen Zusammenfassungsbildschirm bereitstellt, der den Clusterstatus und die Auftragsstatistiken anzeigt. Zugriff auf alle Remotedesktop- und Systemmonitorsitzungen kann ebenfalls von hier aus erfolgen, doch die meiste Zeit über erfolgt die Verwaltung des Clusters mithilfe der „Knotenverwaltung“.
Abbildung 5 Die Administratorkonsole bietet eine Ansicht des gesamten Clusters
Abbildung 5 Die Administratorkonsole bietet eine Ansicht des gesamten Clusters
Sie sollten die Administratorkonsole selbst genauer untersuchen, da sie Zugriff auf wichtige Tools und Funktionen bietet, die zur zentralen Verwaltung von Windows und Clusterknoten erforderlich sind. Durch einmaliges Klicken auf einen Clusterknoten im oberen mittleren Bereich werden mehrere andere Fenster aufgefüllt, und Sie können mit dem Untersuchen knotenspezifischer Funktionen beginnen.
Über die Funktionen in den mit der rechten Maustaste aufgerufenen Menüs können Sie Computeknoten zentral von der Knotenverwaltung aus verwalten. Mithilfe der Knotenverwaltung können Sie Knoten anhalten und fortsetzen, Knoten für den Cluster genehmigen oder aus ihm entfernen, Remotedesktops, den Systemmonitor oder die Ereignisanzeige starten oder das CD-ROM-Laufwerk öffnen (was recht hilfreich sein kann, um einen einzelnen Computer in einem großen Cluster physisch zu identifizieren).

Praktisches ClusRun-Programm
Das praktischste Feature auf dieser Liste ist „Befehl ausführen“, also die Möglichkeit, einen beliebigen Befehl von einem Remotestandort aus genauso auszuführen, als säßen Sie am Zielcomputer. WCCS enthält eine Befehlszeilenversion des Features „Befehl ausführen“ mit der Bezeichnung Clusrun.exe, und ClusRun dient zum Beschreiben sowohl der Version mit der grafischen Benutzeroberfläche als auch der Befehlszeilenversion.
Die Vorteile des ClusRun-Dienstprogramms können nicht genug hervorgehoben werden, speziell in einem großen Cluster. Es spart enorm viel Zeit beim Ausführen sich wiederholender Befehlszeilenaufgaben, und oft müssen keine komplexeren administrativen Skripts geschrieben werden.
Zum Verwenden dieses Features heben Sie eine Liste der Computer hervor, für die ein Befehl ausgeführt werden soll, klicken dann mit der rechten Maustaste und wählen „Befehl ausführen“ aus. Das Dialogfeld in Abbildung 6 wird angezeigt. Jetzt geben Sie einfach den gewünschten Befehl ein, klicken auf „Ausführen“ und warten darauf, dass die Ausgabe im Ergebnisfenster angezeigt wird. Bei erstmaliger Verwendung von ClusRun werden Sie zum Eingeben von Anmeldeinformationen aufgefordert, aber Sie können diese Informationen zur späteren Wiederverwendung zwischenspeichern lassen.
Abbildung 6 Sie können einen Befehl auf mehreren Knoten ausführen
Abbildung 6 Sie können einen Befehl auf mehreren Knoten ausführen
Eine gängige Methode zum Patchen von Clustern oder Installieren von Programmen, die automatische Setuproutinen enthalten, besteht darin, sie in eine Dateifreigabe zu stellen und dann ClusRun zu verwenden, um durchzusetzen, dass alle Computeknoten den Befehl aufrufen. Der Neustart aller Computeknoten im ganzen Cluster kann über einen einzelnen Befehl erfolgen:
CLUSRUN SHUTDOWN –R –F –T 0

Tool Pack
Im Mai 2007 hat das HPC-Team das Compute Cluster Pack-Tool Pack veröffentlicht (es ist online unter windowshpc.net/resources/Pages/default.aspx verfügbar). Das Tool Pack umfasst Unterstützung für Windows PowerShellTM, ein MPIPingPong-Tool zur Analyse des Konnektivitätsstatus und einen sehr einfachen, aber nützlichen grafischen Clustermonitor.
Wie in Abbildung 7 dargestellt, kann der einfache Clustermonitor auf einem Bildschirm alle Knoten im Cluster, die Anzahl der Kerne jedes Knotens, die Auslastung aller CPUs (in Hellgrün), die Speicherauslastung (gelb), Prozent der Datenträgerzeit (rot) und die Netzwerkbandbreitenauslastung (orange) anzeigen. Es ist ein hervorragendes Tool für Administratoren, mit dem der Status des Clusters auf einen Blick erkenntlich ist.
Abbildung 7 Überwachung mehrerer Knoten mithilfe des einfachen Clustermonitors
Abbildung 7 Überwachung mehrerer Knoten mithilfe des einfachen Clustermonitors
Der Clustermonitor kann auch von einem Remotestandort aus ausgeführt werden. Die erste Instanz des Clustermonitors muss auf dem Headknoten ausgeführt werden. Wenn Sie jedoch eine Instanz des Clustermonitors in einer Konsolensitzung des Headknotens ausführen, haben Sie die Möglichkeit, Instanzen des Clustermonitors von einer Arbeitsstation aus zu starten, sie auf den Headknoten zu verweisen und dieselbe Anzeige zu erhalten.

Worauf warten Sie noch?
Sie sind jetzt mit HPC und Windows Server 2003 Compute Cluster Server vertraut. Sie wissen, wie das CCP installiert wird, Sie haben die praktische, umfassende Konsole kennengelernt, und Sie verfügen über praktische neue Befehle und grafische Tools, mit denen Sie Kollegen und Benutzer gleichermaßen beeindrucken können. Quellen für weitere Informationen zu Hochleistungscomputing finden Sie in der Randleiste „HPC-Ressourcen“.

John Kelbleyist technischer Produktmanager für Microsoft im Global Solutions Technology-Team im Nordosten der USA. Sie erreichen ihn unter Johnkel@microsoft.com
Doug Lindsey ist Programmmanager im Microsoft HPC-Team. Außerdem ist er Administrator von Produktionscomputeclustern (sowie Nr. 116 in der Liste vom November 2007 unter www.top500.org). Sie erreichen ihn unter Dougli@microsoft.com.


 Online Extra: Bereitstellen von 2007&#160;Office System mit Terminaldiensten
Online Extra James D. Silliman

Bereitstellen von 2007 Office System mit Terminaldiensten
Kurz zusammengefasst:
  • Bereitstellung für 2007 Office System
  • Verwalten von Benutzereinstellungen
  • Die neue Symbolleiste für den Schnellzugriff
  • Anpassungstool für 2007 Office-System

Die Veröffentlichung von 2007 Microsoft Office System brachte wichtige Entwurfsänderungen mit sich, mit denen Sie sich vor einer Bereitstellung oder Aktualisierung früherer Versionen in Ihrer Terminaldienste-Serverfarm vertraut machen sollten. Sie müssen mit der globalen Vorlage, der Symbolleiste für den Schnellzugriff,
den .adm-Datei-Snap-Ins für Gruppenrichtlinien und dem Office-Anpassungstool (OAT) vertraut sein. Wenn Ihnen diese Tools im Voraus verständlich sind, wird die Bereitstellung reibungslos verlaufen. Diese Übersicht der wichtigsten Änderungen befasst sich zunächst mit Microsoft® Word.

Bereitstellen von Word 2007
In Word wurde schon immer eine globale Vorlagendatei verwendet, und in 2007 Office System heißt diese Datei normal.dotm. In einer Terminaldiensteumgebung gibt es drei verschiedene Ansätze zum Bereitstellen von Word und der normal.dotm-Datei. Sie können die Datei allein auf allen Terminaldiensteservern belassen, auf denen Office installiert ist, sodass Benutzern die Word-Standardansicht angezeigt wird. Sie können die Datei auf jedem Terminalserver öffnen und selbst ändern und anpassen, sodass den Benutzern keine Standardansicht in Word angezeigt wird. Sie können die Datei auch umbenennen, sodass jeder Benutzer seine eigene Datei erhält (sie wird geändert, wenn der Betreffende eine Einstellung in Word ändert und auf „Standard“ klickt).
Egal, wofür Sie sich entscheiden, sollte diese Entscheidung vor der Bereitstellung erfolgen. Wenn Sie an der standardmäßigen Datei keine Änderungen vornehmen, kann der Benutzer globale Vorlagenänderungen nicht speichern, weil die globale Vorlagendatei, die auf den Terminaldiensteservern gespeichert ist, die Datei im Profil des jeweiligen Benutzers überschreibt. Wenn Sie die Vorlagendatei nicht öffnen und optimieren, werden den Benutzern nur die Standardeinstellungen von Word 2007 angezeigt.
Sie können die Datei jedoch nach Wunsch auf jedem Server in der Terminaldienstefarm optimieren. Dazu und zum Beibehalten derselben Word-Einstellungen für alle Benutzer (beispielsweise Standardschriftart und -größe, Absatzabstand und Layout) müssen Sie diese globale Vorlagendatei unter ihrem standardmäßigen Pfad speichern. Zum Ändern von Einstellungen, die den Benutzern global bereitgestellt werden sollen, öffnen Sie einfach diese Datei auf jedem Terminaldienstecomputer, nehmen die gewünschten Änderungen im Word 2007-Layout vor (klicken Sie dazu auf „Standard“) und speichern die Änderungen dann, sodass sie in die standardmäßige normal.dotm-Datei geschrieben werden.
Sichern Sie die Standarddatei unbedingt zuerst, bevor Sie Änderungen vornehmen, da Sie sonst möglicherweise Word 2007 neu installieren müssen, um die ursprüngliche Datei abzurufen. Beachten Sie, dass Änderungen, die Sie während des Änderns der normal.dotm-Datei an der Symbolleiste für den Schnellzugriff vornehmen, nicht in dieser Vorlagendatei gespeichert werden. Auf die Symbolleiste für den Schnellzugriff und ihr Verhalten wird etwas weiter unten noch eingegangen.
Angenommen Sie entscheiden, dass Benutzer in der Lage sein sollen, ihre eigenen globalen Einstellungen in Word zu verwalten. Dies ist möglich, doch dazu müssen Sie die normal.dotm-Datei auf allen Servern Ihrer Farm beispielsweise in normal.dotm.old umbenennen. Dies wird als beste Alternative empfohlen, da Benutzern beim Schließen von Word Vorlagenfehler angezeigt werden können, wenn sich andere Anwendungen einbinden.
Wenn Sie diese Datei umbenennen, erkennt Word 2007, dass die Benutzer in der Lage sein sollen, ihre eigenen Einstellungen zu verwalten, statt globale Einstellungen zu verwenden, und lässt zu, dass die Benutzer Einstellungen ändern und speichern. Word 2007 stellt nun die benutzerdefinierte normal.dotm-Datei in den Profilpfad jedes Benutzers. Wenn Sie servergespeicherte Profile verwenden (was davon abhängt, wie Sie die Pfade einrichten), wird die Vorlagendatei für jeden Benutzer in diesem Ordnerspeicherort gespeichert: \\domain\sharename\%username%\Anwendungsdaten\Microsoft\Vorlagen.
Eine Benutzereinstellung, die nicht in der normal.dotm-Datei gespeichert wird, sind Änderungen, die an der Symbolleiste für den Schnellzugriff vorgenommen werden. Diese Symbolleiste ist ein neues Feature von 2007 Office System, das separat von der (ebenfalls neuen) Multifunktionsleiste ist. Die Symbolleiste für den Schnellzugriff ist die winzige Symbolleiste, die sich in 2007 Office System standardmäßig in der linken oberen Ecke Ihres Bildschirms befindet. Diese Symbolleiste ist für die Anwendungen innerhalb von 2007 Office System vorhanden, wie in Abbildung 1 dargestellt. Weitere Informationen finden Sie unter support.microsoft.com/kb/926805.
Figure 1 Dateien für die Symbolleiste für den Schnellzugriff (Close Figure 1)

Office-Anwendung | Featurebereich | Dateiname
Access 2007 | Alle | Access.qat
Excel 2007 | Alle | Excel.qat
Outlook 2007 | Kontakte Kalender Verteilerliste Journaleintrag E-Mail Im Ordner bereitstellen Aufgaben | Olkaddritem.qat Olkapptitem.qat Olkdistitem.qat Olklogitem.qat Olkmailitem.qat Olkpostitem.qat Olktaskitem.qat
PowerPoint 2007 | Alle | PowerPoint.qat
Word 2007 | Alle | Word.qat
Wie in Abbildung 1 ersichtlich, verwendet die Symbolleiste für den Schnellzugriff Dateien mit der .qat-Erweiterung zum Speichern von individuellen Einstellungen. Die Dateien werden unter diesem standardmäßigen Dateipfad auf jedem Terminaldiensteserver der Farm gespeichert (es wird kein Roaming durchgeführt): C:\Dokumente und Einstellungen\username\Lokale Einstellungen\Anwendungsdaten\Microsoft\Office (oder C:\Benutzer\username\AppData\Local\Microsoft\Office auf einem Computer, auf dem Windows Vista® ausgeführt wird).
Bei einer genaueren Betrachtung des Pfads sehen Sie, dass sich die .qat-Dateien im selben Unterordner für lokale Dateien befinden wie das lokal zwischengespeicherte Profil des Terminaldienstebenutzers. Dieser Unterordner wird beim Abmelden nicht mit einem servergespeicherten Profil des Benutzers synchronisiert, weil „Lokale Einstellungen“ nicht in der standardmäßigen Pfadstruktur für das servergespeicherte Profil vorhanden ist. Wenn also die lokal zwischengespeicherten Profile auf Ihren Terminaldiensteservern durch Aktivieren dieser Gruppenrichtlinienobjekteinstellung (Group Policy Object, GPO) verloren gehen, verlieren Sie leider die benutzerdefinierten .qat-Dateien des Benutzers (im Knowledge Base-Artikel unter support.microsoft.com/kb/274152 finden Sie weitere Informationen).
Das Löschen von zwischengespeicherten Profilen, wenn sich ein Benutzer abmeldet, ist unter Terminaldiensteadministratoren zum Bereinigen lokaler Profile allerdings allgemein üblich. Daher ist diese Änderung in 2007 Office System wichtig, da sie die zwischengespeicherten Profile und die Symbolleiste für den Schnellzugriff betrifft. Eine offensichtliche Lösung besteht darin, sicherzustellen, dass die im gerade erwähnten Knowledge Base-Artikel erörterte GPO-Einstellung nicht festgelegt wird. Wenn Sie das Löschen zwischengespeicherter Profile beim Abmelden nicht aktivieren und Sie viele Benutzer haben, wird wertvoller Festplattenspeicherplatz auf dem lokalen %systemroot%-Laufwerk jedes Terminaldiensteservers eingenommen, und Sie müssen einen anderen Prozess zur Überwachung einrichten, da sonst irgendwann nicht mehr genügend Festplattenspeicherplatz vorhanden ist. Dies ist nicht ungewöhnlich, da lokale Profile ziemlich groß werden können.
Für welchen Ansatz Sie sich auch entscheiden, Sie sollten Ihrem Anmeldeskript mindestens eine Routine hinzufügen, die regelmäßig eine Sicherung der .qat-Benutzerdateien durchführt, sodass diese wiederhergestellt werden können, wenn sie verloren gehen oder unbeabsichtigt gelöscht werden. Durch Aufbewahren einer Sicherung dieser benutzerdefinierten Dateien lassen sich Anrufe aufgeregter Benutzer an das lokale Helpdesk vermeiden.
Zu wenige Terminaldiensteadministratoren erstellen Sicherungskopien dieser lokal zwischengespeicherten Profile. Stattdessen erstellen sie Sicherungskopien der servergespeicherten Netzwerkprofile, die, wie bereits erwähnt, keine Kopien der .qat-Dateien enthalten. Eine andere Alternative besteht darin, ein Drittanbieterprodukt in Betracht zu ziehen, mit dessen Hilfe ein obligatorisches Profil für jeden Benutzer bereitgestellt werden kann. Anschließend werden die Änderungen der lokalen Einstellungen jedes Benutzers in einem separaten Ordner im Netzwerk abgebildet.

Gruppenrichtlinien-Snap-Ins
Seit einiger Zeit stehen .adm-Gruppenrichtliniendateien für Office 2003 zur Verfügung, die größere administrative Kontrolle über Office-Richtlinien und die Benutzereinstellungen ermöglichen. Ähnlich gibt es in 2007 Office System neue .adm-Dateien, die Sie für eine Reihe von Anpassungen verwenden können, einschließlich Deaktivieren des Dialogsfelds für die erste Ausführung und Ändern der Einstellungen für das automatische Sichern sowie anderer Einstellungen.
Wenn Sie bereits Office 2003-Gruppenrichtlinien bereitgestellt haben und beschließen, zu 2007 Office System zu migireren, müssen Sie zunächst vorhandene Office 2003-.adm-Dateien aus Ihren GPOs entfernen, bevor Sie die 2007 Office System-.adm-Dateien hinzufügen. Denken Sie daran, Ihre GPOs mithilfe der Gruppenrichtlinien-Verwaltungskonsole (Group Policy Management Console, GPMC) zu sichern, sodass Sie den vorherigen Zustand wiederherstellen können, wenn Sie nach dem Hinzufügen der neuen Snap-Ins Fehler entdecken. Ich weiß von zumindest einem Terminaldiensteadministrator, bei dem durch das Entfernen von Office 2003-Snap-Ins und das anschließende Hinzufügen der 2007 Office System-.adm-Dateien in seine GPOs Schattenkopien von Richtlinien erstellt wurden.
In meinem Artikel vom Mai 2007 („Ein Leitfaden zum Bereitstellen von Terminaldiensten“, technetmagazine.com/issues/2007/05/TerminalServices) wurde erwähnt, dass Terminaldienstebenutzer nicht aufgefordert werden sollten, bestimmte Aktionen wie beispielsweise die Outlook®-AutoArchivierung durchzuführen oder Dialogbildschirme für die erste Ausführung zu akzeptieren. Sie sollten wissen, dass Benutzern beim erstmaligen Start von Outlook 2007 standardmäßig zwei Bildschirme für die erste Ausführung angezeigt werden: einer für Datenschutzoptionen und der zweite für die Desktopsuche. Der erste Bildschirm, der in Abbildung 2 dargestellt ist, kann auf mehrere Arten deaktiviert werden: durch Ändern der GPO-Einstellungen (mithilfe der neuen Outlook 2007-.adm-Dateien), mithilfe des Office-Anpassungstools oder durch Optimieren der Registrierung.
Abbildung 2 Dialog für Datenschutzoptionen in 2007 Office System
Abbildung 2 Dialog für Datenschutzoptionen in 2007 Office System
Der in Abbildung 3 dargestellte Bildschirm wird sofort nach den Datenschutzoptionen (wenn Sie ihn nicht deaktivieren) und in allen anderen 2007 Office System-Anwendungen angezeigt.
Abbildung 3 Dialogfeld für das Feature „Sofortsuche“ in 2007 Office System
Abbildung 3 Dialogfeld für das Feature „Sofortsuche“ in 2007 Office System
Um die Eingabeaufforderung für die Windows®-Suche für Office-Anwendungen auszuschalten, laden Sie die 2007 Office System-ADM Vorlagen von go.microsoft.com/fwlink/?LinkId=78161 auf Ihre Festplatte auf dem Domänencontroller herunter. In der Gruppenrichtlinie muss die Office Outlook 2007-Vorlage (Outlk12.adm) unter „Computerkonfiguration“ oder „Benutzerkonfiguration“, „Add Snap-Ins“ (Snap-Ins hinzufügen) geladen werden. Als nächstes rufen Sie Benutzerkonfiguration\Administrative Vorlagen\Microsoft Office Outlook 2007\Tools | Optionen\Einstellungen\Suchoptionen auf und aktivieren die Einstellung „Installationseingabeaufforderungen deaktivieren, wenn die Komponente Windows Desktopsuche nicht vorhanden ist“.
In 2007 Office System stehen viele Gruppenrichtlinieneinstellungen zum Steuern der Benutzererfahrung zur Verfügung, doch Sie müssen Ihren GPOs für jede Einstellung die jeweiligen .adm-Dateien wie Word (Word12.adm) und Excel® (Excel12.adm) hinzufügen. Abbildung 4 zeigt ein Beispiel dafür, wie die Outlook 2007-ADM-Vorlage (Outlook12.adm) aussieht, wenn sie Ihrer Gruppenrichtlinie hinzugefügt wurde.
Abbildung 4 Outlook 2007-ADM-Vorlage in der Gruppenrichtlinie
Abbildung 4 Outlook 2007-ADM-Vorlage in der Gruppenrichtlinie

Zusätzliche Änderungen
Beachten Sie, dass Sie in Office 2003 auch den Assistenten für benutzerdefinierte Installationen zum Erstellen benutzerdefinierter Transformationen herunterladen und verwenden können. Für das neue OAT in 2007 Office System ist kein separater Download erforderlich. Es wird mithilfe von „setup /admin“ vom Befehl „Ausführen“ aus gestartet, der auf die 2007 Office System-Medien oder die Installationsquelle gerichtet ist. Durch das Ausführen dieses Befehls in den Installationsquelldateien und das anschließende Ändern einzelner Einstellungen nach Ihren Wünschen wird eine .msp-Datei (im Gegensatz zur .mst-Datei in Office 2003) erstellt, und Sie müssen keine Befehlszeilenoptionen angeben, um diese in Ihre spätere Bereitstellung aufzunehmen. Es reicht aus, die benutzerdefinierte .msp-Datei in den Order „Updates“ des Stamms Ihres Netzwerkinstallationspunkts zu stellen, um sie automatisch zusammen mit Ihren bevorzugten Einstellungen bereitzustellen.
Outlook 2007 bietet einen weiteren Vorteil gegenüber früheren Versionen des Programms. Ihre Exchange 2007-Server werden jetzt automatisch gesucht, indem beim Starten innerhalb des LAN eine Dienstverbindungspunktabfrage (Service Connection Point, SCP) direkt an Active Directory® gesendet wird. Diese Abfrage erleichtert das Herstellen einer Verbindung zu einer bereitgestellten Exchange 2007-Infrastruktur. Weitere Informationen finden Sie unter go.microsoft.com/fwlink/?linkid=76177.
Microsoft hat wichtige Entwurfsänderungen an der Art und Weise vorgenommen, wie 2007 Office System in einer Terminaldiensteumgebung arbeitet. Dabei wurden die Bereitstellungstools vereinfacht, neue .adm-Datei-Snap-Ins hinzugefügt und die Schnittstelle rationalisiert. Wenn Sie sich diese wichtigen, hier vorgestellten Konzepte bewusst machen, bevor Sie Ihre Office-Anwendungen bereitstellen oder aktualisieren, können Sie den Upgradevorgang sehr viel besser verstehen und somit wichtige Entwurfsentscheidungen im Voraus treffen. Wenn Sie derzeit kein Upgrade planen, könnten Sie in Betracht ziehen, nur das 2007 Office System-Kompatibilitätspack zu laden. Dies ermöglicht Ihren Benutzern das Öffnen von Anlagen, die sie von Benutzern erhalten, bei denen bereits ein Upgrade vorgenommen wurde. Sie finden das Kompatibilitätspack unter go.microsoft.com/fwlink?LinkID=77512.
Mithilfe dieser Informationen können Sie 2007 Office System erfolgreich bereitstellen. Denken Sie an das Sichern Ihrer Richtlinien und das Testen aller empfohlenen Einstellungen in einer Testumgebung, bevor Sie diese der Benutzercommunity bereitstellen.

James D. Silliman ist MCSE mit dem Spezialgebiet Microsoft-Technologien und konzentriert sich auf die Bereitstellung von Terminaldiensten. Derzeit ist er für einen ASP tätig, bei dem er IT-Lösungsarchitekturen für Kleinunternehmen erstellt. Sie erreichen ihn unter jsilliman@gmail.com.


 Mitteilung der Redaktion: Umgang mit der Informations&#252;berflutung
Mitteilung der Redaktion
Umgang mit der Informationsüberflutung
Joshua Hoffman

Wenn ich an die beiden Hauptthemen dieses Monats denke, SharePoint und Office Communications Server, überrascht es eigentlich nicht weiter, dass wir oft Probleme haben, miteinander in Verbindung zu treten. Während ich dies schreibe (wahrscheinlich etwa einen Monat, bevor Sie diese Mitteilung lesen) ist New York City bereits ganz in Vorweihnachtsstimmung. Die Zentrale des TechNet Magazins befindet sich übrigens genau im Epizentrum des Ganzen: im Rockefeller Center. In vielerlei Hinsicht ist dieser Stadtteil wirklich schön, aber für einen Monat im Jahr ist das Leben dort, gelinde ausgedrückt, eine Herausforderung. Die Einwohnerzahl wächst aufgrund der Besucher aus anderen US-Staaten und Übersee, die zum Einkaufen, für eine Broadway-Show oder zum Eislaufen mit den majestätischen Wolkenkratzern als Hintergrund hierher kommen, noch mehr als sonst an. Viele New Yorker hingegen ziehen sich in dieser Zeit in ihr Schneckenhaus zurück.
Einige behaupten, dies geschehe aus Frustration über die Touristen, die mitten auf dem Fußweg stehen bleiben, um Fotos zu machen, sodass andere Fußgänger plötzlich anhalten müssen oder mit ihnen zusammenstoßen. Aber das ist nicht der wirkliche Grund (wir freuen uns eigentlich über Ihren Besuch, machen Sie nur Ihre Schnappschüsse). Ich glaube, es ist schlicht und ergreifend ein Fall von Überlastung. In einer bereits überfüllten und geschäftigen Stadt wird die Toleranzschwelle einfach überschritten, und es wird den Menschen zu viel.
In diesem Sinne wende ich mich der IT-Branche zu und sehe praktisch denselben Trend. Organisationen wachsen nach wie vor (was wir uns wahrscheinlich erhoffen), und aus diesem Grund werden jeden Tag immer mehr Informationen erzeugt. Unsere Dateifreigaben sind voll. Unsere Datenbanken sind voll. E-Mail soll hier nicht einmal erwähnt werden. Vor nicht allzu langer Zeit war ein Gigabyte viel Speicher. Heute sind Terabytes allgemein anzutreffen – selbst in Heim-PCs. Viele Datencenter werden bereits mit Petabytes geplant. Sie werden mir beistimmen, dass in jedem Lebensbereich eine Fülle von Informationen anzutreffen ist. Sind diese Informationen aber nützlich oder einfach nur belastend? Sind sie strukturiert? Leicht zu analysieren? Leicht freizugeben?
Es überrascht mich aufgrund der überwältigenden Informationsmenge nicht, dass es für uns so schwierig ist, miteinander in Verbindung zu treten. Aber es könnte viel einfacher sein, und darum geht es in diesem Monat. In dieser Ausgabe erfahren Sie, wie Sie die Leistungsfähigkeit von SharePoint nutzen können, um das Sammeln und Organisieren von Daten in Ihrem Unternehmen zu vereinfachen. Sie erhalten Anleitungen zum einfachen Erstellen von Umfragen, um diese Daten bei Ihren Benutzern (oder Kunden) zu sammeln. Weiterhin werden Informationen zum Definieren benutzerdefinierter Inhaltstypen bereitgestellt, damit die gesammelten Informationen sinnvoller gegliedert werden können. Schließlich erfahren Sie, wie sich Office Communications Server zum Herstellen wichtiger Verbindungen einsetzen lässt. Wozu sind sonst alle diese Daten gut, wenn sie nicht mit anderen gemeinsam genutzt werden können? – Joshua Hoffman

Unser Dank gilt folgenden technischen Experten von Microsoft: Ed Banti, Susan Bradley, Byron Hynes, Michael Murgolo, Ken Oien, Jim Truher und Kay Unkroth.


 Briefe: Leser sagen ihre Meinung
Briefe
Leser sagen ihre Meinung

Verfügbarkeit des ActiveX-Installationsdiensts
Ich habe gerade Ihren Artikel in der Ausgabe vom Juli 2007 über den „ActiveX-Installationsdienst in Windows Vista“ gelesen (online unter technetmagazine.com/issues/2007/07/AxIS). Könnten Sie mir bitte mitteilen, ob dieser Dienst jetzt verfügbar ist?
– Eugene Y.

Ja, der ActiveX®-Installationsdienst ist jetzt verfügbar. Er kann einfach über die Option „Windows-Funktionen ein- oder ausschalten“ in der Systemsteuerungsoption „Programme und Funktionen“ in Windows Vista® aktiviert werden.
Der ActiveX-Installationsdienst ist eine optionale Komponente, die nur für die Ultimate-, Enterprise- und Business-Versionen von Windows Vista verfügbar ist. Die Liste der Websites, bei denen eine ActiveX-Installation mit dem ActiveX-Installationsdienst zulässig ist, wird über die Gruppenrichtlinie gesteuert. Die Liste wird gespeichert unter „Computerkonfiguration“ | „Administrative Vorlagen“ | „Windows-Komponenten“ | „ActiveX-Installationsdienst“ im Gruppenrichtlinienobjekt-Editor.

Active Directory-Tools
Vielen Dank für den Artikel „11 wichtige Tools zur Verwaltung von Active Directory“ (September 2007). Ich habe versucht, Benutzer aus Active Directory® mit dem in dem Artikel vorgestellten dsrm-Dienstprogramm mithilfe der folgenden Befehlszeile zu löschen:
          dsquery user -samid <samid> | dsrm
Ich erhalte eine Fehlermeldung, in der es heißt, dass die „dsrm“-Eingabe nicht die richtige Form habe. Ich kann den Befehl jedoch separat ohne Probleme ausführen. Können Sie mir helfen?
– Keith E.

Wir haben Ihre Frage an die Autorin des Artikels, Laura Hunter, weitergeleitet. Laura weist darauf hin, dass beim Weiterleiten von dsquery-Ergebnissen nach dsrm für dsrm der -noprompt-Schalter erforderlich ist. Daher müsste folgende Befehlszeile verwendet werden:
dsquery user -samid <samid> | dsrm -noprompt
Wir entschuldigen uns dafür, dass diese Information im ursprünglichen Artikel nicht enthalten war, und werden eine Korrektur in der Onlineversion bereitstellen.

Alternative Rätsellösungen
Ich nehme an, dass Sie es wissen und bereits von anderen darauf hingewiesen wurden: für den Scripting Perplexer von Dr. Scripto (November 2007) gibt es zwei verschiedene Lösungen, die beide funktionieren. Das Rätsel wird auch richtig entschlüsselt, wenn die aus 4 Zeichen bestehende Variable, die in der ersten und zweiten Zeile erscheint, „nnde“ ist und wenn die aus 5 Zeichen bestehende Variable, die in der dritten und fünften Zeile erscheint, „iamex“ ist. (Mir ist klar, dass der Unterschied sehr gering ist und die Namen in Ihrer Lösung das Skript viel lesbarer machen.)
Danke für dieses Rätsel – es hat mir gefallen.
– Stan A.

Danke für Ihre alternative Lösung, Stan! Wir freuen uns, dass Ihnen das neue Scripting Guys-Rätsel gefällt. Es wird von nun an ein regelmäßiger Beitrag im TechNet Magazin sein.

Überzeugt von der Windows Vista-Migration
Der Artikel „Änderungen an Offlinedateien in Windows Vista“ in der Ausgabe vom November 2007 des TechNet Magazins (siehe technetmagazine.com/issues/2007/11/Offline) zeigt die Vorteile von Windows Vista im Bereich von Offlinedateien sehr gut. Der Artikel hat uns bei der Entscheidung geholfen, zu Windows Vista zu migrieren, da wir bei der Verwendung von Windows® XP Professional viele Probleme mit Offlinedateien hatten.
– Daniel Z.

Danke, Daniel! Wir freuen uns, dass der Artikel für Sie in Ihrem Unternehmen nützlich war.

Fehlende Seiten
Ihr Magazin ist unterhaltsam und informativ. Doch in meiner Kopie der Ausgabe vom Dezember 2007 fehlten die Seiten 49 bis 64. Ich interessierte mich für den Artikel über Computerforensik („Handbuch zu den Grundlagen der Computerforensik“) von Tom Cloward und Frank Simorjay, der eigentlich auf Seite 60 erscheinen sollte. Vielleicht kann Ihr für den Druck zuständiges Forensikteam meine fehlenden Seiten/Daten finden? Wenn dieser Artikel online verfügbar ist, lese ich ihn gern auch dort, wenn Sie mir die URL senden.
– Dave S.

Leider hatten wir tatsächlich ein Problem beim Drucken der Ausgabe vom Dezember 2007, und eine kleine Anzahl von Kopien wurde an Leser ohne die Seiten 49 bis 64 versandt. Im Namen unserer Druckerei und des TechNet Magazin-Teams entschuldigen wir uns für diese Unannehmlichkeit.
In der Zwischenzeit ist dieser Artikel zusammen mit den übrigen Artikeln der Dezemberausgabe online verfügbar unter technetmagazine.com/issues/2007/12.


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

Entsperren von Dateien
Unlocker
ccollomb.free.fr/unlocker
Es ist jedem schon einmal passiert: ein automatisierter Prozess stürzt mitten im Vorgang ab, und eine Datei reagiert aufgrund einer Schreibsperre nicht mehr, was zu einem Fehler bei einem anderen Vorgang führt, weil dieser die Datei nicht kopieren, verschieben, nicht in sie schreiben oder sie nicht löschen kann. Manchmal wissen Sie gar nicht, wer der Schuldige war und die Dateisperre beibehalten hat, aber sie wissen, welche Datei gesperrt wurde. Was können Sie in einem solchen Fall tun?
Es gibt viele Möglichkeiten zum Behandeln dieses Problems, aber ein Tool, das eine schnelle und einfache Windows® Explorer-integrierte Lösung bei Problemen mit Dateisperren bietet, ist das von Cedrick Collomb geschriebene kostenlose Unlocker-Tool. Dank der Integration mit Windows Explorer können Sie den Übeltäter finden, indem Sie mit der rechten Maustaste einfach auf die gesperrte Datei (oder sogar einen Satz an Dateien) klicken und dann „Unlocker“ im Kontextmenü auswählen. Wenn eine Sperre entdeckt wird, können Sie unter einer Reihe von Optionen auswählen, z. B. Beenden des fehlerhaften Prozesses, Entsperren der Datei (Schließen des Handle), Löschen der Datei, Verschieben der Datei oder Umbenennen der Datei. Sie können die gesperrte Datei auch im aktuellen Zustand an einen anderen Speicherort kopieren.
Unlocker verfügt über ein vollständiges Anwendungsinstallationsprogramm, sodass DLLs nicht manuell registriert oder entfernt werden müssen. Zudem muss das System zum Starten des Tools nicht neu gestartet werden. Es unterstützt dazu die automatische Updatebenachrichtigung (wenn Sie nichts dagegen haben, dass diese hin und wieder „zu Hause anruft“), um sicherzugehen, dass Ihnen die aktuelle Version vorliegt.
Unlocker unterstützt sogar die Befehlszeilenausführung, was für die Automatisierung hervorragend ist. Sie können beispielsweise leicht einen Protokollversandprozess konfigurieren, bei dem das Handle automatisch geschlossen und der Komprimierungsprozess beendet wird, wenn Sie beim Verschieben von Protokollen auf eine gesperrte .zip-Datei stoßen. So ersparen Sie es sich möglicherweise, das Problem in den frühen Morgenstunden manuell beheben zu müssen.
Das Dienstprogramm verfügt außerdem über ein Taskleistentool mit der Bezeichnung „Unlocker Assistant“. Hierdurch kann die Unlocker-Benutzeroberfläche automatisch gestartet werden, wenn Sie versuchen, eine gesperrte Datei zu verschieben, umzubenennen oder zu löschen, sodass Sie sich die zusätzlichen Mausklicks zur Suche nach der Datei und zur Auswahl von Unlocker im Kontextmenü, das mit der rechten Maustaste aufgerufen wird, sparen können. Unlocker ist mit den meisten Versionen von Windows einschließlich Windows Vista® kompatibel.

Preis: Kostenlos
Mit Unlocker können Sie gesperrte Dateien schnell finden und entsperren.
Mit Unlocker können Sie gesperrte Dateien schnell finden und entsperren.

Analysieren des Netzwerkverkehrs
Wireshark
wireshark.org
Ein gutes Netzwerkprotokollanalysetool ermöglicht die Anzeige des grundlegenden Netzwerkverkehrs in Ihrer Infrastruktur, um festzustellen, was unter allen diesen Schichten vernetzter Anwendungen wirklich geschieht. Das vielleicht bekannteste Open Source-Analysetool dürfte Wireshark sein. Es verwendet die Open Source-WinPcap-Paketerfassungsbibliothek für Windows und leitet sich von Ethereal ab, wo Gerald Combs noch tätig ist.
Mit Wireshark können Sie den Datenverkehr, der über eine Netzwerkschnittstelle übergeben wird, leicht erfassen und die Einzelheiten jedes Pakets mithilfe einer leicht zu bedienenden grafischen Benutzeroberfläche untersuchen. Zum Starten einer neuen Paketerfassungssitzung wählen Sie einfach die Benutzeroberfläche aus und klicken auf die Startschaltfläche. Die grafische Benutzeroberfläche zeigt die erfassten Pakete in einem farblich gekennzeichneten Rahmen an, der Zeit, Quelle, Ziel, Protokoll und eine zuvor festgelegte Beschreibung des Ereignisses fast in Echtzeit anzeigt. Durch Klicken auf eine Übertragung wird das betreffende Detail hervorgehoben, und die Paketdaten werden in einem leicht zu verfolgenden Detailbereich interpretiert. Darunter sehen Sie die rohen Paketdaten in Hexadezimal- und ASCII-Darstellung.
Wenn das für Ihre Analyse erforderliche Dataset vorliegt, können Sie die Sitzung selbstverständlich zur späteren Analyse speichern oder exportieren. Wireshark kann viele verschiedene Protokolle decodieren und dürfte die meisten Anforderungen bezüglich einer Problembehandlung abdecken.
Netzwerke enthalten viel Überflüssiges, und zum Filtern all dieser Daten verfügt die Anwendung über ein hervorragendes ausdruckbasiertes Filterfeature, mit dem Sie die Suche für jeden Parameter eines Protokolls einengen können. Sie könnten beispielsweise den gesamten Datenverkehr mit Ausnahme des Verkehrs herausfiltern, der in Verbindung mit BitTorrent von und zu bestimmten IPs in Ihrem Netzwerk steht. Mithilfe der Filter könnten Sie auch leicht herausfinden, welcher Computer durch Verbreiten einer Unmenge falscher Broadcastnachrichten Chaos im Netzwerk anrichtet.
Über die Benutzeroberfläche können Sie zudem leicht Pakete zur Prüfung kennzeichnen und eine bestimmte Übertragung als Zeitverweis bei der Erfassung festlegen. Eins meiner Lieblingsfeatures bei Wireshark ist die Möglichkeit, einen TCP-Datenstrom durch Auswählen dieser Option im Kontextmenü eines TCP-Pakets zu verfolgen. Ein Fenster mit einer farblich gekennzeichneten und formatierten Textansicht des TCP-Datenstrominhalts wird angezeigt, was zum Erkennen von Webanwendungsfehlern, falschen HTTP-Headern oder anderen möglichen TCP-Kommunikationsproblemen sehr praktisch ist. Hier können Sie den Nachrichtenaustausch zur späteren Untersuchung oder Vorführung schnell drucken oder speichern.
Die Funktionalität der Anwendung wurde hier nur oberflächlich behandelt. Wireshark wird unter der GPL-Lizenz veröffentlicht. Es ist nicht nur für Windows verfügbar, sondern enthält auch kompilierte Binärdateien für die meisten Versionen von Linux und FreeBSD.

Preis: Kostenlos
Mithilfe von Wireshark können Sie Ihr gesamtes Netzwerkprotokoll analysieren
Mithilfe von Wireshark können Sie Ihr gesamtes Netzwerkprotokoll analysieren

Mehr Leistung für Windows PowerShell
PowerShell Community Extensions
codeplex.com/PowerShellCX
Wenn Sie die Möglichkeit hatten, sich intensiver mit Windows PowerShellTM zu beschäftigen, sind Ihnen wahrscheinlich eine Reihe wiederkehrender Ausführungsmuster aufgefallen, für die ein Cmdlet oder Alias praktisch wäre. Zu diesem Zweck hat eine Gruppe von Windows PowerShell-Benutzern und Befürwortern der Open Source-Community das PowerShell-Communityerweiterungsprojekt ins Leben gerufen, das häufig angeforderte Funktionen in einem verteilbaren Satz von Cmdlets, Aliasen, Anbietern, Funktionen, Filtern und Skripts zusammenfasst.
Einige in diesem Paket enthaltenen Cmdlets sind Get-Clipboard und Write-Clipboard, mit deren Hilfe Sie Daten im Zwischenablagepuffer hinzufügen und abrufen können. Get-DomainController ruft eine Liste verfügbarer Domänencontroller in der aktuellen Domäne ab, und mithilfe von Write-GZip und Write-Zip können Sie GZIP- oder ZIP-Dateien schreiben.
Mit New-Symlink beziehungsweise New-Junction können Sie eine neue symbolische Verknüpfung oder Verknüpfung in Windows Vista oder Windows Server® 2008 erstellen. Es gibt einen nützlichen DirectoryServices-Anbieter, der Zugriff auf LDAP-Server wie Active Directory® und AssemblyCache gewährt, sodass Sie auf den Microsoft .NET Framework Global Assembly Cache und die darin enthaltenen Assemblys zugreifen können.
Weiterhin werden eine Reihe hervorragender Skripts bereitgestellt. Mithilfe des Set-Writable- und des Set-ReadOnly-Skripts können Sie den schreibgeschützten Status einer Datei schnell ändern. Get-Url führt ein WebRequest durch und gibt WebResponse als Zeichenfolge zurück, und Export-History sichert Ihren Befehlsverlauf in einer .clixml-Datei zur später Wiederverwendung. Sie können Informationen zur Datenträgerverwendung mit dem Get-DiskUsage-Skript erhalten oder Ihren Computer mit dem unterhaltsamen Out-Speech-Befehl sogar zum Sprechen bringen. Das Paket umfasst eine Reihe anderer nützlicher Funktionen wie Quote-List zum Verkürzen von Befehlszeileneingaben und Add-PathVariable, womit einer bestimmten Umgebung ein Satz von Pfaden hinzugefügt werden kann.
Durch dieses Projekt wird die standardmäßige Windows PowerShell-Umgebung mit einem sehr nützlichen Satz an Erweiterungen ergänzt. Wenn Sie Windows PowerShell-Experte sind, können Sie sich sicherlich mit eigenen Beiträgen an dem Projekt beteiligen.

Preis: Kostenlos
PowerShell Community Extensions stellt häufig angeforderte Funktionen bereit
PowerShell Community Extensions stellt häufig angeforderte Funktionen bereit

Greg Steen ist Technologieexperte, Unternehmer und Enthusiast. Er ist immer auf der Suche nach neuen Tools, um IT-Experten Betriebs-, Qualitätssicherungs- und Entwicklungsprozesse zu erleichtern.


 SQL&#160;– Fragen und Antworten: Nicht gruppierte Indizes und das Beibehalten von Berechtigungen
SQL – Fragen und Antworten
Nicht gruppierte Indizes und das Beibehalten von Berechtigungen
Saleem Hakani and Dan Carollo

Nicht gruppierte Indizes und ihre Verwendung
F: Was sind nicht gruppierte Indizes, und welche Vor- und Nachteile gibt es bei ihrer Verwendung?
A: Ein nicht gruppierter Index ähnelt einem Stichwortverzeichnis, wie Sie es in der Regel am Ende eines Buchs finden. Alle im Buch enthaltenen Informationen werden im Stichwortverzeichnis nach Themen aufgeführt, und es sind Zeiger in der Form von Seitenzahlen vorhanden, die den Benutzer an Informationen verweisen, die möglicherweise in verschiedenen Abschnitten des Buchs enthalten sind. Zudem sind die Daten in einem Buchindex nicht in derselben Reihenfolge aufgelistet, wie sie im Text des Buchs erscheinen. Dasselbe gilt für nicht gruppierte Indizes. Wenn ein gruppierter Index für eine Tabelle vorliegt, können Sie angeben, in welcher Reihenfolge die Elemente aufgeführt werden sollen. Ansonsten gibt es keine Möglichkeit, die Reihenfolge definitiv festzulegen.
Außerdem verfügen nicht gruppierte Indizes über zwei Einschränkungen: in den Index können nur 16 Spalten aufgenommen werden, und die maximale Größe des Indexschlüssels darf 900 Byte nicht überschreiten. Was bedeutet das also? Sehen Sie sich an, was geschieht, wenn Sie die folgenden Spalten in der Tabelle „Movie“ aus der MovieList-Beispieldatenbank indizieren möchten: MovieTitle NVarchar(50), DirectorName NVarchar(50), ShortStory NVarchar(400).
Angenommen Sie geben folgende Anweisung zum Erstellen der Tabelle aus:
Use MovieList;
CREATE INDEX Movie_IDX ON Movie(MovieTitle, DirectorName, ShortStory);
Dies führt zu folgender Fehlermeldung: „Warnung! Die maximale Schlüssellänge beträgt 900 Bytes. Der Movie_IDX-Index hat eine maximale Länge von 1000 Bytes. Bei einigen Kombinationen hoher Werte schlägt der INSERT-/UPDATE-Vorgang fehl.“ Sie erhalten die vorstehende Fehlermeldung da der „nvarchar“-Datentyp 2 Byte für jedes Zeichen nutzt. Ein Index, der die vorstehenden drei Spalten enthält, würde die Größenbegrenzung von 900 Byte überschreiten.
Mit der Veröffentlichung von SQL Server® 2005 haben Sie jetzt die Möglichkeit, dieses Problem durch Hinzufügen der Spalten zur INCLUDE-Klausel zu lösen. Es ist ein sehr nützliches Feature, wenn Sie sowohl Größen- als auch Spalteneinschränkungen überwinden wollen. Dazu führen Sie folgende Anweisung aus:
CREATE INDEX Movie_IDX ON Movie(MovieTitle, DirectorName) INCLUDE (ShortStory);
Beachten Sie, dass das Datenbankmodul beim Verwenden der INCLUDE-Klausel während der Indexerstellung Nicht-Schlüsselspalten beim Berechnen der Anzahl von Indexschlüsselspalten oder der Indexschlüsselgröße nicht in Betracht zieht.
Hilfreiche Informationen zu nicht gruppierten Indizes finden sie in den Artikeln „Nicht gruppierte Indizes“ unter msdn2.microsoft.com/aa174537 und „Verwendung nicht gruppierter Indizes“ unter msdn2.microsoft.com/aa933130. Tipps zum Optimieren von Indizes finden Sie unter sql-server-performance.com/optimizing_indexes.asp.

Beibehalten von Berechtigungsdaten
F: Wie lässt sich der Verlust von Berechtigungen vermeiden, wenn ein Abonnement reinitialisiert wird? Ich hatte schon mehrmals das Problem, dass beim Reinitialisieren eines Snapshots alle gewährten Berechtigungen verloren gehen.
A: Standardmäßig werden alle Objekte in der Abonnementdatenbank gelöscht und bei jeder Reinitialisierung eines Abonnements neu erstellt. Doch es gibt zwei Möglichkeiten zum Behandeln dieses Szenarios.
Erstens können Sie alle Berechtigungen nach dem Reinitialisieren neu anwenden. Wenn Sie Berechtigungen manuell einrichten, sollten Sie ein Skript für die Übertragung aller Objektberechtigungen/Berechtigungen auf Anweisungsebene erstellen und sie separat speichern, sodass sie sofort nach dem Reinitialisieren des Abonnements verwendet werden können.
Zweitens können Sie Ihr Abonnement so konfigurieren, dass beim Reinitialisieren des Abonnements keine Objekte gelöscht werden. Dazu können Sie die gespeicherte Systemprozedur SP_CHANGEARTICLE verwenden, um den Wert von PRE_CREATION_CMD für den Parameter @PROPERTY und den Wert NONE, DELETE oder TRUNCATE für den Parameter @Value zu konfigurieren.
Im Dialogfeld „Artikeleigenschaften“ im Zielobjektabschnitt wählen Sie außerdem Folgendes aus: „Vorhandenes Objekt unverändert beibehalten. Daten löschen. Wenn ein Artikel einen Zeilenfilter aufweist, nur die dem Filter entsprechenden Daten löschen. Alle Daten im vorhanden Objekt abschneiden.“ Probieren Sie dies unbedingt in Ihrer Testumgebung aus. Wenn Sie weitere Unterstützung brauchen, finden Sie in der aktuellen Version der SQL Server-Onlinedokumentation entsprechende Informationen.

Saleem Hakani ist Senior Database Engineer, Senior Problem Engineer und Worldwide Microsoft SQL Server Community Lead mit 14 Jahren Erfahrung im Bereich Datenbanksysteme. Er leitet die externe SQL Server-Communitywebsite sqlcommunity.com und kann unter Saleem@sqlcommunity.com erreicht werden.
Dan Carollo ist Operations Engineer und SQL Server-Datenbankadministrator, der im Windows-Team zur Erforschung und Bekämpfung von Antimalware bei Microsoft tätig ist. Er ist als MCT für SQL Server zertifiziert.


 Schwerpunkt Dienstprogramme: ADMX Migrator
Schwerpunkt Dienstprogramme
ADMX Migrator
Lance Whitney
Laden Sie den Code für diesen Artikel herunter: ADMX Migrator (2765KB)

Diejenigen unter Ihnen, die die Gruppenrichtlinie anwenden, sind natürlich vertraut mit der Verwendung administrativer Vorlagen zum Konfigurieren von Betriebssystem- und Anwendungseinstellungen. Die in Windows® und wichtiger Software wie Microsoft® Office enthaltenen ADM-Dateien decken die häufigsten Desktopkonfigurationen ab. Doch bisweilen müssen eigene ADM-Vorlagen erstellt werden, um benutzerdefinierte Einstellungen einzubeziehen. ADMs komplett neu zu entwerfen, kann eine lästige Arbeit sein, da sie ihre eigene eindeutige Syntax haben und mithilfe eines Texteditors erstellt werden müssen. Viele Gruppenrichtlinienexperten kennen sich jedoch inzwischen mit dem Erstellen eigener ADM-Dateien recht gut aus.
Mit Windows Vista® hat Microsoft das Format für Gruppenrichtlinienvorlagen auf eine XML-basierte Struktur umgeändert. Dieses neue als ADMX bezeichnete Format bietet mehrere Vorteile gegenüber alten ADM-Dateien, beispielsweise Unterstützung für mehrere Sprachen und einen zentralen Speicherort, an dem alle Vorlagen verwaltet werden können.
Das hört sich alles sehr gut an, doch was können Sie tun, wenn Sie eigene ADMX-Dateien erstellen möchten, aber nicht mit XML vertraut sind? Noch wichtiger: was geschieht mit all den benutzerdefinierten ADMs, die Sie in den vergangenen Jahren erstellt haben? Glücklicherweise gibt es das ADMX Migrator-Dienstprogramm. Dieses kostenlose, von der FullArmor Corporation entwickelte Tool, das für Microsoft lizenziert ist, bietet zwei wichtige Vorteile: Es dient zum Erstellen eigener benutzerdefinierter ADMX-Dateien sowie zum Konvertieren alter ADM-Dateien in ADMX.
Grafische Benutzeroberfläche von ADMX Migrator
Grafische Benutzeroberfläche von ADMX Migrator
Zum Erstellen von Vorlagen im neuen Format stellt ADMX Migrator den ADMX-Editor bereit, der über eine grafische Benutzeroberfläche verfügt. Ein Texteditor ist nicht mehr erforderlich. Sie erstellen Vorlagen mithilfe von Pulldownmenüs und Dropdownlisten innerhalb einer klaren und einfachen Benutzeroberfläche (siehe Abbildung). Als Erstes wählen Sie den Befehl „New Template“ (Neue Vorlage) aus, geben der Vorlagendatei einen Namen und geben eine Kategorie ein, anhand derer sie klassifiziert werden soll. Als Nächstes erstellen Sie die eigentliche Richtlinieneinstellung durch Eingeben des Registrierungsschlüssels, für den die Richtlinie gilt, des Namens des Registrierungswerts und der Klasse, auf den sie sich auswirkt (Benutzer, Computer oder beides). Sie können auch beschreiben, was die Richtlinie bewirkt.
Wenn Sie fertig sind, speichern Sie die neue Vorlage im ADMX-Format. Sie wird dabei als ADMX- und als ADML-Datei gespeichert. Die ADMX-Datei enthält die eigentlichen Richtlinieneinstellungen, und die ADML-Datei stellt sprachspezifische Informationen für die Richtlinie bereit. Sie können jetzt beide Dateien in die entsprechenden Verzeichnisse auf Ihrer Domäne kopieren und sie in die Gruppenrichtlinie integrieren.
Wahrscheinlich möchten Sie Ihre ADM-Dateien in das ADMX-Format konvertieren, um das neue Format zu nutzen. ADMX Migrator bietet zwei Konvertierungsmethoden: über den Editor oder über ein Befehlszeilenprogramm. Im ADMX-Editor wählen Sie die Option zum Generieren von ADMX aus ADM aus. Navigieren Sie zu Ihrer ADM-Datei, und das Tool konvertiert die Datei schnell und automatisch. Sie können die konvertierte Datei dann im Editor öffnen, um ihre Werte und Eigenschaften zu prüfen, und sie bei Bedarf ändern. Das ADMX Migrator-Befehlsfenster ist ein wenig komplizierter. Hier müssen Sie eine lange Befehlszeichenfolge in einer Eingabeaufforderung eingeben, um Konvertierungen durchzuführen. Es verfügt jedoch über einige Optionen sowie eine erhöhte Flexibilität, die im grafischen Editor nicht zur Verfügung stehen.
ADMX Migrator ist ein Microsoft Management Console (MMC)-Snap-In, für das sowohl MMC 3.0 als auch Microsoft .NET Framework 2.0 erforderlich ist. ADMX Migrator kann unter Windows XP SP2, Windows Server® 2003 SP1 und Windows Vista ausgeführt werden. Der Softwaredownload steht Ihnen unter go.microsoft.com/fwlink/?LinkId=77409 zur Verfügung.

Lance Whitney ist IT-Berater, Schulungsleiter und Autor technischer Artikel. Er hat sich intensiv mit dem Optimieren von Windows-Arbeitsstationen und -Servern beschäftigt. Lance Whitney ist von Haus aus Journalist und hat vor etwa 15 Jahren den Sprung ins kalte Wasser der IT-Welt getan.


 The Cable Guy: IEEE 802.1X-Authentifizierung f&#252;r Kabelnetzwerke
The Cable Guy
IEEE 802.1X-Authentifizierung für Kabelnetzwerke
Joseph Davies
Dieser Artikel basiert auf einer Vorabversion von Windows Server 2008. Die in diesem Artikel enthaltenen Informationen können jederzeit geändert werden.

Aufgrund der zunehmenden Beliebtheit der IEEE 802.1X-Authentifizierung für IEEE 802.11-Drahtlosnetzwerke möchten Netzwerkadministratoren diesen Standard auch für ihre Kabelnetzwerkverbindungen verwenden. Ein Drahtlosclient muss einen Satz von Anmeldeinformationen senden, die überprüft werden, bevor erlaubt wird, Drahtlosframes an das Intranet weiterzuleiten.
Aus demselben Grund muss ein IEEE 802.1X-Kabelclient eine Authentifizierung durchführen, bevor er seinen Switchport verwenden kann. Die IEEE 802.1X-Authentifizierung stellt eine zusätzliche Sicherheitsbarriere für Ihr Intranet bereit, mit der Sie verhindern können, dass Gastcomputer, nicht autorisierte Computer oder nicht verwaltete Computer, die keine erfolgreiche Authentifizierung durchführen können, eine Verbindung zu Ihrem Intranet herstellen können.
Die IEEE 802.1X-Authentifizierung wird von Ihren Kabelswitches wahrscheinlich bereits unterstützt und muss lediglich aktiviert und konfiguriert werden. Zur Authentifizierung und Autorisierung einer Kabelverbindung verwenden 802.1X-fähige Switches in der Regel das RADIUS-Protokoll (Remote Authentication Dial-In User Service), um Verbindungsanforderungsinformationen an einen RADIUS-Server wie z. B. einen auf Windows Server® 2008 basierenden Netzwerkrichtlinienserver (Network Policy Server, NPS) oder einen auf Windows Server 2003 basierenden IAS-Server (Internet Authentication Service, Internetauthentifizierungsdienst) zu senden.
Nachdem Sie Ihre Switches für RADIUS konfiguriert haben, aber noch bevor Sie eine 802.1X-Authentifizierung erforderlich machen, müssen Sie auf Ihren Kabelnetzwerkcomputern die 802.1X-Authentifizierung aktivieren und konfigurieren. Die IEEE 802.1X-Authentifizierung für Kabelnetzwerkverbindungen wird in Microsoft® Windows® seit Windows XP unterstützt. Sie müssen jedoch 802.1X-Authentifizierungseinstellungen in Windows XP und Windows Server 2003 auf jedem einzelnen Kabelclient manuell konfigurieren (über die Registerkarte „Authentifizierung“ für die Eigenschaften einer Netzwerkverbindung im Ordner „Netzwerkverbindungen“). Leider gibt es keine Möglichkeit, 802.1X-Kabelnetzwerkeinstellungen für diese älteren Betriebssysteme zentral zu konfigurieren oder Skripte für sie zu erstellen.
Glücklicherweise wird durch die Unterstützung von Kabelnetzwerkeinstellungen in der Gruppenrichtlinie und die Unterstützung der Skripterstellung mit dem Netsh-Tool in Windows Vista® und Windows Server 2008 die Bereitstellung von 802.1X-Kabelnetzwerkeinstellungen beträchtlich vereinfacht.

Kabelnetzwerkeinstellungen in der Gruppenrichtlinie
Verwenden des Diensts für die automatische Konfiguration von Kabelnetzwerken
In Windows XP und Windows Server 2003 wird das 802.1X-Verhalten von Kabelverbindungen durch den konfigurationsfreien Dienst für drahtlose Verbindung gesteuert. Unter diesen Betriebssystemen war dieser Dienst standardmäßig aktiviert, und Kabelnetzwerkverbindungen wurden in einen passiven Empfangsmodus geschaltet, wobei sie darauf warteten, dass der Switch die Authentifizierung initiiert.
In Windows Vista und Windows Server 2008 dagegen wird das 802.1X-Verhalten von Kabelverbindungen durch den Dienst für die automatische Konfiguration von Kabelnetzwerken gesteuert, der allerdings standardmäßig deaktiviert ist. Deshalb wird die Registerkarte „Authentifizierung“ für die Eigenschaften von Netzwerkverbindungen erst angezeigt, wenn der Dienst für die automatische Konfiguration von Kabelnetzwerken gestartet wurde.
Bei einem einzelnen Kabelclient, auf dem Windows Vista oder Windows Server 2008 ausgeführt wird, können Sie das Dienste-Snap-In verwenden, um den Dienst für die automatische Konfiguration von Kabelnetzwerken zu starten und ihn für automatischen Start zu konfigurieren. Wenn der Dienst für die automatische Konfiguration von Kabelnetzwerken gestartet wird, arbeiten die Kabelnetzwerkverbindungen in einem aktiven Empfangsmodus, in dem die Netzwerkverbindung versucht, die Authentifizierung mit dem Switch zu initiieren.
In einer Active Directory-Domäne können Sie mit der Gruppenrichtlinie den Dienst für die automatische Konfiguration von Kabelnetzwerken für automatischen Start konfigurieren. Konfigurieren Sie mit dem Snap-In für den Gruppenrichtlinienverwaltungs-Editor die Einstellung „Computerkonfiguration“ | „Windows-Einstellungen“ | „Sicherheitseinstellungen“ | „Systemdienste“ | „Automatische Konfiguration (verkabelt)“ für den automatischen Startmodus.

Zum Zentralisieren und Automatisieren der Konfiguration von Kabelnetzwerkeinstellungen unterstützen die Active Directory®-Domänendienste von Windows Server 2008 und Windows Server 2003 Kabelrichtlinieneinstellungen in der Gruppenrichtlinie. Diese Einstellungen ermöglichen Ihnen, als Teil der Gruppenrichtlinie „Computerkonfiguration“ für ein domänenbasiertes Gruppenrichtlinienobjekt Kabelnetzwerkeinstellungen zu konfigurieren.
Mit diesen Kabelrichtlinieneinstellungen können Sie für Kabelclients, auf denen Windows Server 2008 oder Windows Vista ausgeführt wird, die Authentifizierungsmethode und andere 802.1X-Einstellungen festlegen. Beim Beitreten zur Domäne, beim Hochfahren des Computers oder von Zeit zu Zeit nach dem Starten laden diese Betriebssysteme automatisch die Kabelnetzwerkeinstellungen der Gruppenrichtlinie herunter und wenden sie an. Beachten Sie, dass eine Active Directory-Domäne von Windows Server 2003 erweitert werden muss, um diese neuen Richtlinien zu unterstützen. Informationen dazu, wie eine Active Directory-Domäne von Windows Server 2003 erweitert wird, finden Sie unter technet.microsoft.com/bb727029.
Die Kabelnetzwerkrichtlinien können im Snap-In für den Gruppenrichtlinienverwaltungs-Editor über den Knoten „Computerkonfiguration“ | „Windows-Einstellungen“ | „Sicherheitseinstellungen“ | „Richtlinien für verkabelte Netzwerke (IEEE 802.3)“ konfiguriert werden. Standardmäßig sind keine Richtlinien für Kabelnetzwerke (IEEE 802.3) festgelegt. Um eine neue Richtlinie zu erstellen, klicken Sie in der Konsolenstruktur mit der rechten Maustaste auf „Richtlinien für verkabelte Netzwerke (IEEE 802.3)“, und klicken Sie anschließend auf „Eine neue Windows Vista-Richtlinie erstellen“.
Das Dialogfeld „Eigenschaften“ einer Windows Vista-Kabelnetzwerkrichtlinie besteht aus einer Registerkarte „Allgemein“ und einer Registerkarte „Sicherheit“. Abbildung 1 zeigt die Standardregisterkarte „Allgemein“. Auf der Registerkarte „Allgemein“ können Sie einen Namen und eine Beschreibung für die Richtlinie konfigurieren und außerdem festlegen, ob der Dienst für die automatische Konfiguration von Kabelnetzwerken verwendet werden soll, der das 802.1X-Verhalten von Kabelverbindungen steuert. Weitere Informationen finden Sie in der Randleiste „Verwenden des Diensts für die automatische Konfiguration von Kabelnetzwerken“ dieses Artikels.
Abbildung 1 Die Standardregisterkarte „Allgemein“ einer Windows Vista-Kabelnetzwerkrichtlinie
Abbildung 1 Die Standardregisterkarte „Allgemein“ einer Windows Vista-Kabelnetzwerkrichtlinie
Abbildung 2 zeigt die Standardregisterkarte „Sicherheit“ für eine Windows Vista-Kabelnetzwerkrichtlinie. Auf der Registerkarte „Sicherheit“ können Sie die 802.1X-Authentifizierung aktivieren oder deaktivieren, die EAP-Authentifizierungsmethode (Extensible Authentication-Protokoll) auswählen und konfigurieren, den Authentifizierungsmodus („Benutzerneuauthentifizierung“, „Nur Computer“, „Benutzerauthentifizierung“ oder „Gastauthentifizierung“) auswählen sowie die Anzahl von Authentifizierungsversuchen bis zum Abbruch des Authentifizierungsvorgangs konfigurieren und angeben, ob Benutzerinformationen für spätere Verbindungen zwischengespeichert werden sollen. Wenn Zwischenspeicherung deaktiviert ist, entfernt Windows die Anmeldeinformationsdaten des Benutzers aus der Registrierung, sobald sich der Benutzer abmeldet. In diesem Fall wird der nächste Benutzer, der sich anmeldet, zur Eingabe seiner Anmeldeinformationen (wie z. B. Benutzername und Kennwort) aufgefordert.
Abbildung 2 Die Standardregisterkarte „Sicherheit“ einer Windows Vista-Kabelnetzwerkrichtlinie
Abbildung 2 Die Standardregisterkarte „Sicherheit“ einer Windows Vista-Kabelnetzwerkrichtlinie
Wenn Sie auf der Registerkarte „Sicherheit“ auf die Schaltfläche „Erweitert“ klicken, können Sie erweiterte Einstellungen für 802.1X und einmaliges Anmelden konfigurieren. Abbildung 3 zeigt das Standarddialogfeld „Erweiterte Sicherheitseinstellungen“ für eine Windows Vista-Kabelnetzwerkrichtlinie. Im Dialogfeld „Erweiterte Sicherheitseinstellungen“ können Sie die in Abbildung 4 gezeigten 802.1X-Einstellungen konfigurieren.
Figure 4 802.1X-Einstellungen im Dialogfeld „Erweiterte Sicherheitseinstellungen“ (Close Figure 4)

Einstellung | Beschreibung
Max. EAPOL-Start-Meldungen | Die Anzahl aufeinanderfolgender EAPOL-Startnachrichten (EAP over LAN), die gesendet werden, wenn auf die anfänglichen EAPOL-Startnachrichten keine Antwort empfangen wird.
Wartezeitraum | Das Zeitintervall zwischen der erneuten Übertragung von EAPOL-Startnachrichten, wenn auf die zuvor gesendete EAPOL-Startnachricht keine Antwort empfangen wird.
Startzeitraum | Der Zeitraum, in dem der authentifizierende Client keine 802.1X-Authentifizierungsaktivität durchführt, nachdem er vom Authentifikator eine Authentifizierungsfehlermeldung empfangen hat.
Authentifizierungszeitraum | Die Wartezeit, die der authentifizierende Client verstreichen lässt, bevor er 802.1X-Anforderungen erneut überträgt, nachdem eine End-to-End-802.1X-Authentifizierung initiiert wurde.
EAPOL-Startmeldung | Zeitpunkt, zu dem der Kabelclient die EAPOL-Startnachricht sendet.
Abbildung 3 Das Standarddialogfeld „Erweiterte Sicherheitseinstellungen“ für eine Windows Vista-Kabelnetzwerkrichtlinie
Abbildung 3 Das Standarddialogfeld „Erweiterte Sicherheitseinstellungen“ für eine Windows Vista-Kabelnetzwerkrichtlinie
Kabelclients, auf denen Windows Server 2008 ausgeführt wird, unterstützen einmaliges Anmelden für Kabelverbindungen. Dieses Feature ist auch für die bevorstehende Version von Windows Vista Service Pack 1 geplant. Weitere Informationen finden Sie online unter technetmagazine.com/issues/2007/11/CableGuy.
Es gibt Einstellungen für einmaliges Anmelden zur Durchführung der benutzerbasierten 802.1X-Authentifizierung vor oder nach dem Benutzeranmeldeprozess sowie zur Angabe des Zeitintervalls, innerhalb dessen die benutzerbasierte 802.1X-Authentifizierung abgeschlossen sein muss, bevor der Benutzeranmeldeprozesses beginnt. Sie können auch festlegen, ob die Dialogfelder für die benutzerbasierte Authentifizierung über die Konsolidierung der Eingabefelder im Windows-Anmeldebildschirm hinaus angezeigt werden sollen. Wenn zum Beispiel ein EAP-Typ erfordert, dass ein Benutzer das Zertifikat bestätigt, das vom RADIUS-Server während der Authentifizierung gesendet wird, kann der EAP-Typ das Dialogfeld anzeigen.
Darüber hinaus können Sie festlegen, dass das System nach Durchführen der benutzerbasierten Authentifizierung eine Erneuerung des Dynamic Host Configuration-Protokolls (DHCP) der TCP/IP-Konfiguration des Kabeladapters initiieren soll. Wählen Sie diese Option aus, falls separate virtuelle LANs (VLANs) für computer- und benutzerbasierte authentifizierte Kabelclients vorhanden sind und falls es sich bei diesen VLANs um unterschiedliche IPv4- oder IPv6-Subnetze handelt.

Unterstützung für Skripterstellung mit dem Netsh-Tool
Windows Server 2008 und Windows Vista unterstützen Befehle im Netsh-LAN-Kontext des Netsh-Tools, mit denen Sie Kabelnetzwerkeinstellungen konfigurieren oder ein Kabelnetzwerkprofil (eine mit einem Namen versehene Gruppe von Kabelnetzwerkeinstellungen im XML-Format) exportieren oder importieren können. Durch die Befehlszeilenkonfiguration von Kabelnetzwerkeinstellungen können Sie Kabelnetzwerke einfacher bereitstellen, indem Sie automatisierte Skripts für Kabelnetzwerkeinstellungen erstellen, ohne die Gruppenrichtlinie zu verwenden. Die über „Richtlinien für verkabelte Netzwerke (IEEE 802.3)“ festgelegten Gruppenrichtlinieneinstellungen sind nur in der Active Directory-Domäne gültig. In einer Umgebung ohne Gruppenrichtlinieninfrastruktur kann ein Skript für die Automatisierung der Konfiguration von Kabelverbindungen mit einem Kabelprofil entweder manuell oder automatisch ausgeführt werden, z. B. als Teil des Anmeldeskripts.
Wenn Sie eine Befehlszeilenkonfiguration von Kabelclients vornehmen möchten, auf denen Windows Vista oder Windows Server 2008 ausgeführt wird, führen Sie Netsh-LAN-Befehle mit den entsprechenden Parametern aus. So wird beispielsweise durch den folgenden Befehl für die Netzwerkverbindung namens „LAN-Verbindung“ einmaliges Anmelden aktiviert und dafür konfiguriert, vor der Benutzeranmeldung eine Benutzerauthentifizierung durchzuführen:
netsh lan set profileparameter interface="Local Area Connection" ssomode=prelogon
Weitere Informationen zur Syntax von Netsh-LAN-Befehlen finden Sie unter technet.microsoft.com/aa905084.
Kabel-XML-Profile können mit dem Netsh-Tool von einem Kabelclient, auf dem Windows Server 2008 oder Windows Vista ausgeführt wird, exportiert und danach in einen Windows Server 2008- oder Windows Vista-Kabelclient importiert werden. Verwenden Sie zum Exportieren eines Kabelprofils den Befehl „netsh lan export profile“. Wenn Sie ein Kabelprofil importieren möchten, verwenden Sie den Befehl „netsh lan add profile“. Einige nützliche Beispiele für Kabelprofile finden Sie unter msdn2.microsoft.com/aa816372.
Durch Befehlszeilen- und XML-Profil-Unterstützung können Sie einen Kabelclient in das mit 802.1X-Authentifizierung arbeitende Kabelnetzwerk der Organisation einbinden. Ein Kabelclientcomputer, der kein Mitglied der Domäne ist, kann über Computeranmeldeinformationen keine Verbindung mit dem Kabelnetzwerk herstellen. Außerdem kann ein Computer der Domäne nicht beitreten, solange keine erfolgreiche Verbindung mit dem Kabelnetzwerk aufgebaut wurde. Die Befehlszeilen- und XML-Profil-Unterstützung ermöglicht jedoch einem Kabelcomputer, mit Benutzeranmeldeinformationen eine Verbindung zum Kabelnetzwerk einer Organisation herzustellen und danach den Computer mit der Domäne zu verknüpfen. Weitere Informationen finden Sie unter technet.microsoft.com/bb727031.

Joseph Daviesist technischer Redakteur bei Microsoft und lehrt und schreibt seit 1992 über Themen im Bereich der Windows-Netzwerke. Er hat fünf Bücher für Microsoft Press verfasst und ist der Autor der monatlich erscheinenden TechNet-Rubrik „The Cable Guy“.


 Windows PowerShell: Shellberechtigungen
Windows PowerShell
Shellberechtigungen
Don Jones
Laden Sie den Code für diesen Artikel herunter: PowerShell2008_02.exe (151KB)

Bei der Erörterung von Windows PowerShell werde ich häufig zu Berechtigungen befragt, insbesondere, wie mit der Shell Änderungen von Berechtigungen automatisiert werden können. Auf Dateiberechtigungen beziehen sich die Anfragen vielleicht am häufigsten, Verzeichnis- und Registrierungsberechtigungen werden jedoch auch oft angesprochen. Was Berechtigungen und nahezu
alle Befehlszeilen- oder Skriptingschnittstellen (einschließlich Windows PowerShellTM und VBScript) betrifft, habe ich sowohl gute als auch schlechte Nachrichten.
Die schlechte Nachricht ist, dass Berechtigungen in Windows® von Natur aus kompliziert sind, und Windows PowerShell kann daran nicht viel ändern. Das Problem rührt daher, dass es unter einem Windows-Betriebssystem mehrere Objekte im Hinblick auf Berechtigungen gibt, und zwar nahezu unabhängig davon, ob Sie das Dateisystem, Active Directory®, die Registrierung oder etwas anderes betrachten.
Zunächst ist da die Ressource selbst, beispielsweise ein Verzeichnisobjekt, eine Datei oder ein Ordner. Dies wird gefolgt vom ACL-Objekt (Access Control List, Zugriffssteuerungsliste), das an die Ressource angehängt ist. Die ACL besteht aus einem oder mehreren Zugriffssteuerungseinträgen (Access Control Entry, ACE). Ein ACE verbindet im Wesentlichen einen Sicherheitsprinzipal (ein Benutzer oder eine Gruppe, bei denen es sich um ein weiteres Objekt handelt) mit einer Berechtigung (wie beispielsweise „Lesen“ oder „Vollzugriff“) und einem Zulassungs- oder Verweigerungsstatus. Das sind nicht weniger als fünf Objekte: die Ressource, die ACL, ein ACE, ein Prinzipal, und eine Berechtigung.
Berechtigungen werden weiter durch die Tatsache verkompliziert, dass jede Art von Ressource über unterschiedliche Berechtigungstypen verfügt. Verzeichnisobjekte verfügen beispielsweise über komplizierte Berechtigungen, die den Zugriff auf individuelle Objektattribute steuern. Dateiberechtigungen sind vergleichsweise unkompliziert.
Technisch gesehen summiert sich all dies im Hinblick auf eine Überwachung. Jede Ressource verfügt in Wirklichkeit über zwei ACLs. Zunächst gibt es die DACL (Discretionary ACL), die den Zugriff auf die Ressource steuert. Dann gibt es die SACL (Security ACL), die die Überwachung der Ressource steuert. Eine Arbeit mit diesen Berechtigungen bedeutet das Durcharbeiten durch eine Reihe ziemlich kompliziert aussehender Programmierobjekte, und eine Shell wie Windows PowerShell kann diesen Prozess nur bedingt für Sie vereinfachen.

Begrenzt durch .NET Framework
Sie können nicht genug bekommen?
Weitere Windows PowerShell-Ressourcen, einschließlich einer durchsuchbaren Bibliothek mit Cmdlets, sowie Möglichkeiten zur Kontaktaufnahme mit Don Jones und anderen Windows PowerShell-Fachleuten, finden Sie unter www.PowerShellCommunity.org.

Die Eigenheiten von Windows PowerShell verkomplizieren die Dinge etwas. Da Windows PowerShell auf Microsoft® .NET Framework basiert, verwendet es die zugrunde liegenden Klassen von .NET Framework für die Verwendung von Berechtigungen. Diese zugrunde liegenden .NET Framework-Klassen wurden dafür entworfen, Softwareentwicklern präzise Kontrolle über Berechtigungen zu bieten. Selbstverständlich beinhaltet „präzise“ umfangreiche Informationen und kann ebenso als „sehr kompliziert“ bezeichnet werden.
Außerdem bietet .NET Framework keine Klassen, die die Berechtigungen in jedem Windows-Ressourcentyp repräsentieren. Während .NET Framework beispielsweise Klassen bietet, mit denen Sie die Dateisicherheit bearbeiten können, bietet es keine Klassen, mit denen Sie die Sicherheit freigegebener Ordner bearbeiten können. Dies hat zum Ergebnis, dass Windows PowerShell Berechtigungen nicht auf jedem Windows-Ressourcentyp bearbeiten kann. Vereinfacht gesagt, ist Windows PowerShell hinsichtlich der von .NET Framework zur Verfügung gestellten Funktionen begrenzt.

Berechtigungen in der Shell
Die Berechtigungsverwaltung in Windows PowerShell wird von zwei Cmdlets abgeleitet: Get-ACL und Set-ACL. Wie der Name sagt, ruft Get-ACL die ACL von einer Ressource ab. Sie können die ACL daraufhin gemäß Ihren Anforderungen ändern und Set-ACL verwenden, um sie wieder in die Ressource zu schreiben. Beide Cmdlets sind generisch und stützen sich auf das Windows PowerShell-System der PSDrive-Anbieter. Diese zwei ACL-Cmdlets funktionieren daher theoretisch mit jeder Art Ressource, vorausgesetzt, es ist ein PSDrive-Anbieter vorhanden, der eine bestimmte Art von Ressource verstehen und die Berechtigungen auf dieser Art von Ressource ändern kann. Die FileSystem- und Registrierungs-PSDrive-Anbieter, die in Windows PowerShell enthalten sind, unterstützen die Berechtigungsverwaltung über die zwei ACL-Cmdlets. (Andere PSDrive-Anbieter unterstützen dies möglicherweise nicht.)
Das in Abbildung 1 gezeigte Skript hilft Ihnen beim Angeben eines Startverzeichnisses, eines Sicherheitsprinzipals und einer Berechtigung. Das Skript wendet die Berechtigung, die Sie für diesen Prinzipal angegeben haben, auf alle Dateien und Ordner innerhalb des angegebenen Verzeichnisses an. Das Skript bezieht auch Unterverzeichnisse mit ein.
Figure 1 Anwenden einer Berechtigung für einen Prinzipal auf Dateien und Ordner in einem Verzeichnis (Close Figure 1)
#ChangeACL.ps1
$Right="FullControl"

#The possible values for Rights are
# ListDirectory, ReadData, WriteData
# CreateFiles, CreateDirectories, AppendData
# ReadExtendedAttributes, WriteExtendedAttributes, Traverse
# ExecuteFile, DeleteSubdirectoriesAndFiles, ReadAttributes
# WriteAttributes, Write, Delete
# ReadPermissions, Read, ReadAndExecute
# Modify, ChangePermissions, TakeOwnership
# Synchronize, FullControl

$StartingDir=Read-Host "What directory do you want to start at?"
$Principal=Read-Host "What security principal do you want to grant" `
"$Right to? `n Use format domain\username or domain\group"

#define a new access rule.
#note that the $rule line has been artificially broken for print purposes.
#it needs to be one line. the online version of the script is properly
#formatted.
$rule=new-object System.Security.AccessControl.FileSystemAccessRule
($Principal,$Right,"Allow")

foreach ($file in $(Get-ChildItem $StartingDir -recurse)) {
  $acl=get-acl $file.FullName

  #Add this access rule to the ACL
  $acl.SetAccessRule($rule)

  #Write the changes to the object
  set-acl $File.Fullname $acl
  }
Dieses Skript definiert im Wesentlichen eine neue Zugriffsregel in der Variablen „$rule“. Dafür verwende ich eine „rohe“ .NET Framework-Klasse, bei der es sich möglicherweise um den kompliziertesten Teil der Berechtigungsverwaltung unter Windows PowerShell handelt. Das Skript ruft daraufhin die ACL aus jeder Datei und jedem Ordner der Reihe nach ab, wendet die neue Regel mithilfe der SetAccessRule-Methode der ACL an und schreibt die geänderte ACL wieder mithilfe von Set-ACL in die Ressource.
Dies ist in Wirklichkeit nicht so kompliziert, auch wenn komplexere Vorgänge wie das Entfernen eines ACE aus einer ACL etwas aufwändiger sind. Was es meiner Meinung nach kompliziert erscheinen lässt, ist die Tatsache, dass dies so viele Schritte erfordert: Abrufen der ACL, Definieren einer Regel, Ändern der ACL und Schreiben der ACL. Es ist nicht ein einziger, klarer Befehl, der alles auf einmal durchführt. Da ich die ACL für mehrere Dateien ändern wollte, musste ich alles mit einer foreach-Schleife umschließen und Get-Childltem verwenden, um auf alle Dateien und Ordner zuzugreifen.

Ich verwende die einfachste Lösung
Cmdlet des Monats: Get-QADUser
Dieses Cmdlet ist unverzichtbar für die Verwaltung von Active Directory. Es ist nicht in Windows PowerShell integriert, ist aber als kostenloser Download als Teil von Quest Softwares ActiveRoles Management Shell for Active Directory erhältlich (www.quest.com/activeroles-server/arms.aspx).
Wenn Sie das Snap-In installiert haben, verwenden Sie Get-QADU für das Abrufen von Benutzerobjekten aus dem Verzeichnis. Die einfache Ausführung des Cmdlet gibt alle Ihre Benutzer zurück, was für die meisten administrativen Aufgaben nicht sehr hilfreich ist. Das Cmdlet ermöglicht Ihnen jedoch das Angeben von Filterkriterien, die beim Domänencontroller angewendet werden, sodass nur die Benutzer, die Sie interessieren, an die Windows PowerShell zurückgegeben werden. Dieses Verfahren ist sehr viel schneller, als zunächst alle Benutzer abzurufen und diese dann mit dem Where-Object-Cmdlet zu filtern. „Get-QADUser -l Redmond“ gibt beispielsweise nur die Benutzer zurück, deren „l“-Attribut „Redmond“ enthält. (Das Attribut „l“ steht beispielsweise für Lokalität und ist als Stadt in der GUI aufgelistet.) Sie können diese Benutzer dann zu anderen Cmdlets leiten, um einen HTML-Bericht zu erstellen, sie einer Gruppe zuzuordnen oder um sie zu löschen.

Ich finde mein Beispiel nicht kompliziert, ich weiß jedoch, dass viele Administratoren eine einfachere Methode für das Arbeiten mit Berechtigungen vorziehen würden. Möglicherweise möchten Sie eine bestimmte Benutzergruppe auf einmal aus einem Ordnersatz entfernen, jedoch kein Skript mit mehreren Schritten wie das in Abbildung 1 schreiben.
Glücklicherweise bietet Windows PowerShell eine vereinfachte Methode für das Arbeiten mit Berechtigungen, und wahrscheinlich sind Sie bereits mit diesen vertraut.
Mit Windows PowerShell müssen Sie erprobte und bewährte Vorgehensweisen nicht aufgeben. Sie können nach wie vor Befehlszeilentools wie z. B. Dsacls.exe, Cacls.exe und Xcacls.exe verwenden, die speziell entworfen wurden, um eine einfachere Methode für das Arbeiten mit unterschiedlichen Berechtigungsmethoden zu bieten. Während sich ihre Syntax vollständig von der standardisierten Syntax unterscheidet, die von Windows PowerShell-Cmdlets verwendet wird, müssen diese Befehlszeilendienstprogramme nicht mehr ad hoc in der Befehlszeile wie bei der alten cmd.exe-Shell verwendet werden. Sie können Windows PowerShell zur Automatisierung dieser Programme verwenden.
Ich bin Personen begegnet, die ich „Puristen“ nenne und die darauf bestehen, dass die Verwendung eines Befehlszeilendienstprogramms im alten Stil innerhalb von Windows PowerShell nicht richtig ist. Ich verstehe nicht ganz deren Logik. Mir geht es einfach darum, die Aufgabe zu erledigen, und wenn die einfachste Methode dafür in der Verwendung eines 10 Jahre alten Befehlszeilendienstprogramms liegt, kann ich dessen Verwendung nur befürworten. Ich werde keine zusätzlichen Stunden damit verbringen, etwas auf eine bestimmte Art zu erledigen, nur weil dies „purer“ erscheint. Das Microsoft Windows PowerShell-Team vertritt eine ähnliche Meinung. Wenn ein vorhandenes Tool für eine Aufgabe geeignet ist, lässt Windows PowerShell Sie dieses Tool innerhalb der Shell verwenden. Weshalb also das Rad neu erfinden?
Abbildung 2 zeigt ein kurzes Skript aus meinem Buch Windows PowerShell: TFM (SAPIEN Press, 2006), das Windows PowerShell für die Automatisierung von Cacls.exe verwendet. Dieses Skript ist nur ein Beispiel, und Sie müssen es ein wenig bearbeiten, um ein echtes Automatisierungstool daraus zu machen. Es zeigt jedoch, wie ein Windows PowerShell-Skript Informationen sammeln und für das Starten von Cacls.exe verwenden kann, so als ob Cacls.exe ein „systemeigener“ Windows PowerShell-Befehl wäre. (Obwohl dieses Skript Informationen durch Aufforderung des Benutzers zur Eingabe der Informationen sammelt, können die Parameter auch aus einer Datei oder Datenbank gelesen werden.)
Figure 2 Automatisieren von Cacls.exe (Close Figure 2)
#SetPermsWithCACLS.ps1
# CACLS rights are usually
# F = FullControl
# C = Change
# R = Readonly
# W = Write

$StartingDir=Read-Host "What directory do you want to start at?"
$Right=Read-Host "What CACLS right do you want to grant? Valid choices are F, C, R or W"
Switch ($Right) {
  "F" {$Null}
  "C" {$Null}
  "R" {$Null}
  "W" {$Null}
  default {
    Write-Host -foregroundcolor "Red" `
    `n $Right.ToUpper() " is an invalid choice. Please Try again."`n
    exit
  }
}

$Principal=Read-Host "What security principal do you want to grant?" `
"CACLS right"$Right.ToUpper()"to?" `n `
"Use format domain\username or domain\group"

$Verify=Read-Host `n "You are about to change permissions on all" `
"files starting at"$StartingDir.ToUpper() `n "for security"`
"principal"$Principal.ToUpper() `
"with new right of"$Right.ToUpper()"."`n `
"Do you want to continue? [Y,N]"

if ($Verify -eq "Y") {

 foreach ($file in $(Get-ChildItem $StartingDir -recurse)) {
  #display filename and old permissions
  write-Host -foregroundcolor Yellow $file.FullName
  #uncomment if you want to see old permissions
  #CACLS $file.FullName

  #ADD new permission with CACLS
  CACLS $file.FullName /E /P "${Principal}:${Right}" >$NULL

  #display new permissions
  Write-Host -foregroundcolor Green "New Permissions"
  CACLS $file.FullName
 }
}

Erfolg mit Berechtigungen?
Ich habe das Argument gehört, dass Windows PowerShell im Hinblick auf Berechtigungen unzureichend ist, da es kein systemeigenes Cmdlet bereitstellt, das eine vereinfachte, universelle Berechtigungsverwaltung bietet. Dem stimme ich nicht zu. Zunächst wird dieses Argument häufig von Administratoren mit einem starken UNIX-Hintergrund vorgebracht, und Tatsache ist, dass das Windows-Berechtigungssystem sehr viel komplizierter ist als das von UNIX verwendete. Bei einer näheren Betrachtung dieses Systems ist Windows PowerShell auch kompliziert. Dies ist jedoch nicht das Problem von Windows PowerShell.
Außerdem ermöglicht Ihnen Windows PowerShell die Verwendung vereinfachter Tools in Form von guten, alten Befehlszeilendienstprogrammen, wie ich hier veranschaulicht habe. Es ist richtig, dass .NET Framework erweitert werden muss, um die Berechtigungsverwaltung über die gesamte Windows-Plattform hinweg zu ermöglichen. Insgesamt bietet Ihnen Windows PowerShell jedoch beides: eine vereinfachte Berechtigungsverwaltung sowie Zugriff auf präzise Verwaltungstools.

Don Jones schreibt redaktionelle Beiträge für das TechNet Magazin und ist Mitautor von Windows PowerShell: TFM (SAPIEN Press, 2007). Er unterrichtet Windows PowerShell (siehe www.ScriptingTraining.com) und kann über die Website www.ScriptingAnswers.com


 Hey, Scripting Guy!: Spiele, Spiele, Spiele! Und auch etwas XML
Hey, Scripting Guy!
Spiele, Spiele, Spiele! Und auch etwas XML
Die Scripting Guys von Microsoft
Laden Sie den Code für diesen Artikel herunter: HeyScriptingGuy2008_02.exe (151KB)

Jedes Mal, wenn über die Legenden der Sportwelt gesprochen wird, werden unausweichlich dieselben Namen erwähnt: Babe Ruth. Pele. Muhammad Ali. Walter Payton. ScooterK und MrRat. Johnny –
Wirklich witzig, Sie ... ganz im Ernst? Sie wissen tatsächlich nicht, wer ScooterK und MrRat sind? Für diejenigen unter Ihnen, die offensichtlich bezüglich der Winter Scripting Games (15. Februar bis 3. März im TechNet Script Center, siehe microsoft.com/technet/scriptcenter/funzone/games) nicht auf dem Laufenden sind: ScooterK und MrRat sind wahre Legenden, Teilnehmer, die mindestens in einer Liga der Winter Scripting Games 2007 perfekte Bewertungen erzielt haben.
Das Coole daran ist: können Sie realistisch hoffen, eine Fußballlegende wie Pele zu werden? Wahrscheinlich nicht. Können Sie sich je erhoffen, der Boxweltmeister im Schwergewicht zu werden? Also, einige der Scripting Guys sind echte Schwergewichte, aber die Sache mit dem Boxweltmeister gestaltet sich dann doch etwas schwieriger. Aber Sie – ja, Sie – können durchaus der nächste ScooterK oder der nächste MrRat werden.
Hinweis: Theoretisch könnten Sie natürlich auch der nächste Babe Ruth werden. Dazu müssen Sie nur 24 Hotdogs zwischen zwei aufeinander folgenden Baseballspielen essen können.
Keine Sorge, wir erklären Ihnen, wie Sie der nächste ScooterK oder MrRat werden können (und vielleicht sogar der nächste Bizzy oder H2Data). Sie müssen nur im Script Center erscheinen und an den Scripting Games teilnehmen. Am 15. Februar veröffentlichen wir 10 verschiedene Ereignisse und fordern Sie heraus, sich an einigen oder allen dieser 10 Skriptingherausforderungen zu beteiligen. Schreiben Sie ein Skript, das das gestellte Problem löst, und senden Sie es per E-Mail an die Scripting Guys. (Umfassende Anweisungen finden Sie auf der Scripting Guys-Homepage.) Wir testen dann Ihr Skript und weisen Ihnen, wenn es funktioniert, Punkte zu. Auch Sie können eine Legende der Sportwelt werden, wenn Sie alle 10 Ereignisse erfolgreich abschließen. Oder zumindest der Skriptingsportwelt, was praktisch dasselbe ist.
Die Scripting Games (15. Februar bis 3. März) machen Spaß und sind eine Herausforderung. Das Beste daran ist: jeder kann mitmachen. Ist die Skripterstellung in der Systemverwaltung noch ziemlich neu für Sie? Dann nehmen Sie an der Liga für Anfänger teil. Es gibt separate Wettbewerbe für Anfänger in VBScript, Windows PowerShellTM und (neu in diesem Jahr) Perl. Finden Sie die Anfängerliga ein wenig zu einfach? Dann sollten Sie es in der Liga für Fortgeschrittene versuchen, in der ebenfalls Wettbewerbe in VBScript, Windows PowerShell und Perl angeboten werden.
Die Spiele (haben wir eigentlich schon erwähnt, dass sie vom 15. Februar bis 3. März stattfinden?) sind DAS Ereignis der Skriptingsaison, das Sie wirklich nicht verpassen sollten. Besuchen Sie die Script Center-Homepage noch heute, um Tipps und Tricks für das Training für diesen Wettbewerb zu erhalten, und dann wieder am 15. Februar, wenn die Spiele offiziell eröffnet werden.
15. Februar bis 3 März. Nur, falls Sie es noch nicht wissen.
Was meinen Sie? Wir stimmen Ihnen voll zu: einen neuen „Hey, Scripting Guy!“-Artikel zusätzlich zur Ankündigung der Scripting Games zu veröffentlichen, ist wahrscheinlich zu viel Aufregung für einen Monat. Doch damit die netten Menschen beim TechNet Magazin zufrieden sind (was natürlich unser Hauptziel im Leben ist), haben wir beschlossen, die Veröffentlichung eines neuen Artikels trotzdem zu riskieren.
Vor genau einem Jahr (ist das wirklich schon so lange her?) wurde in einem Artikel erläutert, wie Sie ein Skript zum Lesen einer XML-Datei verwenden können. Doch es wurde nicht erklärt, wie ein Skript zum Erstellen, Schreiben und Ändern einer XML-Datei eingesetzt werden kann. Das wird nun in diesem Monat nachgeholt. Sie würden gerne wissen, wie Sie ein Skript schreiben können, das eine XML-Datei erstellen kann? Sie müssen einfach fragen. Also gut – fragen und dann ein Jahr warten, bis wir dazu kommen, eine Antwort zu geben. Abbildung 1 zeigt das Skript. Zugegeben – es mag kompliziert aussehen, aber hier erfahren Sie, wie es funktioniert.
Figure 1 Erstellen einer XML-Datei (Close Figure 1)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

Set objRoot = _
  xmlDoc.createElement("ITChecklist")
xmlDoc.appendChild objRoot

Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord

Set objName = _
  xmlDoc.createElement("ComputerName")
objName.Text = "atl-ws-001"
objRecord.appendChild objName

Set objDate = _
  xmlDoc.createElement("AuditDate")
objDate.Text = Date
objRecord.appendChild objDate

Set objIntro = _
  xmlDoc.createProcessingInstruction _
  ("xml","version='1.0'")
xmlDoc.insertBefore _
  objIntro,xmlDoc.childNodes(0)

xmlDoc.Save "C:\Scripts\Audits.xml"
Zunächst wird eine Instanz des Microsoft. XMLDOM-Objekts erstellt. Wie Sie wahrscheinlich bereits geraten haben, ist dies das Objekt, das Ihnen die Arbeit mit XML-Dateien ermöglicht. Ihr Ziel ist das Erstellen einer einfachen XML-Datei, die wie Abbildung 2 aussieht.
Abbildung 2 Das Ziel: eine einfache XML-Datei
Abbildung 2 Das Ziel: eine einfache XML-Datei
Zum Erstellen dieser XML-Datei muss zuerst der Stammknoten (ITChecklist) erstellt werden. Wie das gemacht wird? So:
Set objRoot = _
  xmlDoc.createElement("ITChecklist")
xmlDoc.appendChild objRoot
Das war ziemlich leicht, nicht wahr? Sie mussten nur die createElement-Methode aufrufen und createElement den Namen übergeben, den der Stammknoten erhalten soll. Dann rufen Sie einfach die appendChild-Methode auf und übergeben den Objektverweis als einzigen Methodenparameter an das neue Element (objRoot). Jetzt liegt ein Stammknoten vor.
Das ist aber noch nicht alles. Als Nächstes erstellen Sie den ComputerAudit-Knoten, einen untergeordneten Knoten des ITChecklist-Knotens, der die Informationen für einen einzelnen Computer darstellt. Wie Sie sehen, ähnelt der Code zum Erstellen dieses Knotens dem Code, der zum Erstellen des Stammknotens verwendet wurde:
Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord
Der einzige Unterschied: beim Erstellen des Stammknotens wurde appendChild im XML-Dokument selbst aufgerufen. (Beachten Sie den Objektverweis xmlDoc.) Um dem Stamm einen neuen, untergeordneten Knoten hinzuzufügen, wird appendChild im Stammknoten (objRoot) anstelle im XML-Dokument aufgerufen. So einfach ist das.
Genauso einfach ist es, den ComputerName- und den AuditDate-Knoten als untergeordnete Knoten von ComputerAudit hinzuzufügen. Dazu wird ein ähnlicher Prozess durchgeführt: Rufen Sie createElement auf, um einen neuen Knoten zu erstellen, und appendChild, um diesen neuen Knoten an die Datei anzufügen.
(Schnelle Quizfrage: Wo wird appendChild dieses Mal aufgerufen? Richtig: in objRecord, dem übergeordneten Knoten (ComputerAudit), der gerade erst erstellt wurde.)
Da der ComputerName- und der AuditDate-Knoten aber Werte enthalten müssen, muss unbedingt auch ein Wert für die Text-Eigenschaft für beide Knoten angegeben werden, bevor sie dem Dokument hinzugefügt werden.
Klarer wird dies, wenn Sie sich den Code ansehen, der den ComputerName-Knoten eigentlich erstellt:
Set objName = _
  xmlDoc.createElement("ComputerName")
objName.Text = "atl-ws-001"
objRecord.appendChild objName
Wie zu erwarten, ist der Code zum Erstellen von AuditDate fast identisch. Sie müssen beim Aufrufen von createElement lediglich einen anderen Knotennamen angeben und der Text-Eigenschaft einen anderen Wert zuweisen.
Eigentlich machen wir es den Leuten viel zu einfach, finden Sie nicht?
Nach Erstellen der Knoten für den ersten (und in diesem Fall einzigen) Datensatz wird dieser nette kleine Codeblock ausgeführt:
Set objIntro = _
 xmlDoc.createProcessingInstruction _
  ("xml","version='1.0'")
xmlDoc.insertBefore _
  objIntro,xmlDoc.childNodes(0)
Damit wird einfach das <?xml version="1.0" ?>-Tag am Anfang der Datei eingefügt, was sicherstellt, dass ein gut strukturiertes XML-Dokument vorliegt.
An dieser Stelle müssen Sie nur noch die Save-Methode aufrufen und die neue Datei als C:\Scripts\Audits.xml speichern:
xmlDoc.Save "C:\Scripts\Audits.xml"
Jetzt liegt Ihnen ein ganz neues XML-Dokument vor.
Das ist wirklich ungemein nützlich: Sie wissen jetzt, wie eine völlig neue XML-Datei mithilfe eines Skripts erstellt wird. Natürlich werden Sie in den meisten Fällen wahrscheinlich keine ganz neue XML-Datei erstellen müssen. Stattdessen fügen Sie einfach neue Daten an eine vorhandene Datei an. Führen die Scripting Guys nun wohl vor, wie das gemacht wird?
Zuerst hatten wir beschlossen, dass die Antwort auf diese Frage nein lautet und wir einfach nicht vorführen würden, wie Daten an eine vorhandene XML-Datei angefügt werden. Doch da wir wirklich nette und selbstlose Menschen sind, beschlossen wir, mit den Lesern des TechNet Magazins eine Abmachung zu treffen: wenn alle Leser des Magazins bereit sind, an den Scripting Games 2008 teilzunehmen, zeigen wir Ihnen, wie ein Skript zum Anhängen von Daten an eine XML-Datei verwendet wird. Also – sind Sie alle bereit, an den Scripting Games teilzunehmen?
Hallo! Wir warten auf Ihre Antwort. Ja, Sie – der Typ in Rochester, MN.
Na also, das ist schon besser. Sie können es uns wirklich glauben: Bei den Scripting Games werden Sie jede Menge Spaß haben, denn da kommen alle auf ihre Kosten. Das versprechen wir Ihnen.
Also, abgemacht ist abgemacht, und jetzt zeigen wir Ihnen ein Skript, mit dem Daten an eine vorhandene XML-Datei angefügt werden können. Sehen Sie sich Abbildung 3 an.
Figure 3 Hinzufügungen an eine XML-Datei (Close Figure 3)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set objRoot = xmlDoc.documentElement

Set objRecord = _
  xmlDoc.createElement("ComputerAudit")
objRoot.appendChild objRecord

Set objFieldValue = _
  xmlDoc.createElement("ComputerName")
objFieldValue.Text = "atl-ws-100"
objRecord.appendChild objFieldValue

Set objFieldValue = _
  xmlDoc.createElement("AuditDate")
objFieldValue.Text = Date
objRecord.appendChild objFieldValue

xmlDoc.Save "C:\Scripts\Audits.xml"
Sie unterscheidet sich nicht allzu sehr von dem Skript, mit dem die XML-Datei erstellt wurde. Erstellen Sie zunächst eine Instanz des Microsoft.XMLDOM-Objekts, und setzen Sie die Async-Eigenschaft dann auf „False“, wodurch dem Skript mitgeteilt wird, dass das Dokument synchron statt asynchron geladen werden soll. Welchen Unterschied macht das? Nun, wenn das Dokument asynchron geladen würde, könnte das Skript fortfahren, obwohl das Dokument nicht vollständig geladen wurde. Es würde schnell Probleme verursachen, wenn Sie versuchen, eine Aufgabe an einem Dokument durchzuführen, das noch nicht existiert. Indem gewährleistet wird, dass die XML-Datei synchron geladen wird, wird ebenfalls sichergestellt, dass die Datei vollständig geladen ist, bevor das Skript fortfährt.
Apropos vollständig geladen ... aber lassen wir das lieber. Stattdessen rufen Sie die Load-Methode auf, um die Datei C:\Scripts\Audits.xml zu öffnen. Sobald die Datei geöffnet ist, verwenden Sie diese Codezeile zum Erstellen einer Instanz der documentElement-Klasse, wodurch im Endeffekt eine Anbindung an den Dokumentstamm erfolgt. In diesem Fall ist das natürlich der ITChecklist-Knoten:
Set objRoot = xmlDoc.documentElement
Jetzt bleibt nicht mehr viel zu tun. Erstellen Sie eine neue Instanz des ComputerAudit-Knotens, indem Sie die appendChild-Methode zum Hinzufügen dieses neuen Knotens zur Datei verwenden. Dann erstellen Sie neue Instanzen des ComputerName- und des AuditDate-Knotens und geben die entsprechenden Werte (atl-ws-100 beziehungsweise das aktuelle Datum) für jeden neuen Knoten an. Stellen Sie diese beiden Elemente in den neuen, gerade erstellten ComputerAudit-Knoten, und rufen Sie die Save-Methode zum Speichern der Datei auf. Wir konnten danach erfreulicherweise bereits an den Skripts für die bevorstehenden Scripting Games weiterarbeiten.
Die finden, falls wir es noch nicht erwähnt haben, vom 15. Februar bis zum 3. März im TechNet Script Center statt.
So weit so gut. Sie können eine neue XML-Datei erstellen, und Sie können dieser Datei neue Datensätze hinzufügen. Das ist schon ziemlich gut, aber es gibt noch mehr zu tun. Wie werden beispielsweise vorhandene Datensätze in der Datei geändert? Abbildung 4 zeigt zumindest eine Möglichkeit dazu.
Figure 4 Ändern der XML-Datei (Close Figure 4)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']/AuditDate")

For Each objNode in colNodes
   objNode.Text = Date
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
Der wichtige Teil dieses Skripts läuft ab, wenn die selectNodes-Methode aufgerufen wird, eine Methode, die bestimmt, welche Datensätze von der Abfrage zurückgegeben werden. Wie Sie sehen können, wurden beim Aufrufen von selectNodes sorgfältig zwei Kriterien angegeben: es sind nur Datensätze erwünscht, bei denen das ComputerName-Attribut atl-ws-100 entspricht, und es soll nur das AuditDate-Attribut zurückgegeben werden.
Hinweis: Sie meinen, das funktioniert nicht? Sehen Sie sich unseren ersten Artikel zur Arbeit mit XML-Dateien an (technetmagazine.com/issues/2007/02/HeyScriptingGuy). Dort wird die selectNodes-Abfragesyntax näher erklärt.
Wie es gewöhnlich der Fall ist, gibt selectNodes eine Sammlung aller XML-Datensätze zurück, die die angegebenen Kriterien erfüllen. Das wiederum bedeutet, dass der Wert des AuditDate-Attributs (des einzigen Attributs, nach dem gefragt wurde) aktualisiert werden kann, indem Sie einfach eine „For Each“-Schleife einrichten, die alle Elemente in der Sammlung durchläuft, und AuditDate dann in dieser Schleife einen neuen Wert zuweisen:
For Each objNode in colNodes
   objNode.Text = Date
Next
Was meinen Sie? Sie fragen sich, ob mehr als ein Attribut auf einmal geändert werden kann? Ja, das ist möglich. Aber leider nicht heute. Das ist ein Thema, das in einem zukünftigen Artikel behandelt werden muss.
Sie sagen, dass Sie noch eine Frage haben: Wie könnten Sie das Überwachungsdatum für alle Computer in der Datei aktualisieren? Das ist leicht. Sie verwenden dazu das Skript in Abbildung 5.
Figure 5 Ändern des Überwachungsdatums (Close Figure 5)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit/AuditDate")

For Each objNode in colNodes
   objNode.Text = Date
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
Der einzige Unterschied zwischen diesem Skript und dem vorherigen Skript, das zum Ändern der XML-Datei verwendet wurde? Bei diesem Skript wurde nicht angegeben, dass nur die Datensätze angezeigt werden sollten, bei denen ComputerName gleich atl-ws-100 war. Durch Auslassen dieses Kriteriums erhalten Sie standardmäßig alle Datensätze.
Zum Schluss soll noch ein Skript näher betrachtet werden. Angenommen, unser alter Freund atl-ws-100 hat zum letzten Mal Solitär gespielt und befindet sich nun im großen Computerfriedhof im Himmel.
Theologischer Hinweis: Wo enden Computer, wenn sie sterben? Wie sich gezeigt hat, landen sie gewöhnlich bei einem der Scripting Guys. Der Scripting Guy, der diesen Artikel schreibt, erhielt beispielsweise einmal einen Laptop mit dem Hinweis: „Dafür, dass Du so viel für Microsoft tust, solltest Du wirklich einen Laptop haben.“ Der einzige Nachteil dieses großzügigen Angebots? Der Computer war kaputt und ließ sich nicht einschalten. Was wahrscheinlich gut so war. Wie sich nämlich herausstellte, hatte er auch keine Festplatte.
Um den großen Siliziumlebenskreis zu schließen, müssen Sie atl-ws-100 aus der XML-Datei löschen. Wie gehen Sie dabei vor? Sehen Sie sich Abbildung 6 an.
Figure 6 Löschen aus der XML-Datei (Close Figure 6)
Set xmlDoc = _
  CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Scripts\Audits.xml")

Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']")

For Each objNode in colNodes
  xmlDoc.documentElement.removeChild _
    (objNode)
Next

xmlDoc.Save "C:\Scripts\Audits.xml"
Sie werden bemerken, dass sie dem vorherigen Skript ähnelt, mit dem die AuditDate-Eigenschaft geändert wurde. Es gibt eigentlich nur zwei Unterschiede. Zum einen wurden in der selectNodes-Abfrage keine Eigenschaftswerte angegeben, denn dann würde der ganze XML-Datensatz für atl-ws-100 zurückgegeben:
Set colNodes=xmlDoc.selectNodes _
  ("/ITChecklist/ComputerAudit " & _
   "[ComputerName = 'atl-ws-100']")
Außerdem rufen Sie in der „For Each“-Schleife einfach die removeChild-Methode auf, um alle Datensätze zu löschen, bei denen ComputerName gleich atl-ws-100 ist:
xmlDoc.documentElement.removeChild _
  (objNode)
Das ist schon alles. Lebe wohl, atl-ws-100. Wir hatten kaum Zeit, Dich kennenzulernen.
OK, liest irgendein TechNet Magazin-Redakteur noch den Artikel dieses Monats? Sie sagen, dass alle damit beschäftigt sind, das monatliche Skriptingpuzzle zu lösen? Hervorragend. Jetzt, da uns niemand über die Schulter schaut, können wir Ihnen Folgendes verraten: Lassen Sie alles stehen und liegen (auch wenn Sie gerade dieses Magazin lesen), und begeben Sie sich ins Script Center, um sich auf die Scripting Games vorzubereiten. Schließlich wird es das TechNet Magazin noch lange geben. Doch die Scripting Games finden nur einmal im Jahr und zudem nur für begrenzte Zeit statt (speziell vom 15. Februar bis zum 3. März, nur damit Sie es wissen). Verpassen Sie sie nicht!
Hinweis: Jetzt, da Sie es erwähnen ... Wir haben gewartet, bis Sie den ganzen Artikel gelesen haben, bevor wir Sie aufgefordert haben, das TechNet Magazin wegzulegen. Wie das wohl passiert ist ...

Der Scripting Perplexer von Dr. Scripto
Die monatliche Herausforderung, die nicht nur Ihre Fähigkeiten beim Lösen von Rätseln, sondern auch bei der Skripterstellung testet.

Februar 2008: Geheimnisvolle Symbole
Auf der Computertastatur befinden sich alle möglichen verrückten Zeichen. Noch verrückter ist die Tatsache, dass die meisten dieser Zeichen eine bestimmte Verwendung in den Skriptsprachen VBScript oder Windows PowerShell haben. Finden Sie heraus, ob Sie jedes Symbol seiner Verwendung in Skripts zuordnen können. Beim ersten ist dies bereits geschehen.

Der Scripting Perplexer von Dr. Scripto
Antwort: Geheimnisvolle Symbole, Februar 2008

Die Scripting Guys von Microsoft arbeiten für Microsoft (oder sind zumindest dort angestellt). Wenn sie nicht gerade ihrem Hobby, dem Baseball (oder verschiedenen anderen Aktivitäten) nachgehen, betreiben sie das TechNet Skript Center. Besuchen Sie es unter www.scriptingguys.com.


 Sicherheit auf dem Pr&#252;fstand: Inselspringen: Reduzieren unerw&#252;nschter Abh&#228;ngigkeiten
Sicherheit auf dem Prüfstand
Inselspringen: Reduzieren unerwünschter Abhängigkeiten
Jesper M. Johansson

In der Ausgabe von „Sicherheit auf dem Prüfstand“ vom vorigen Monat wurden die ersten Schritte vorgestellt, wie mit einem USB-Flashlaufwerk ein Netzwerk angegriffen werden kann. Der Angriff beginnt damit, ein infiziertes USB-Flashlaufwerk an einen Computer anzuschließen. Danach wird entweder automatisch oder mit minimaler Hilfe durch den Benutzer (unter Verwendung von einfachem Social
Engineering) der schädliche Code ausgeführt. Der erörterte Angriff blieb lokal auf die Arbeitsstation beschränkt, aber die Malware könnte sich natürlich über das restliche Netzwerk ausbreiten. Diese Art des Angriffs auf ein Netzwerk ist Thema meines demnächst erscheinenden Buchs „Windows Server 2008 Security Resource Kit“ (Microsoft Press®, 2008). Teile des entsprechenden Kapitels werden in abgewandelter Form für diesen Artikel verwendet.
Eine der Möglichkeiten, sich gegen derartige Angriffe zu schützen, besteht darin, die Verwendung von Wechsellaufwerken zu verbieten. Das mag zwar als gute Vorsichtsmaßnahme erscheinen, aber wenn Sie dies durchzusetzen versuchen, lauern Ihnen Ihre Benutzer wahrscheinlich auf dem Weg zum Auto auf (wer könnte es ihnen auch verübeln). In allen außer den empfindlichsten Umgebungen ist als Alternative vorzuziehen, möglichst mit dem bestehenden Risiko umzugehen und die Gefahr einzudämmen.
Darüber hinaus stellen Wechsellaufwerke keineswegs die einzige Möglichkeit dar, um einen Clientcomputer anzugreifen. Erinnern Sie sich noch an die „10 unveränderlichen Gesetze der Sicherheit“ (verfügbar unter microsoft.com/technet/archive/community/columns/security/essays/10imlaws.mspx)? Gesetz Nummer 3 ist in seiner Grundaussage nach wie vor wahr: „Wenn ein Angreifer uneingeschränkten physischen Zugriff auf Ihren Computer hat, gehört der Computer nicht mehr Ihnen.“ Im Kontext dieses Artikels bedeutet dies Folgendes: Wenn ein Angreifer Zugriff auf Ihren Computer hat, ist dieser Computer als gefährdet zu betrachten. Dies kann sogar durch Fernzugriff geschehen, falls der Angreifer Sie dazu bringen kann, seinen Code auf Ihrem Computer auszuführen. Folgende Aussage erkennen Sie vielleicht als Gesetz Nummer 1 der unveränderlichen Gesetze: „Wenn ein Angreifer Sie überreden kann, sein Programm auf Ihrem Computer auszuführen, gehört Ihnen Ihr Computer nicht mehr.“
Man kann ohne Weiteres davon ausgehen, dass die unveränderlichen Gesetze nach wie vor Gültigkeit haben, denn sie haben sich bisher als äußerst widerstandsfähig erwiesen und werden sich erst dann ändern, wenn sich die Funktionsweise von Computern fundamental ändert. Daher sollten Sie in Anbetracht dessen, wie diese Gesetze auf das beschriebene Szenario anzuwenden sind, das von Wechsellaufwerken ausgehende Risiko unbedingt beseitigen. Dies können Sie durch einige wenige Änderungen der Registrierung erreichen.
Sie müssen natürlich auch zusätzliche Schutzschichten verwenden. Es ist davon auszugehen, dass viele Ihrer Clientcomputer entweder bereits gefährdet sind oder von Benutzern bedient werden, denen die Sicherheit Ihrer Organisation nicht besonders am Herzen liegt. Sie müssen die Auswirkungen von Wechsellaufwerken auf das restliche Netzwerk daher reduzieren, was die Notwendigkeit erhöht, Sicherheitsabhängigkeiten zu verstehen, zu analysieren und zu reduzieren.

Definition einer Sicherheitsabhängigkeit
Eine Sicherheitsabhängigkeit liegt dann vor, wenn die Sicherheit eines Computers von der Sicherheit eines anderen Computers abhängt. Sie haben sicher schon jemanden sagen hören, dass dann, wenn ein Hacker in Ihren Domänencontroller (DC) eingedrungen ist, Ihr gesamtes Netzwerk gefährdet ist. Damit wird auf einfache Weise ausgedrückt, dass die Sicherheit aller Domänenmitglieder von den DCs abhängt. Wenn der DC nicht geschützt ist, können die Mitgliedscomputer nicht geschützt werden. Wenn ein Angreifer die Sicherheitskonfiguration der Domäne ändern kann, kann er jeden beliebigen Computer in der Domäne übernehmen, indem er beispielsweise auf einem Mitgliedscomputer der Administratorengruppe neue Konten hinzufügt. Ein Sicherheitsrisiko, das eine Gefährdung durch einen Administrator zulässt, ist dabei ohne Bedeutung. Ein Administrator muss grundsätzlich vollständigen Zugriff auf alle von ihm verwalteten Komponenten haben.
Abhängigkeiten sind in Computersystemen unvermeidlich. Sie kommen sogar sehr häufig vor und sind oft auch wünschenswert. Dies bedeutet jedoch nicht, dass alle Abhängigkeiten akzeptabel sind. In diesem Artikel wird näher betrachtet, welche Arten von Abhängigkeiten akzeptabel sind und welche nicht. Außerdem werden die Arten von Abhängigkeiten analysiert und untersucht, wie sie reduziert werden können. In „Windows Server 2008 Security Resource Kit“ werden die spezifischen Abhängigkeiten sowie ihre Verwaltung näher erläutert.

Akzeptable Abhängigkeiten
Eine Abhängigkeit ist im Allgemeinen dann akzeptabel, wenn die Sicherheit eines weniger empfindlichen System von einem empfindlicheren System abhängt. Computer und Systeme können basierend auf ihrer Empfindlichkeit in Klassen eingeteilt werden. (Der jeweilige Satz an Klassen in einer bestimmten Umgebung ist für die allgemeine Erörterung irrelevant, denn wichtig ist nur, dass jede Umgebung bestimmte Klassen mit sich bringt.) Gehen Sie im Rahmen dieser Erörterung einfach davon aus, dass zwei Klassen vorliegen: Arbeitsstationen und DCs. In diesem Szenario ist es akzeptabel, dass die Sicherheit der Arbeitsstationen von den DCs abhängt. Da die DC-Klasse weitaus empfindlicher als die Klasse der Arbeitsstationen ist, muss sie natürlich auch besser geschützt sein.
Das gleiche Argument gilt auch für Benutzerkonten. Es ist akzeptabel, dass ein Administrator die Daten eines Benutzers ändern und somit gefährden kann. Dies liegt daran, dass Administratoren mehr Verantwortung haben und über ungehinderten (wenn auch nicht immer direkten oder offensichtlichen) Zugriff auf den Computer und alles, was darauf gespeichert ist, verfügen. Wenn Sie diesen Punkt verstehen und die Computer entsprechend verwalten, ist an dieser Abhängigkeit nichts auszusetzen.
Sogar Software kann auf dieselbe Weise analysiert werden. Es ist sicherlich akzeptabel, dass eine weniger empfindliche Software wie ein Webbrowser zur eigenen Sicherheit von einer empfindlicheren Software wie dem Betriebssystem abhängt. Wenn das Betriebssystem einen Fehler enthält, ist die Tatsache, dass der Webbrowser jetzt für ein neues Problem anfällig ist, keine Überraschung und erhält in der Liste direkt zu behandelnder Probleme nur geringe Priorität, denn in erster Linie müssen die Probleme beim Betriebssystem und den anderen kritischen Anwendungen und Daten ausgeräumt werden. Dabei geht es darum, wie Fehler behoben werden oder wofür Hotfixes entwickelt werden, denn ein Fehler sollte so nah wie möglich am Kern des Problems behoben werden. Dadurch wird bei der Problembehebung eine maximale Schutzwirkung erreicht. Somit muss das Betriebssystem selbst repariert werden, statt das Problem im Webbrowser zu umgehen.
Alternativ dazu kann die Abhängigkeit auch durch eine Designänderung entfernt werden. Beispielsweise kann der Webbrowser so umgeschrieben werden, dass die Abhängigkeiten vom Betriebssystem reduziert werden. Dieses Verfahren eignet sich in Fällen, in denen die Funktionalität der sichereren Komponenten (in diesem Fall des Betriebssystems) ursprünglich nie so eingesetzt werden sollte, wie dies jetzt bei der weniger empfindlichen Komponente (dem Webbrowser) der Fall ist.

Inakzeptable Abhängigkeiten
Mit der Definition akzeptabler Abhängigkeiten dürfte auch die Definition inakzeptabler Abhängigkeiten geklärt sein. Generell darf die Sicherheit eines empfindlicheren Systems nie von einem weniger empfindlichen System abhängen.
Wenn die Gefährdung einer Arbeitsstation bedeutet, dass die Sicherheit des DCs beeinträchtigt ist, liegt ein ernsthaftes Sicherheitsproblem vor. Es ist unmöglich, ein Netzwerk zu schützen, dessen Gesamtsicherheit von der Sicherheit jedes einzelnen Computers im Netzwerk abhängt.
Betrachten Sie dies unter einem statistischen Gesichtspunkt. Wenn jeder Computer des Netzwerks zu 99,999 Prozent der Zeit „sicher“ ist, glauben Sie möglicherweise, dass dieses Netzwerk extrem sicher ist. Tatsächlich geht dieser Prozentwert wahrscheinlich weit über das hinaus, was in allen außer den kleinsten Netzwerken heutzutage realistisch ist. Nehmen Sie aber jetzt einmal an, dass Ihr Netzwerk 40.000 Computer umfasst, von denen jeder zu 0,001 Prozent der Zeit anfällig ist. Um die Sache auf die Spitze zu treiben, könnte man sagen, dass Ihr Netzwerk insgesamt zu 40 Prozent der Zeit potenziell ungeschützt ist.
Hinzu kommt natürlich, dass bei nicht verwalteten Abhängigkeiten bereits ein einziger dieser zu 0,001 Prozent der Zeit anfälligen Computer genügt, um das gesamte Netzwerk zu gefährden. Wie sicher ist das Netzwerk also unter diesen Gesichtspunkten? Es ist ohne jeden Zweifel von höchster Priorität, dass empfindlichere Systeme vor weniger empfindlichen Systemen geschützt werden müssen.
Dieses Argument kann leicht auf Benutzerkonten und Software übertragen werden. So erlaubt Ihnen beispielsweise der neue Terminaldiensteclient für Windows®, Benutzernamen und Kennwörter für eine praktisch transparente Terminaldiensteanmeldung zu speichern. Diese Anmeldeinformationen werden unter Verwendung der Anmeldeinformationsverwaltungs-API gespeichert und durch die Anmeldeinformationen der primären Anmeldesitzung geschützt.
Dies kann eine Sicherheitsabhängigkeit erzeugen. Nehmen Sie beispielsweise eine Netzwerkadministratorin, die sich bei ihrer persönlichen Arbeitsstation anmeldet. Sie verwendet diese Arbeitsstation für E-Mail, zum Surfen im Web und für andere typische Aufgaben der Datenbearbeitung. Natürlich verwendet sie zu diesem Zweck ein Domänenkonto mit niedriger Berechtigungsstufe.
Im Verlauf des Arbeitstags stellt diese Administratorin eine Verbindung zu einem der DCs her, um eine Reihe von Verwaltungsaufgaben durchzuführen. Sie verwendet dazu den Terminaldiensteclient und wählt aus, ihr Kennwort zu speichern, um die zukünftige Verbindungsaufnahme zu vereinfachen. Dies führt zu mindestens einem, möglicherweise sogar zwei inakzeptablen Sicherheitsabhängigkeiten. Die erste inakzeptable Sicherheitsabhängigkeit besteht darin, dass ihre Anmeldeinformationen für das Domänenadministratorkonto jetzt durch die Anmeldeinformationen als Datenbearbeiterin mit niedriger Berechtigungsstufe geschützt werden. Wenn dieses Benutzerkonto mit niedriger Berechtigungsstufe gefährdet wird, wird dadurch auch das Domänenadministratorkonto und somit die gesamte Domäne gefährdet.
Die zweite Abhängigkeit ergibt sich aus der Tatsache, dass administrative Domänenanmeldeinformationen auf einem Controller eingegeben wurden, der kein Domänencontroller ist. Wenn ihre persönliche Arbeitsstation nicht mindestens so gut geschützt ist wie die DCs (und dies ist wahrscheinlich nicht der Fall), dann liegt hier eine Abhängigkeit vor, bei der die Sicherheit der DCs von der Sicherheit der persönlichen Arbeitsstation dieses Benutzers abhängt. Wenn beispielsweise ein böswilliger Mitarbeiter im selben Büro auf der Arbeitsstation des Netzwerkadministrators eine Tastatureingabenprotokollierung installiert hat, wurden damit die Anmeldeinformationen für das Domänenadministratorkonto aufgezeichnet. Bei jeder Eingabe von Anmeldeinformationen für ein Domänenadministratorkonto auf einem Controller, der kein Domänencontroller ist, setzen Sie die gesamte Domäne allen Sicherheitsrisiken aus, die auf diesem Controller bestehen.
Nehmen Sie jetzt einmal an, dass ein Angreifer in einen Computer, an dem ein Domänenadministrator angemeldet ist, einmal angemeldet war oder sich einmal anmelden wird, ein Wechsellaufwerk einlegt. Dadurch wird dieser Domänenadministrator und infolgedessen auch die gesamte Domäne gefährdet. Sie müssen diese Situation unbedingt verstehen, um sie vermeiden zu können. Selbstverständlich kann dasselbe auch mit Software geschehen, wenn eine sichere Anwendung von der Funktionalität einer weniger sicheren Anwendung abhängt, um eine bestimmte Aufgabe durchzuführen.

Analyse eines Angriffs
An früherer Stelle wurde beschrieben, was beim Einlegen eines schädlichen Wechsellaufwerks in einen Computer passieren kann. Möglicherweise ist jedoch nur klar, was mit dem Computer geschieht, in den das Laufwerk ursprünglich eingelegt wurde. Angenommen der betreffende Computer ist mit einer Domäne verbunden, wie in Abbildung 1 dargestellt.
Abbildung 1 Ideale Domänenabhängigkeiten
Abbildung 1 Ideale Domänenabhängigkeiten
Das hier abgebildete Szenario stellt eine ideale Abhängigkeit dar. Die Pfeile sind Richtungspfeile und zeigen auf den Punkt, von dem die Abhängigkeit herrührt. So hängt beispielsweise die Sicherheit der Arbeitsstation von der Sicherheit des DCs und die Sicherheit des Benutzers von der Sicherheit der Arbeitsstation ab. Der Angreifer kann u. U. die Arbeitsstation gefährden, was wiederum alle Informationen gefährden würde, die der Benutzer auf dieser Arbeitsstation gespeichert hat, aber die Gefährdung wäre auf diese Stelle isoliert.
Nehmen Sie aber einmal an, dass der Benutzer, der sich bei der Arbeitsstation anmeldet, ein Mitglied der lokalen Administratorengruppe auf dem Server ist. Nehmen Sie ferner an, dass sich der Domänenadministrator oft beim Server anmeldet. Daraus ergeben sich die in Abbildung 2 gezeigten Abhängigkeiten.
Abbildung 2 Gefährdete Domänenabhängigkeiten
Abbildung 2 Gefährdete Domänenabhängigkeiten
Allein durch die Änderung der Annahme, wer sich bei den betreffenden Computern angemeldet hat, wurde die Sicherheit des gesamten Netzwerks gefährdet. Da sich ein Domänenadministrator beim Server anmeldet, hängt die Sicherheit des DC und somit die Sicherheit der ganzen Domäne von der Sicherheit dieses Servers ab.
Dies wäre akzeptabel, wenn der Server so sicher wie der DC verwaltet würde. In diesem Fall jedoch ist ein Benutzer, der sich bei der Arbeitsstation anmeldet, ein Mitglied der Administratorengruppe auf dem Server. Infolgedessen hängt die Sicherheit des Servers von der Sicherheit der Arbeitsstation ab. Die Sicherheit der ganzen Domäne hängt demzufolge von der Sicherheit der Arbeitsstation ab. Wissen Sie, was als Nächstes passiert ist? Der Benutzer dieser Arbeitsstation hat soeben unwissentlich das Tool des Angreifers ausgeführt.
Es gibt in der heutigen Welt der Informationssicherheit wahrscheinlich nur wenige Konzepte, deren Verständnis dringlicher ist, als das Konzept der Sicherheitsabhängigkeiten. Wenn Sie Ihr Netzwerk erst einmal analysieren, um die verschiedenen Abhängigkeiten festzustellen, werden Sie mit großer Wahrscheinlichkeit auf inakzeptable Abhängigkeiten stoßen. Im denkbar schlimmsten Fall, der weitaus häufiger vorliegt, als Sie glauben, hängt die Sicherheit des gesamten Netzwerks vom gesamten Netzwerk ab. Mit anderen Worten: Die Sicherheit jedes einzelnen Computers hängt in gewisser Weise von der Sicherheit jedes anderen Computers ab. Aus diesem Grund ist es unmöglich, in dieser Art von Umgebung eine vernünftige und realistische Risikoverwaltungsstrategie einzurichten, da die Beziehungen nicht kontrolliert werden können und die Komplexität unüberschaubar ist. Die Lösung besteht darin, Abhängigkeiten zu analysieren und zu verwalten.
In diesem Artikel wurde lediglich ein kurzer Überblick über Abhängigkeiten vorgestellt und kurz angedeutet, wie sich diese Abhängigkeiten analysieren und reduzieren lassen. Weitere Informationen finden Sie in meinem Buch „Windows Server 2008 Security Resource Kit“. Es enthält ein ganzes Kapitel, das dem Schutz von Netzwerken gewidmet ist. Dabei werden zur Analyse und Verwaltung von Abhängigkeiten sowohl raffinierte Verfahren wie Server- und Domänenisolation als auch einfachere Methoden wie die Administratorkontoverwaltung eingesetzt.
Ich danke David LeBlanc für seine Hilfe bei der Ausarbeitung der Ideen für diesen Artikel.

Jesper M. Johansson ist Softwarearchitekt, der an Problemen mit der Softwaresicherheit arbeitet und redaktionelle Beiträge für das TechNet Magazin schreibt. Johansson verfügt über einen PhD in MIS und besitzt mehr als 20 Jahre Erfahrung im Bereich Sicherheit.


 Die Desktopdateien: Duales Starten mit Windows&#160;XP und Windows&#160;PE&#160;2.0
Die Desktopdateien
Duales Starten mit Windows XP und Windows PE 2.0
Wes Miller
Laden Sie den Code für diesen Artikel herunter: Desktop2008_02.exe (151KB)

In früheren Artikeln der Rubrik „Die Desktopdateien“ habe ich erwähnt, dass Windows PE zu einem Tool für die Wiederherstellung geworden ist, und ich habe erklärt, wie Sie es von einer zweiten Partition aus verwenden können. Eine Anfrage, die ich vor kurzem erhalten habe, hat mich auf den Gedanken gebracht, dass es sinnvoll sein könnte, dies unter einem neuen Gesichtspunkt zu betrachten – der gemeinsamen Verwendung von Windows PE 2.0 und Windows XP.
Schließlich verwenden möglicherweise viele von Ihnen Windows® XP bereits seit einiger Zeit, und Windows PE 2.0 ist die Version, die von Microsoft zukünftig unterstützt wird. (Beachten Sie, dass es keine weiteren Updates für Windows PE 1.x geben wird.)
Ein wichtiger Unterschied zwischen Windows PE 1.x und 2.x besteht darin, dass Windows PE 2.x über eine Standardstartschnittstelle gestartet werden kann (im Unterschied zu der speziellen Methode, die bei Windows PE 1.x verwendet wird). Obwohl Sie Windows PE 1.x oder 2.x von einer zweiten Partition starten können, eröffnen sich durch den bequemen Start von derselben Startpartition, auf der Ihr Betriebssystem installiert ist, zahlreiche Möglichkeiten, auf die ich in Kürze eingehen werde.

Zwei Startvorgänge für Windows
Windows NT® war schon immer gegenüber dualem Starten relativ tolerant. Da jedoch EFI-basierte Computer (Extensible Firmware Interface) begonnen haben, das alte AT-BIOS von IBM-PCs zu ersetzen, hat Microsoft den Windows-Startmechanismus geändert, damit er besser in Verbindung mit EFI funktioniert und ein einziger Startmechanismus für alle Architekturen vorhanden ist. Der neue Startmechanismus für Windows, der mit Windows Vista® eingeführt wurde, wird als Startkonfigurationsdatenbank (Boot Configuration Database, BCD) bezeichnet (siehe microsoft.com/whdc/system/platform/firmware/bcd.mspx). Unabhängig davon, ob die alte Datei „boot.ini“ oder der neue BCD-Mechanismus verwendet wird, kann Windows jedoch in der Regel andere Betriebssysteme starten, selbst wenn dies bedeutet, dass der Startvorgang einem anderen Startladeprogramm überlassen wird.
Bevor Sie beginnen, sollten Sie sich in Erinnerung rufen, dass Windows PE 2.0 nur auf Systemen funktioniert, die vollständig mit ACPI (Advanced Configuration and Power Interface) kompatibel sind und über 384 MB (im Idealfall 512 MB) RAM verfügen. Wie ich in meinem Artikel vom Mai (technetmagazine.com/issues/2007/05/DesktopFiles) angemerkt habe, kann Windows PE 2.0 auf nicht mit ACPI kompatiblen Systemen nicht gestartet werden, und da Windows PE 2.0 zu einer RAMDisk starten muss, muss ausreichend RAM für die RAMDisk, für einen Speicherbereich für temporäre Dateien sowie für alle RAM-Arbeitsseiten vorhanden sein. Wenn Ihr System über weniger als 384 MB RAM verfügt, sollten Sie den Gedanken an diese Möglichkeit gleich verwerfen. Verwenden Sie stattdessen Windows PE 1.6. Selbst wenn Sie darin geübt sind, die Größe von Windows PE zu verringern, können Sie nicht erreichen, dass das Betriebssystem mit 256 MB ordnungsgemäß ausgeführt wird.

Behebbare Probleme
Im Folgenden werden die Probleme betrachtet, die Sie lösen können, indem Sie Windows PE 2.0 von der gleichen Partition wie Windows XP starten.
Vollständige Systemwiederherstellung Dies ist nur eine der Aufgaben, die durch direktes Starten von Windows PE von der Windows XP-Partition ermöglicht werden. Da Windows PE 2.0 (wie zuvor Windows PE 1.6) vollständig in einer RAMDisk gestartet werden kann, können Sie ein neues Abbild des gesamten Datenträgers erstellen – oder mit ImageX die Windows XP-Dateien selbst wiederherstellen, da kein Abbild der gesamten Partition erstellt werden muss.
Wenn den Benutzern beim Systemstart ermöglicht wird, Windows PE zu starten, können sie ihre eigenen Systeme selbst von einem Remotestandort aus wiederherstellen. Das Abbild könnte von einer sekundären Partition, einer Netzwerkfreigabe (wenn die Benutzer nicht mobil arbeiten) oder von einer Wiederherstellungs-DVD oder USB-Festplatte stammen. Wenn Sie ImageX verwenden, könnten Sie das Abbild sogar auf der Partition speichern, die wiederhergestellt wird. Diese Art der Wiederherstellung von einem Datenträger stellt eine hervorragende Lösung für zahlreiche Probleme dar (mit Ausnahme der physischen Datenträgerbeschädigung). Natürlich eignet sie sich nur bedingt für die Wiederherstellung von Benutzerdaten, sofern diese Daten nicht zuerst geschützt und dann im Rahmen der Wiederherstellung wiederhergestellt werden. Denken Sie daran, dass Sie Roamingprofile verwenden und Daten vom PC sichern sollten, um diese Art von Verlusten zu verhindern. Sie sollten auch sicherstellen, dass jede von Ihnen verwendete Wiederherstellungsmethode potenzielle Datenverluste für den Benutzer verringern kann (einschließlich Verlusten aufgrund des Zurücksetzens von EFS-Verschlüsselungsschlüsseln).
Dateiwiederherstellung Windows PE bietet auch eine Methode, mit der ein System auch dann hochgefahren werden kann, wenn sich die primäre Installation von Windows nicht starten lässt. In diesem Fall können Sie das Starten und Wiederherstellen der Benutzerdaten entweder auf einem anderen System (sofern betriebsbereite Sicherungssysteme für Benutzer zur Verfügung stehen) oder an einem anderen Speicherort vornehmen, damit der Benutzer seine Arbeit bald fortsetzen kann.
Systemreparatur Durch Starten von Windows PE unter Windows XP können Sie auch ein System durch Ausführen eines Satzes von Problembehandlungsskripts oder einer einfachen benutzergesteuerten Reparatur- oder Wiederherstellungsanwendung reparieren. Der Prozess ähnelt der vollständigen Systemwiederherstellung, ist jedoch weniger umfangreich (und es werden keine Benutzerdaten gefährdet).
Da Sie jetzt eine gewisse Vorstellung davon haben, welche Möglichkeiten Ihnen das Starten von Windows PE auf der Windows XP-Partition bietet, betrachten wir nun die Vorgänge im Hintergrund, damit Sie den Prozess auf jede gewünschte Lösung anwenden können.

Vor Windows Vista
Vor der Einführung von Windows Vista wurden auf BIOS/Master Boot Record (MBR) basierende Systeme folgendermaßen gestartet. Das BIOS zeigte auf das Startgerät (im Fall der Festplatte zeigt es auf den MBR auf der Festplatte). Der MBR führte Code aus, der angab, welche Partition gestartet werden sollte. Beachten Sie, dass es sich hierbei um die erste Partition handelt, für die das „Aktiv“-Kennzeichen gesetzt ist. In den ganz frühen Versionen von diskpart konnten Sie keine Partition inaktiv machen (d. h. Sie konnten das „Aktiv“-Kennzeichen nicht entfernen). Der Schalter wurde diskpart zur Behebung dieses Problems hinzugefügt – andernfalls würde das „Aktiv“-Kennzeichen für die in der Reihenfolge der Partitionstabellen an erster Stelle stehende Partition eingestellt. Die Partition enthält den Startsektor, der ihr mitteilt, welcher Code als Nächstes ausgeführt werden soll. Von Windows NT bis Windows Server® 2003 befindet sich der auszuführende Code in einer Datei namens „ntldr“, die keine Dateierweiterung aufweist. Wenn Sie jemals einen Datenträger formatiert, Windows nicht installiert und dann versucht haben, das System zu starten, kennen Sie die Fehlermeldung „NTLDR nicht gefunden“.
Es wird Sie interessieren, dass ntldr vollständig abwärtskompatibel ist – aber natürlich ist die Datei nicht aufwärtskompatibel. Dies bedeutet, dass ntldr von Windows XP Windows 2000 starten kann, aber nicht umgekehrt. Daher ist es stets wichtig, das ältere Betriebssystem zuerst zu installieren, wenn Sie ein Dual-Boot planen. Da ntldr keine Versionsnummer aufweist, ist es sogar noch wichtiger, dieses Verfahren zu befolgen.
Ntldr ist eine Realmodusanwendung (16-Bit-Anwendung), die NTDetect.com startet, wodurch die grundlegende Geräteerkennung durchgeführt wird. Anschließend startet ntldr den Kernel, ntoskrnl.exe. (Dabei kann es sich um eine von mehreren Dateien handeln, die stets in ntoskrnl.exe umbenannt werden.) Der Kernel ist die zentrale Komponente beim Windows-Startvorgang.
Diese Zusammenfassung des Startvorgangs ist recht einfach gehalten, und ich habe die gesamte Initialisierung von Win32® ausgelassen, die für diesen Artikel jedoch nicht relevant ist. Wenn Sie weitere Informationen dazu benötigen, empfehle ich Ihnen, „Windows Internals“, vierte Ausgabe, von Mark Russinovich und David Solomon (Microsoft Press®, 2004) zu lesen.
Ein weiterer beachtenswerter Punkt besteht darin, dass Windows Setup und Windows PE setupldr.bin anstelle von ntldr ausführen, wenn Sie von CD starten. Diese Datei enthält leicht abweichenden Startcode, damit sie von CD starten kann (wozu ntldr nicht in der Lage ist). Daher haben Sie zum Starten von Windows PE 1.x setupldr.bin in ntldr umbenannt und auf einem Datenträger gespeichert. Aus demselben Grund konnte diese Datei dann keine boot.ini-Datei laden (da setupldr.bin nur für das Starten von CD vorgesehen war und daher nicht erwartet wurde, dass boot.ini erforderlich sein könnte).

Windows Vista und darüber hinaus
Bei Windows Vista wurden viele Teile des Startvorgangs geändert. In Windows Server 2008 erfolgt eine weitere Änderung, indem IA32 (32-Bit-Unterstützung) für das Starten von EFI ermöglicht wird, was bisher außerhalb von Itanium-basierten Systemen nicht möglich war. Für BIOS-basierte Systeme bleiben die ersten Schritte des Startvorgangs weitgehend unverändert. Der Hauptunterschied besteht darin, dass BOOTMGR das Startladeprogramm ist, das initialisiert wird und dann die folgenden Schritte durchführt.
Es sucht im Startverzeichnis nach der BCD-Datei, die gewissermaßen ihre eigene Registrierungsstruktur ist. Die BCD-Datei enthält die zu startenden Starteinträge (einschließlich des Standards). Abbildung 1 zeigt die Abbildtypen (ausführbare Dateitypen) und Abbildung 2 die spezifischen zu startenden Anwendungstypen. Einer (oder mehrere) dieser Einträge kann ein Verweis auf ntldr sein. Nur einer von ihnen kann tatsächlich auf die bekannte GUID verweisen, die zum Laden von ntldr verwendet wird (siehe fünfte Zeile von Abbildung 3). Dann entscheidet bootmgr, welcher Eintrag als Nächster zu laden ist. Dies ist davon abhängig, ob das System gestartet wird, sich im Ruhezustand befand oder zu ntldr oder einem anderen Start-Manager startet (in welchem Fall bootmgr auf einen anderen Startsektor zeigen und dieses Ladeprogramm starten würde). Dies wäre am häufigsten der Fall, wenn Sie ein Dual-Boot mit einem anderen Betriebssystem als Windows durchführen würden. Weitere Informationen finden Sie unter microsoft.com/whdc/system/platform/firmware/bcd.mspx.
Figure 3 Standardanwendungsobjekte (Close Figure 3)

Beschreibung | BCDEdit-ID | GUID
Windows-Start-Manager | {bootmgr} | 9dea862c-5cdd-4e70-acc1-f32b344d4795
Start-Manager für Firmware | {fwbootmgr} | a5a30fa2-3d06-4e9f-b5f4-a01df9d1fcba
Windows-Speichertestprogramm | {memdiag} | b2721d73-1db4-4c62-bf78-c548a880142d
Windows-Fortsetzungsanwendung | Kein Alias | 147aa509-0358-4473-b83b-d950dda00615
Legacy-Windows-Ladeprogramm | {ntldr} | 466f5a88-0af2-4f76-9038-095b170dc21c
Aktueller Starteintrag | {current} | fa926493-6f1c-4193-a414-58f0b2456d1e
Standardstarteintrag | {default} | keine vordefinierte GUID
Figure 2 Anwendungstypen (Close Figure 2)

Beschreibung | Wert | Beschreibung
Start-Manager für Firmware | 0x1 | Gilt nur für EFI-Systeme.
Windows-Start-Manager | 0x2 | Steuert den Startfluss. Zeigt in einem Dual-Boot-System für Benutzer ein Startauswahlmenü an.
Windows-Startladeprogramm | 0x3 | Lädt eine bestimmte Version oder Konfiguration von Windows.
Windows-Fortsetzungsanwendung | 0x4 | Stellt den Ausführungsstatus von Windows wieder her, wenn ein Computer nach dem Ruhezustand die Arbeit wieder aufnimmt.
Windows-Speichertestprogramm | 0x5 | Eine Speicherdiagnoseanwendung.
Ntldr | 0x6 | Gilt nur für PC/AT-BIOS-Systeme. Lädt Windows-Versionen vor Windows Vista.
Startsektor | 0x8 | Eine 16-Bit-Realmodusanwendung. Gilt nur für PC/AT-BIOS-Systeme. Kann verwendet werden, um den Startvorgang neu zu starten und ein anderes Betriebssystem als Windows zu laden.
Figure 1 Abbildtypen (Close Figure 1)

Beschreibung | Wert
Firmwareanwendung | 0x1
Startanwendung | 0x2
Ntldr-basiertes Ladeprogrammobjekt | 0x3
Realmodusanwendung | 0x4
Sie werden feststellen, dass die überarbeitete Startinfrastruktur von Windows Vista viel übersichtlicher ist als frühere Versionen – außerhalb von bootmgr befindet sich der gesamte Startcode im Verzeichnis „\boot“ auf der Stammebene und wird an Windows-spezifische Binärdateien übergeben, wenn dies von BCD angegeben wird.

Starten von Windows XP und Windows PE 2.0
Wahrscheinlich beginnen Sie jetzt zu verstehen, wie Windows PE unter Verwendung des Windows Vista-Start-Managers als Vermittler dienen kann, der es Ihnen ermöglicht, Windows XP oder frühere Versionen von Windows zu starten, während Windows PE 2.0 als integriertes Wiederherstellungstool hinzugefügt wird.
Natürlich werden Sie dem Startvorgang einen weiteren Schritt hinzufügen, der jedoch von Microsoft entwickelt wurde. Da die neue bootmgr-Infrastruktur mit der vorhandenen ntldr-Datei und anderen Start-Managern von Drittanbietern abwärtskompatibel sein musste, wurde bootmgr bewusst zur Unterstützung solcher Lösungen entwickelt.
Nachdem Sie nun wissen, wie Windows gestartet wird und wie die neue BCD-Datei funktioniert, stellt sich die Frage, wie Sie die beiden Komponenten verbinden und Windows PE 2.0 auf Ihrer vorhandenen Windows XP-Installation starten können. Es gibt zwei Möglichkeiten für das Anlegen des Windows Vista-Startsektors – jenes Teils des Startcodes, der das System anweist, bootmgr zu starten. Eine von ihnen besteht darin, diskpart zu verwenden und eine neue Partition mit Windows PE 2.0 zu erstellen und zu formatieren. Dies scheidet in diesem Fall jedoch aus, da Sie bereits über eine vorhandene Windows XP-Installation verfügen, die Sie nicht beschädigen oder verschieben möchten. Führen Sie stattdessen den folgenden Prozess durch:
  1. Stellen Sie sicher, dass Sie auf Ihrer Start-CD für Windows PE 2.0 über eine Kopie von bootsect.exe und bcdedit.exe verfügen (diese sind auf Ihrer Installations-DVD für Windows Vista zu finden).
  2. Starten Sie Ihr Windows XP-System mit der Windows PE 2.0-CD.
  3. Führen Sie nach dem Systemstart den folgenden Befehl aus:
    bootsect.exe /NT60 ALL
Dadurch wird als Startsektor der mit Windows Vista kompatible Startsektor festgelegt, der bootmgr starten kann.
4. Kopieren Sie den Start-Manager auf die Festplatte:
    xcopy BOOTMGR C:\BOOTMGR /I
5. Kopieren Sie die Datei „boot.SDI“ in das Verzeichnis „\BOOT“ auf der Festplatte. Sie müssen eine Kopie dieser Datei erstellen, bevor Sie das System starten, da sie während der Ausführung von Windows PE gesperrt ist und nicht kopiert werden kann:
    xcopy BOOT.SDI C:\BOOT\
Korrigieren Sie den Quellpfad entsprechend.
6. Kopieren Sie boot.WIM auf die Festplatte. Wie bei der SDI-Datei sollten Sie über eine sekundäre Kopie verfügen, da Sie die Datei nicht kopieren können, von der aus die Ausführung erfolgt:
    xcopy BOOT.WIM C:\BOOT\BOOT.WIM
Korrigieren Sie den Quellpfad entsprechend.
7. Erstellen Sie jetzt einen neuen BCD-Speicher:
    bcdedit /createstore
8. Erstellen Sie als Nächstes die BCD-Einträge zum Laden von Windows PE:
    bcdedit /create {ramdiskoptions} /d
    "Boot Windows PE"
    bcdedit /set {ramdiskoptions}
    ramdisksdidevice partition=c:
    bcdedit /set {ramdiskoptions}
    ramdisksdipath \boot\boot.sdi
    bcdedit /create /d "Windows PE" /
    application
    OSLOADER
9. Die letzte Zeile gibt eine GUID zurück. Ersetzen Sie {YOURGUID} durch die konkrete zurückgegebene GUID. Dies sind die Einträge für RAMDisk, durch die Windows PE von Ihrer Festplatte gestartet wird, wie in Abbildung 4 dargestellt.
Figure 4 Einträge für RAMDisk, durch die Windows PE von Ihrer Festplatte gestartet wird (Close Figure 4)
bcdedit /set {YOURGUID} device ramdisk=[c:]\boot\boot.wim,{ramdiskoptions}
bcdedit /set{YOURGUID} path \windows\system32\winload.exe
bcdedit /{YOURGUID} osdeviceramdisk=[c:]\boot\boot.wim,{ramdiskoptions}
bcdedit /set{YOURGUID} systemroot \windows
bcdedit /set{YOURGUID} winpe yes
bcdedit /set {YOURGUID} detecthal yes
10. Erstellen Sie jetzt bootmgr-Einträge, damit der Start-Manager gestartet wird:
    bcdedit /create {bootmgr} /d
    "Boot Manager"
    bcdedit /set {bootmgr} device boot
11. Richten Sie abschließend einen BCD-Eintrag für Ihre vorhandene Windows-Installation ein. (Ändern Sie den Anzeigetext von „Windows XP“ in den Text, der im Startmenü des Start-Managers angezeigt werden soll.) Durch den letzten Befehl wird auch festgelegt, dass er der erste Eintrag (der Standardeintrag) im Startmenü ist:
    bcdedit /create {ntldr} /d "Windows XP"
    bcdedit /set {ntldr} device partition=C:
    bcdedit /set {ntldr} path \ntldr
    bcdedit /displayorder {ntldr} /addfirst
12. Sie sollten jetzt in der Lage sein, Ihr System neu zu starten und es entweder die frühere Installation von Windows oder Windows PE 2.0 starten zu lassen, indem Sie den entsprechenden Eintrag im Startmenü auswählen. Abbildung 5 zeigt die Beispielausgabe von „bcdedit /enum all“. Dieser Befehl listet alle Einträge in der BCD-Datei auf, nachdem die Einträge hinzugefügt wurden (erfolgt von Windows PE 1.6 aus).
Beispieleingabe
Ich arbeite seit einiger Zeit an einem Skript, das diese Aufgabe automatisch durchführen kann. Derzeit kann es nur die Startdateien auf die Festplatte kopieren und die BCD-Einträge einrichten. Es kann den Startsektor nicht auf den neuen Wert von Windows Server 2008 einstellen, während Windows ausgeführt wird – dieser Vorgang muss offline unter Windows PE durchgeführt werden. Sie finden das Skript im Bereich mit den Codedownloads auf der TechNet Magazin-Website unter technetmagazine.com. Um das Skript ausführen zu können, sollten sich die folgenden Elemente im gleichen Verzeichnis wie das VBScript befinden, das Sie ausführen:
  1. BCDEdit
  2. BOOTMGR
  3. Ein \BOOT\-Verzeichnis (von den Windows Vista- oder Windows PE 2.0-Medien)
  4. Ein \SOURCES\-Verzeichnis mit einer gültigen, startbaren BOOT.WIM-Datei von Windows PE 2.0
Dadurch wird die BCD-Datei erstellt, und die entsprechenden Startdateien werden kopiert. Nach dem Starten von Windows PE und dem Ausführen von bootsect sollten Sie ein Dual-Boot durchführen können.

Rückgängigmachen des Dual-Boot
Das Rückgängigmachen des Dual-Boot ist sogar noch einfacher als seine Einrichtung. Sie müssen lediglich den vor Windows Vista verwendeten Startsektor wiederherstellen, indem Sie den folgenden Befehl ausführen:
bootsect.exe /NT52 ALL
Nach der Wiederherstellung des Startsektors können Sie bootmgr und das Verzeichnis „\boot“ löschen. Beim nächsten Neustart erzwingt der Startsektor, dass stattdessen ntldr gestartet wird, und Windows PE 2.0 sowie alle Startbinärdateien von Windows Vista werden vollständig aus dem Startfluss entfernt.

Wes Miller ist technischer Produktmanager bei Initiate Systems (InitiateSystems.com) in Austin, Texas. Davor arbeitete er bei Winternals Software und als Programmmanager für Microsoft. Sie können Wes Miller unter technet@getwired.com erreichen.


 Berichte aus der Praxis: Spenden Sie Ihren PC
Berichte aus der Praxis
Spenden Sie Ihren PC
Jim Lynch

Jahrelang wurde eine Studie von Frances O'Brien von der Gartner Group aus dem Jahr 2003 über die kostengünstigste Möglichkeit zur Entsorgung von Computern als maßgeblich angesehen, die den Titel „PC Disposal: TCO's Last Surprise" trug. In dieser vergleichenden Analyse der PC-Entsorgung wurde festgestellt, dass das Spenden von Geräten die teuerste Option (von sechs Entsorgungsoptionen) war, weil es zu viel Zeit in Anspruch nahm, eine Wohltätigkeitsorganisation für die Annahme von Spenden zu finden.
Tipps für das Spenden
TechSoup.org vermittelt zusätzliche Tipps für das Spenden sowie den Erhalt von Spenden unter techsoup.org/recycle. Es gilt einige Dinge zu beachten, bevor Sie eine Spende leisten:
  • Bewahren Sie IT-Ausrüstung nicht auf, nachdem Sie neue Hardware angeschafft haben. Computerausstattung verliert ihren Wiederverwendungswert nach fünf Jahren. Handys erreichen ihr End-of-Life in der Regel schon nach drei Jahren.
  • Spenden Sie IT-Ausrüstung, die weniger als fünf Jahre alt ist, an Instandsetzungsunternehmen statt direkt an gemeinnützige Organisationen oder Schulen.
  • Verpacken Sie das Zubehör zusammen mit den Geräten, also Tastatur, Maus, Drucker, Modem, Softwaredatenträger und entsprechende Handbücher.
  • Bewahren Sie eine Liste der Dinge auf, die Sie gespendet haben, und lassen Sie sich einen Beleg ausstellen. Möglicherweise können Sie die Spende von der Steuer absetzen, wenn sie an eine gemeinnützige Instandsetzungsorganisation geleistet wurde. In den USA können Unternehmen, die Spenden leisten, den nicht abgeschriebenen Wert des Computers absetzen, während Einzelpersonen den aktuellen Marktwert eines Computers absetzen können. Zum Bestimmen des angemessenen Marktpreises eines Computers finden Sie kostenlose Informationen beim kanadischen Used Computer Evaluator (servlets.edeal.com/servlets/PcEval).

Heute hat sich die Situation geändert. So hat die US-Umweltschutzbehörde (EPA) eine neue Kampagne mit der Bezeichnung „Do the PC Thing“ anlaufen lassen, die Benutzern erklärt, wie sie ihre alte Hardware zur Wiederverwendung vorbereiten können, und eine Liste mit Ressourcen bereitstellt. Diese Kampagne ist Teil der EPA-Website zur Erhöhung des öffentlichen Bewusstseins in Bezug auf Recycling und Wiederverwendung von Elektronik mit der Bezeichnung Plug-In To eCycling (epa.gov/plugin/). Klicken Sie auf den Link „Reuse It!“, um auf Artikel zuzugreifen, die sich an Verbraucher oder Unternehmen richten.
Auf dieser Website erfahren Sie, dass das wichtigste Problem in Bezug auf das Spenden oder Wiederverwerten von Hardware der eigene Schutz ist. Die „Do the PC Thing“-Literatur bietet grundlegende Hinweise zum Bereinigen von Festplatten und zu den gesetzlichen Anforderungen an Datensicherheit und Vertraulichkeit. Unabhängig davon, ob Sie Ihren Computer für das End-of-Life-Recycling oder zur Wiederverwendung entsorgen, müssen vertrauliche Daten wie Kennwörter, Dokumente, Kreditkarteninformationen, E-Mail-Nachrichten und Webprotokolle entfernt werden.
Die meisten Unternehmen im Bereich Wiederverwertung, Instandsetzung und Verwaltung elektronischer Geräte bieten Datensicherheitsdienste an. Dabei werden die Festplatten entweder zerstört oder mithilfe von Softwaredienstprogrammen bereinigt, also die Daten überschrieben, sodass sie nicht mehr wiederhergestellt werden können. Beachten Sie, dass bei Computern, die wiederverwendet werden sollen, die Computerhardware vorzugsweise intakt sein sollte.
Zuverlässige Software zur Datenträgerbereinigung arbeitet gemäß der 5220.22-M-Spezifikationen des US-Verteidigungsministeriums. Diese Art der softwarebasierten Datenbereinigung überschreibt systematisch alle adressierbaren Speicherorte auf Ihrer Festplatte mit einem Zeichen, überprüft die Überschreibung und überschreibt dann alle adressierbaren Speicherorte erneut mit zufälligen Zeichen. 2004 stellte der US-Geheimdienst (NSA Advisory LAA-006-2004) fest, dass einmaliges Überschreiben mit der Standardsoftware des Verteidigungsministeriums ausreicht, damit elektronische Dateien nicht wiederhergestellt werden können.
Heute ist es relativ einfach, eine Datenbereinigung selbst durchzuführen. Es gibt zuverlässige Freewareanwendungen wie Active@ Kill Disk Hard Drive Eraser (killdisk.com/eraser.htm) oder Boot and Nuke von Darik (dban.sourceforge.net). Wenn Sie Daten auf mehreren Computern bereinigen müssen, sollten Sie stabilere kommerzielle Anwendungen wie Blancco Data Cleaner (blancco.com) oder WipeDrive (whitecanyon.com) in Betracht ziehen.
Wenn Ihre IT-Ausrüstung älter als fünf Jahre oder stark beschädigt ist, besteht eine der sechs Entsorgungsoptionen, die von Gartner untersucht wurden, im End-of-Life-Elektronikrecycling. In den USA gibt es heute mehr als 900 Unternehmen, die auf diesem Sektor arbeiten. Zur richtigen Wiederverwertung älterer IT-Ausrüstung finden Sie Informationen in der Electronic TakeBack Coalition-Liste verantwortlicher Wiederverwertungsunternehmen (www.computertakeback.com/the_solutions/recyclers_map.cfm).

Jim Lynchist Program Director für Computerrecycling und Wiederverwendung bei TechSoup.org, einem gemeinnützigen Unternehmen mit Sitz in San Francisco, dessen Zielsetzung darin liegt, Wohltätigkeitsorganisationen auf der ganzen Welt preiswerte Hardware und Software sowie die entsprechenden Fachkenntnisse anzubieten.


 Windows Confidential: Beseitigen antiquierter Features
Windows Confidential
Beseitigen antiquierter Features
Raymond Chen

Es geschieht nicht oft , aber gelegentlich wird ein altes Feature gelöscht – unter großem Jubel des Produktteams. In Windows® XP wurde beispielsweise die Schnittstelle für das Festlegen eines Desktopmusters entfernt. Die zugrunde liegende Funktionalität ist immer noch vorhanden, wenn Sie es fertig bringen, ein Programm zu schreiben, das SystemParametersInfo(SPI_SETDESKPATTERN) aufruft. Es gibt dafür jedoch keine integrierte Schnittstelle mehr. Warum wurde das Desktopmuster aus der Systemsteuerung für den Desktop entfernt?
Unsere Recherchen ergaben, dass praktisch niemand mehr Desktopmuster verwendet. Sie erfreuten sich höherer Beliebtheit, als Speicher noch teurer war und die Benutzer nicht ein Viertel des Arbeitsspeichers des Computers für eine Hintergrundbild-Bitmap mit einer Größe von 1 MB verschwenden wollten. Ein winzig kleines Schwarzweißmuster mit einer Größe von 8 x 8 Bildpunkten, das über den gesamten Bildschirm wiederholt wurde, ergab auf einem Bildschirm mit 640 x 400 Pixeln einen gewissen Grad der Personalisierung zu viel niedrigeren Kosten.
Im Laufe der Zeit vorgenommene Änderungen ließen jedoch Desktopmuster immer weniger attraktiv erscheinen. Einerseits haben Computer jetzt einen viel größeren Arbeitsspeicher, als dies im Jahr 1983 der Fall war. Andererseits (ebenfalls offensichtlich) arbeiten Monitore heute mit viel höheren Auflösungen als damals. Ein niedliches Pepitamuster im Format 8 x 8 ist im Grunde ein Einheitsgrau, wenn es auf einem Monitor mit einer Auflösung von 1600 x 1200 angezeigt wird.
Dies ist nicht das einzige alte Feature, das auf dem Müll gelandet ist. Ein weiteres Beispiel sind Datenauszüge. Datenauszüge wurden mit Windows 95 eingeführt und erscheinen als Fragmente von Dokumenten, die in einer Datei erfasst werden. Das Dateifragment ist in Wirklichkeit ein OLE-Objekt. Die Idee hinter Datenauszügen bestand darin, dass Sie beispielsweise Text in einem Textverarbeitungsprogramm markieren und auf den Desktop ziehen konnten, wo dann ein Datenauszug erstellt wurde. Später konnten Sie den Datenauszug zurück in das Textverarbeitungsprogramm oder in ein anderes Programm ziehen, und der Text, den Sie zum Erstellen des Datenauszugs verwendet hatten, wurde in das neue Dokument eingefügt. Der Vorgang ist mit dem Kopieren und Einfügen vergleichbar, außer dass die Daten in einer Datei gespeichert wurden, statt sie vorübergehend in der Zwischenablage zu speichern.
Nachdem Sie eine solche Datenauszugsdatei erstellt hatten, bestand die einzige Aktion, die sie mit ihr durchführen konnten, darin, sie in ein anderes Dokument einzufügen – genau so, wie Sie ein in der Zwischenablage gespeichertes Element lediglich an anderer Stelle wieder einfügen können. Irgendwann fügte jemand das Feature hinzu, dass Sie auf die Datenauszugsdatei doppelklicken konnten, um sie in der Anwendung zu öffnen, mit der sie ursprünglich erstellt wurde. (Da die Inhalte beliebiger Natur sein konnten, bestand die einzige Möglichkeit zum Anzeigen des Datenauszugs darin, das Programm zu fragen, von dem er ursprünglich erstellt wurde.)
Mir ist nicht bekannt, ob dieses Feature als Debuggingtool hinzugefügt wurde oder ob es den Benutzern ermöglichen sollte, den Inhalt eines Datenauszugs anzuzeigen, ohne ein Dummydokument erstellen zu müssen, in dem sie ihn ablegen konnten. Wie dem auch sei: Virenschreiber liebten jedenfalls diese Funktionalität zum Öffnen der Anwendung, mit der der Datenauszug ursprünglich erstellt wurde. Sie ermöglichte ihnen nämlich, eine Datenauszugsdatei zu erstellen und mit Daten zu füllen, die angaben: „Die ursprüngliche Anwendung ist cmd.exe, und das Dokumentfragment ist diese Batchdatei“. Wenn ein Benutzer auf diese Datenauszugsdatei doppelklickte, um ihren Inhalt anzuzeigen, übergab die Datenauszugsanzeige eine Batchdatei an den Befehlsprozessor und teilte ihm mit: „Bitte diese Datei öffnen und dem Benutzer anzeigen“.
Angesichts der Geschichte der Datenauszüge machte sich das Shellteam daran, das Feature aus Windows Vista® zu entfernen. Hierzu musste das Team untersuchen, wie beliebt Datenauszüge in der Praxis waren. Daher bat das Shellteam die Produktsupportgruppe, die Protokolle der Gruppe aufzurufen, um festzustellen, wie viele Personen mit Fragen zu Datenauszügen angerufen hatten. Die These war, dass ein beliebtes Feature Supportanrufe mit sich bringt, während diese bei unbeliebten Features ausbleiben (weil sie von niemandem verwendet werden). Insbesondere Datenauszüge fallen nicht gerade in die „absolut intuitive“ Kategorie von Features. Daher konnte eine kleine Anzahl von Aufrufen nicht damit erklärt werden, dass das Feature so unkompliziert war, dass niemand anrufen musste, um Hilfe zu ihm zu erhalten.
Die Antwort von der Produktsupportgruppe ging ein. Im vergangenen Jahr hatte die Gruppe insgesamt vier Anrufe erhalten. Alle von ihnen lauteten in etwa wie folgt: „Ich habe diese seltsame Datei erstellt. Worum handelt es sich dabei, und wie werde ich sie los?“

Raymond Chen befasst sich auf seiner Website „The Old New Thing“ und in seinem gleichnamigen Buch (Addison-Wesley, 2007) mit der Geschichte von Windows und mit der Win32-Programmierung. Die Veröffentlichung des letzten Artikels von Raymond liegt schon eine Weile zurück, und er fragt sich, wie es Ihnen geht.