Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Sommerzeit mithilfe des Exchange Calendar Update Tool adressieren

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 941018
Einführung
Sommerzeit ist ein System zum Uhren im voraus festgelegt, sodass auf eine Stunde später Sonnenaufgangs oder Sonnenuntergangs auftreten. Der Effekt ist mehr Tageslicht am Abend. Viele Länder beobachten Sommerzeit. Die meisten dieser Länder haben ihre eigenen Regeln und Vorschriften für die Sommerzeit beginnt und endet.

Die Daten der Sommerzeit (DST) können von Jahr zu Jahr geändert werden. Microsoft Outlook-Benutzer müssen den Outlook-Kalender jedes Mal aktualisieren, die die DST-Regeln ändern. Die Daten zwischen den oben genannten Regeln für die Sommerzeit und die aktuellen DST-Regeln werden in diesem Artikel als der "erweiterten Sommerzeit." bezeichnet

Dieser Artikel beschreibt die Aktionen, die Sie Kalenderelemente in Outlook Adresse durchführen können, die auftreten, während der erweiterten Sommerzeit. Dieser Artikel beschreibt auch die Aktionen, die Sie Unternehmen sollten, um die Elemente im Kalender zu aktualisieren, die neuen DST-Regeln in Microsoft Exchange Server gespeichert sind. Die Lösung, die in diesem Artikel vorgestellt wird beinhaltet Microsoft Exchange Calendar Update Tool ("die Exchange Tool").

Weitere Informationen zum Vorbereiten von Schwankungen der Sommerzeit 2007 (DST 2007) für alle betroffenen Microsoft-Produkten finden Sie auf der folgenden Microsoft-Website: Im Jahr 2011 erlassen die russische Regierung ein Gesetz Daylight Saving Time (DST) abbrechen. Weitere Informationen finden Sie auf der folgenden Microsoft-Website: Weitere Informationen in Russisch finden Sie auf der folgenden Microsoft-Website:
Weitere Informationen

Über das Exchange-tool

Nach der Installation der DST-Updates für Microsoft Windows alle alten Termine, die auftreten, während der DST-Änderung Zeiträume falsch erscheint dann eine Stunde später. Dies gilt für wiederkehrende und Einzelinstanz-Termine. Sie müssen diese Termine zu aktualisieren, damit sie ordnungsgemäß angezeigt werden, in Outlook, Microsoft Office Outlook Web Access und Anwendungen, die auf Collaboration Data Objects (CDO) basieren.

Outlook stellt ein Tool mit dem Namen Time Zone Data Update Tool für Microsoft Office Outlook ("das Outlook-Tool"). Dieses Tool ermöglicht Benutzern, ihre eigenen Kalender zu aktualisieren.

Weitere Informationen über das Time Zone Data Update Tool klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
931667 Wie die Sommerzeitänderungen 2007 mithilfe von für Microsoft Office Outlook das Time Zone Data Update Tool begegnet
Das Exchange-Kalender Update Tool ("die Exchange Tool") können Sie vermeiden die Schwierigkeiten, die Administratoren haben das Outlook-Tool Allgemein für alle Benutzer bereitstellen und dafür sorgen, dass jeder Benutzer das Outlook-Tool ordnungsgemäß ausgeführt wird.

Allgemeine Beschreibung des Exchange-Tools

Das Exchange-Tool besteht aus zwei separaten ausführbaren Dateien. Diese Dateien werden in der folgenden Tabelle beschrieben.
Dateiname Beschreibung
Msextmz.exe Diese ausführbare Datei extrahiert Zeitzoneninformationen aus Postfächern auf einem Server, auf dem Exchange Server ausgeführt wird. Außerdem aktualisiert diese ausführbare Datei Postfach Kalender für eine angegebene Liste von Benutzern.
Msextmzcfg.exe Diese ausführbare Datei ist ein Konfigurations-Tool, das meisten Schritte, aktualisieren Sie einen Exchange Server-Server ausführt.

Über die neue Version des Exchange-Tools

Aufgrund des Kundenfeedbacks wurde eine neue Version des Exchange-Tools am 13. August 2007 veröffentlicht. Dieser Artikel bezieht sich auf die neue Version des Exchange-Tools. Wenn Sie eine ältere Version des Exchange-Tools ausführen, deinstallieren Sie das Programm, und installieren Sie die neue Version.

Die neue Version des Tools Exchange beinhaltet die folgenden Verbesserungen:
  • Die Zeitzone Extraktion und Kalender aktualisieren Aresped Prozesse vervierfacht einrichten.
  • Die Benutzeroberfläche für das Konfigurationstool ist Morestreamlined und intuitiv.
  • Die Möglichkeit zum Aktualisieren von Konferenzräumen und Resourcemailboxes wird jetzt das Konfigurations-Tool integriert.
  • Die Möglichkeit zum Aktualisieren von Benutzerpostfächern ist jetzt in Theconfiguration Tool integriert.
  • Ein Dokument zur Fehlerbehebung ist jetzt TheExchange Tool beigefügt und es in das Konfigurations-Tool integriert ist.
  • Algorithmus und Fehler Handlingcapabilities der Zeitzone Extraktion werden verbessert.
  • Der Protokollierungsvorgang ist benutzerfreundlicher.

Risiko der Ausführung des Exchange-Tools

Wenn Sie das Exchange-Tool ausführen, besteht ein Risiko, dass die Einzelinstanz-Termine möglicherweise nicht ordnungsgemäß aktualisiert werden. Z. B. Einzelinstanz-Termine ein Benutzer erstellt, nachdem das Betriebssystem aktualisiert wurde möglicherweise nicht ordnungsgemäß aktualisiert werden.

Um dieses Risiko zu verringern, verwenden Sie eine der folgenden Methoden:
  • Reduzieren Sie dem Intervall zwischen dem Zeitpunkt, Sie die Updateclient Computer und dem Zeitpunkt, Postfach-Kalender zu aktualisieren.
  • Wenn der Computer in der Organisation aktualisiert wurden eine lange Timeago, verwenden Sie die Einstellung Nur Update wiederkehrende Besprechungen in denerweiterten Einstellungen.

    Leute machen in der Regel nicht Createsingle-Instanz Termine viele Monate im voraus. Daher, wenn der DSTupdates viele Monate vor installiert wurden, die meisten Herbst Einzelinstanz-Meetingsthat in der erweiterten Sommerzeit werden erstellt wurden mithilfe der NewDST-Übergangsregeln. Diese Besprechungen müssen nicht aktualisiert werden.
  • Wenn Sie das genaue Datum, wenn alle Client-Computerswere aktualisiert kennen, verwenden Sie die Betriebssystem-Patch-Datum -Einstellung in denerweiterten Einstellungen. Wenn ein Datum angegeben wird, werden einzelne Instanceappointments, die nach diesem Datum erstellt wurden durch die Exchangetool nicht aktualisiert.
Hinweis Wenn Sie das Outlook-Tool oder das Exchange-Tool ausführen, auf einem Clientcomputer, auf denen Windows Vista ausgeführt wird und Postfächer, in denen die Landeszeitzone New Zealand Standard Time ist, das Tool ausführen, müssen Sie das Tool ein zweites Mal am oder nach dem 1. Januar 2008 ausführen. Weitere Informationen finden Sie im Abschnitt "Bekannte Probleme".

Optionen, um Postfächer zu aktualisieren

In der folgende Tabelle werden fünf Optionen, mit denen Sie Benutzerpostfächer zum Verwenden der Sommerzeit 2007 Zeitzonenregeln aktualisieren aufgeführt.
Option Profis Nachteile
Verteilen Sie das Outlook-Tool für jeden Benutzer, und weisen Sie Benutzern, ihre eigenen Postfächer zu aktualisieren. Diese Option vermeidet die Risiken, die mit der Ausführung des Exchange-Tools ist. Es ist schwierig, sicherzustellen, dass alle Benutzer das Outlook-Tool ordnungsgemäß und rechtzeitig ausgeführt werden soll.

Benutzer, die keinen Outlook werden das Outlook-Tool ausgeführt.

Sie müssen zusätzliche erzieherischen, zu Verwirrung bei Benutzern zu vermindern bemühen.
Führen Sie das Exchange-Tool für alle betroffenen Benutzer und Server. Diese Option bietet Benutzern eine optimierte Nutzung. Es ist ein Risiko im Zusammenhang mit Ausführen des Exchange-Tools, wie im Abschnitt "Ausführen des Exchange-Tools Risiko" beschrieben.
Führen Sie das Exchange-Tool, um nur Terminserien zu aktualisieren. Können Sie Benutzer Einzelinstanz-Termine in ihren eigenen Postfächern mithilfe des Outlook-Tools aktualisieren. Es gibt weniger Risiko Einzelinstanz-Termine falsch aktualisiert. Die Nachteile der Ausführung des Outlook-Tools werden mit der Nachteile der Ausführung des Exchange-Tools kombiniert.
Führen Sie das Tool Exchange weder das Outlook-Tool. Fordern Sie die Benutzer, ihre Kalender prüfen und Termine bei Bedarf erneut zu buchen. Diese Option vermeidet die Risiken, die mit der Ausführung des Exchange-Tools ist. Wenn nicht alle Benutzer alle betroffenen Termine erneut eintragen, werden einige Kalenderelemente während der erweiterten Sommerzeit eine Stunde deaktiviert sein.

Sie müssen zusätzliche erzieherischen, zu Verwirrung bei Benutzern zu vermindern bemühen.
Verteilen Sie das Outlook-Tool für jeden Benutzer, und weisen Sie Benutzern, ihre eigenen Postfächer zu aktualisieren. Verwenden Sie dann des Zeitzone Extraktion Modus des Exchange-Tools um zu bestimmen, ob Benutzer das Outlook-Tool ausführen.

Wenn der Benutzer das Outlook-Tool nicht ausgeführt werden, kann der Administrator das Exchange-Tool ausführen.
Diese Option verringert das Risiko, dass Benutzer das Tool nicht rechtzeitig ausführen, und vermeidet die Risiken, die mit der Ausführung des Exchange-Tools ist. Dies ist keine Alternative, wenn der Benutzer Microsoft Office Outlook 2007 verwenden.

Installieren Sie das Exchange-tool

Das Exchange-Kalender-Update-Tool wird in Form einer selbstextrahierenden ausführbaren Datei (Msextmz.exe) heruntergeladen. Dieses Tool steht zum Download im Microsoft Download Center zur Verfügung:

HerunterladenDownloaden Sie das Exchange-Kalender-Update-Tool-Paket jetzt.

Zum Installieren und verwenden Sie das Exchange-Tool ist ein virtueller Computer erstellt. Der virtuelle Computer basiert auf Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 und Microsoft Office Word 2007. Der virtuelle Computer funktioniert in beiden Connectix Virtual PC und Microsoft Virtual Server 2005 R2.

Weitere Informationen zu dem virtuellen Computer für Exchange Calendar Update Tool klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base anzuzeigen:
933185 Eine virtuelle Maschine steht zur Bereitstellung Sommerzeit 2007 Kalenderaktualisierungen in einer Exchange-Organisation
Für weitere Informationen darüber, wie Sie Microsoft Support-Dateien herunterladen können, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
119591 So erhalten Sie Microsoft Support-Dateien von Online-Diensten
Microsoft hat diese Datei auf Viren überprüft. Microsoft hat die zum Zeitpunkt der Veröffentlichung der Datei aktuell verfügbare Virenerkennungssoftware verwendet. Die Datei wird auf Servern mit erhöhter Sicherheit gespeichert, wodurch nicht autorisierten Änderungen an der Datei vorgebeugt wird.

Mit dem Tool Exchange unterstützten Sprachen

Das Exchange-Tool ist nur in Englisch verfügbar. Das Tool wird nur auf einem Computer mit englischen (USA) ausführen.

Exchange Server-Versionen, die mit dem Tool Exchange kompatibel sind

Das Exchange-Tool kann auf die folgenden Versionen von Exchange Server-Postfächer aktualisieren:
  • Microsoft Exchange Server 2007 Enterprise Edition
  • Microsoft Exchange Server 2007 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition

Betriebssysteme, die durch das Exchange-Tool unterstützt werden

Das Exchange-Tool wird auf 32-Bit-Versionen der folgenden Betriebssysteme ausgeführt werden:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Was ist zu tun, bevor Sie das Exchange-Tool ausführen

Installieren von updates

Bevor Sie das Exchange-Tool ausführen, stellen Sie sicher, dass Client und Server-Computern korrekt aktualisiert werden. Dazu installieren Sie das Windows-Sommerzeitupdate auf Clients und Servern. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
942763 Kumulatives Zeitzonenupdate für Microsoft Windows-Betriebssysteme von Dezember 2007

Wenn Sie Microsoft Exchange Server 2003 Service Pack 2 (SP2) ausführen, installieren Sie nach Bedarf für Ihre Organisation eine oder beide der folgenden Updates:
  • 911829 aktualisieren
  • 924334 aktualisieren
Weitere Informationen zu diesen Updates klicken Sie auf die folgenden Artikelnummern klicken, um die betreffenden Artikel in der Microsoft Knowledge Base anzuzeigen:
911829 Wenn Sie versuchen, alle Bearbeitungsaufgaben durchführen, oder Sie klicken müssen, um den Frame Verfassen im Outlook Web Access aktivieren, erhalten eine Fehlermeldung
924334 Das Verfassen von Nachrichten Formular reagiert nicht mehr nach der Installation von Internet Explorer 7.0 und das S/MIME-Steuerelement auf einem Outlook Web Access-Client in Exchange Server 2003
Wenn Benutzer in Jerusalem, zentrale brasilianische oder Südamerika E. Zeitzone befinden, lesen Sie die Anleitung im folgenden Artikel der Microsoft Knowledge Base:

943390 Einige Outlook-Kalendereinträge werden bei Verwendung von Outlook Time Zone Data Update Tool für Sommer-und Winterzeit in bestimmten Zeitzonen anpassen nicht korrekt zurückgesetzt

Prüfen der Systemvoraussetzungen

Sie müssen das Exchange-Tool nur auf einem Computer ausführen, für die die folgenden Bedingungen erfüllt sind:
  • Der Computer verfügt über Microsoft Office Outlook 2003 Service Pack 2 (SP2) oder Microsoft Office Outlook 2007 installiert ist.
  • Der Computer hat die Outlook-Zeitzone-Daten Toolinstalled.
  • Microsoft.NET Framework Version 2.0 ist auf denClientcomputer installiert.
Sie können nicht das Exchange-Tool auf einem Computer ausführen, auf dem Exchange Server oder die Exchange-Systemverwaltungstools ausgeführt wird. Wenn Sie versuchen, das Exchange-Tool auf einem Computer mit Exchange Server oder die Exchange-Systemverwaltungstools installieren, wird sinngemäß die folgende Fehlermeldung angezeigt:
Microsoft Exchange Kalender-Updateprogramm kann mit Microsoft Exchange installiert werden.

Überprüfen Sie Berechtigungen und anderen Benutzeranforderungen

Stellen Sie sicher, dass die folgenden Bedingungen erfüllt sind:
  • Verwalten von Informationsspeichern, die Berechtigungen für jedes ExchangeServer-Nachrichtendatenbank (MDB) aktualisiert werden.
  • Die Berechtigungen Senden Sie als für alle Postfächer Areupdated.
  • Vollständiger Postfachzugriff Berechtigungen für alle Postfächer Areupdated.
  • Lokale Administratorrechte erteilen, ist auf dem Computer mit dem Exchange-Tool.

Über das Skript "Postfach-Berechtigung erteilen"

Das Beispielskript GrantMailboxPermission.vbs können Benutzer Vollständiger Postfachzugriff und Senden als-Berechtigungen auf alle Postfächer zu einer Domäne gewähren.

Dieses Skript kann nur von einem Exchange Server-Administrator auf einem Computer ausgeführt werden, auf denen Exchange 2000 Server oder Exchange Server 2003 ausgeführt wird. Dieses Skript kann nicht auf einem Computer ausgeführt werden, auf denen Exchange Server 2007 ausgeführt wird. Der Exchange-Verwaltungsshell können Sie jedoch um die erforderlichen Berechtigungen zu erteilen.

Der Code für das VBS-Skript ist im Abschnitt "Informationsquellen" bereitgestellt. Die folgende Tabelle beschreibt die Modi, in denen das Skript ausgeführt wird.
Modus Befehl Beschreibung
Hinzufügen CScript GrantMailboxPermission.vbs – hinzufügen Domänenname \ Benutzername Dateiname Diesen Befehl erhält das Domänenname \ Benutzername Vollständiger Postfachzugriff und Senden als Benutzerberechtigungen für Benutzerpostfächer, die in der Eingabedatei aufgeführt sind.

Die Eingabedatei muss eine Textdatei sein, die ältere Domänennamen der Benutzerpostfächer enthält. Diese Namen müssen durch Carriage Return + Line Feed (CRLF) begrenzt werden.

Das Skript generiert eine GrantMailboxPermission.log-Datei. Diese Datei ist ein Datensatz der Postfächer, die verarbeitet wurden. Die erste Zeile der Protokolldatei ist der Domänenname \ Benutzername Benutzer, der Zugriff gewährt wird. Löschen Sie diese Datei nicht. Diese Datei wird im entfernen-Modus verwendet.

Wenn ein expliziter Zugriff "Verweigern" für den Benutzer zugewiesen ist, meldet das Skript die Informationen in einer Datei mit dem Namen "GrantMailboxPermission.err". Das Skript erteilen oder ändern die Berechtigung nicht.

Wenn der Benutzer einer Sicherheitsgruppe, die gehört "Zugriff verweigern" zugewiesen wurde, gewährt das Skript Vollständiger Postfachzugriff und Senden als-Berechtigungen. Der Benutzer werden kann nicht auf das Postfach anmelden. Alle Fehler werden in der Datei GrantMailboxPermission.err protokolliert.
Entfernen CScript GrantMailboxPermission.vbs – entfernenDieser Befehl entfernt Berechtigungen "Vollständiger Postfachzugriff" und "Senden als" auf die Postfächer, die in der Datei GrantMailboxPermission.log aufgeführt sind die Domänenname \ Benutzername Benutzer. Die Domänenname \ Benutzername Benutzer ist in der Datei GrantMailboxPermission.log angegeben.
Hinweise
  • Wenn Sie dieses Skript auf dem Computer, der Exchange-Server ist ausführen, gibt das Skript einem Punktzeichen (.) zurück, wenn die Scriptsuccessfully einen Benutzer verarbeitet. Das Skript gibt eine Pointcharacter Ausrufezeichen (!) zurück, wenn das Skript einen Benutzer nicht erfolgreich aufbereitet.
  • Die Ausgabedatei des Modus Zeitzone Extraktion kann als Eingabedatei für dieses Skript Wiederaufbauhilfe nicht. Um die Eingabedatei für Thisscript zu erstellen, fügen Sie den Inhalt der Zeitzone Extraktion Modus Output-Datei IntoNotepad, speichern Sie den Inhalt als neues Dokument und verwenden Sie dann das neue Dokument als Eingabedatei.

Wie Sie das Exchange-tool

Um das Exchange-Tool zu verwenden, starten Sie das Exchange Calendar Update Configuration-Tool (Msextmzcfg.exe). Dieses Programm hilft Ihnen bei der gesamten Kalender aktualisieren.

Ausführen des Extrahierungsvorgangs Zeitzone

Um Postfach-Kalender zu aktualisieren, müssen Sie die Zeitzone der Kalender festlegen. Extraktion Zeitzone untersucht die Eigenschaften und die Termine der Kalender Postfach bestimmen die Zeitzonen. Um den Extraktionsvorgang Zeitzone auszuführen, gehen Sie folgendermaßen vor:
  1. Klicken Sie auf der Seite Willkommen auf Weiter.

    Hinweis Die Seite Willkommen stellt Ihnen Konfigurations-Tool-Anddiscusses die Berechtigungen, die erforderlich sind, um das Tool auszuführen. Seite Alsoprovides, einen Link zu diesem Artikel.
  2. Legen Sie die Einstellungen für das Konfigurationsdienstprogramm. Eswird empfohlen, mindestens 200 Megabyte (MB) Tologging für Festplatten-Speicherplatz zu reservieren.

    Wenn Sie die Standardeinstellungen ändern möchten, klicken Sie aufErweiterte Einstellungen. Weitere Informationen zu den Advancedsettings finden Sie unter der Tabelle, die dieser Prozedur folgt.
  3. Wählen Sie die Exchange-Servern in der lokalen Gesamtstruktur des aktiven VerzeichnisVerzeichnis, die Sie aktualisieren möchten. Klicken Sie aufWeiter um die Zeitzone Extrahierung zu starten.

    Hinweis Wenn Zeitzone extrahieren Sie bereits ausgeführt haben, können Sie Skipthis Schritt, indem Sie auf Überspringen.

    Beachten Sie, dass ein Statusbar, einen Link zur Ausgabelogs und eine Echtzeitanzeige der Prozess der Zoneextraction angezeigt werden. Klicken Sie auf Weiter, nachdem die Zeitzone Extraktion Prozess Iscomplete.

    Wenn Fehler aufgetreten sind, wird die ALink-Tool zur Problembehandlung Dokument angezeigt.
  4. Konfigurieren der Postfächer mit Nr. TimeZones -Seite, und klicken Sie auf Weiter um Calendaritems zu scannen.

    Hinweis Findet das Tool für Benutzer, die keinen Mailbox-Ebene Propertiesthat ihrer Zeitzone anzugeben, sucht das Tool tatsächliche Besprechungen und Appointmentsinside dieser Kalender, um die Zeitzone zu bestimmen. Sie können Kalenderelemente begriffener angeben, die das Konfigurationstool scannen soll. Thelarger die Anzahl der Elemente, die Sie angeben, desto länger dauert die Überprüfung Vorgang.
  5. Auf der Seite Displaynames unbekannten Zeitzone lösen fordert das Tool Sie Zeitzonen, die das Tool erkennt ein bekanntes Betriebssystem-Zeitzone zugeordnet. Nachdem Sie dies getan haben, klicken Sie aufWeiter
  6. Findet das Konfigurations-Tool für Benutzer, die Multipletime Zonen haben, werden Sie aufgefordert, manuell der Konflikt durch Angabe onetime-Zone mit dem Kalender des Benutzers aktualisiert. Nachdem Sie dies durchgeführt haben, klicken Sie aufWeiter.
  7. In der Seite Speichern Postfach DNs mit nicht aufgelösten TimeZones trennen alle übrigen Benutzer, die noch keine Zoneinformation Zeit haben oder, noch die Zoneninformationen werden in Konflikt stehende Zeit haben Ina aufgezeichnet Protokolldatei. Klicken Sie auf Weiter.
Die Extraktion der Zeitzone ist nun abgeschlossen. Die Liste der Benutzer und der extrahierten Zeitzonen befindet sich in der Ausgabedatei (Output.txt) im Installationsverzeichnis.

Erweiterte Einstellungen

Die folgende Tabelle beschreibt die erweiterten Einstellungen, die Sie in Schritt 2 des vorherigen Verfahrens konfigurieren können.
EinstellungFunktionalitätSzenarioÜberlegungen zuAnwendungsbereich
Wiederkehrende Besprechungen nur aktualisierenDiese Einstellung aktualisiert nur wiederkehrende Besprechungen, die betroffen sind von der DST-Änderung. Einzelinstanz-Termine, die in der erweiterten Sommerzeit liegen, werden nicht aktualisiert, unabhängig davon, ob diese aktualisiert werden sollen.Wenn der Computer in der Organisation vor langer Zeit aktualisiert wurden, verwenden Sie diese Einstellung.

Normalerweise erstellen Personen nicht Einzelinstanz-Termine viele Monate im voraus. Daher Wenn die DST-Updates viele Monate vor installiert wurden, werden die meisten der Einzelinstanz-Besprechungen, die in der erweiterten Sommerzeit fallen erstellt wurden mit den neuen DST Übergangsregeln. Diese Besprechungen müssen nicht aktualisiert werden.
Wenn ein Benutzer eine Einzelinstanz-Besprechung viele Monate im Voraus erstellt, wird dieser Besprechung nicht aktualisiert, ist diese Einstellung angegeben ist.Diese Einstellung gilt für alle Postfächer, alle Konferenzräume und alle Benutzerkalender.
Betriebssystem-Patch-Installation abDiese Einstellung gibt an, dass die Einzelinstanz-Termine, die erstellt oder aktualisiert werden nach dem Datum, das Sie angeben, nicht aktualisiert werden.Verwenden Sie diese Einstellung, wenn Sie das genaue Datum wissen, wann alle Clientcomputer aktualisiert wurden.

Wenn Sie dies tun, werden Sitzungen, die erstellt werden, nachdem das Update installiert ist, nicht aktualisiert. Diese Besprechungen fallen unter die neue Zeitzonenregeln.
Diese Einstellung gilt nur, wenn die Client-Computer innerhalb von weniger als 24 Stunden aktualisiert wurden, und wenn es hohe Marktdurchdringung des Updates. (Es ist hohe Marktdurchdringung im hohen Bereich 90 Prozent wird der Prozentsatz der Computer in der Organisation, die aktualisiert wurden.)

Darüber hinaus können Administratoren nur ein Datum angeben. Besprechungen, die in verschiedenen Zeitzonen erstellt werden, die bestimmte Updates entsprechen und an bestimmten Zeitzonen muss aktualisiert werden.

Für Konferenzräume ist, die nur Konferenz aktualisiert in bestimmten Zeitzonen stehen.

Anwender-Mailboxen ist, dass wenn die Einstellung des SuppressExchange oder der SuppressAll nicht angegeben ist, nur bestimmte Zeitzonen gehören Benutzerpostfächer aktualisiert werden.
Diese Einstellung gilt für alle Postfächer, alle Konferenzräume und alle Benutzerkalender.
SuppressExchange und "MaxDepth"Diese Einstellungen bewirken, dass alle Termine im Kalender des Benutzers, die betroffen sind von der Änderung der Sommerzeit aktualisiert werden, unabhängig davon, ob der Benutzer die Elemente im Kalender des Organisators.

Wenn der Benutzer den Organisator eines Kalenderelements ist, sind Aktualisierungen nicht an Teilnehmer gesendet, die Exchange-Postfächer verfügen. Aktualisierungen werden an die Teilnehmer gesendet, die keine Exchange-Postfächer verfügen.

Die Einstellung "MaxDepth" gibt die Ebene der Aufgliederung der Verteilerliste, die ausgeführt wird, um zu bestimmen, welche Teilnehmer haben, Exchange-Postfächer und die Teilnehmer nicht.
Verwenden Sie diese Einstellung, wenn Sie nicht möchten, dass Exchange-Benutzer auf Besprechungsaktualisierungen von Organisatoren für Besprechungen, die von der erweiterten Sommerzeit betroffen sind.

Die SuppressExchange -Einstellung ist besser als die SuppressAll -Einstellung, wenn die Organisation nicht auf Exchange Server - Kalender-Systeme hat und Besprechungen geplant sind, um Teilnehmern gehören, die sich außerhalb der Organisation befinden.
Keine Besprechungsaktualisierungen gesendet werden, mit Ausnahme von nicht-Exchange-Benutzern. Um sicherzustellen, dass Kopien der gleichen Sitzung für alle möglichen Teilnehmer aktualisiert werden, muss daher alle Postfächer in der Organisation aktualisiert werden.

Diese Bedingung kann die Anzahl der Postfächer deutlich, die aktualisiert werden müssen. Aus diesem Grund können die Verarbeitungszeiten erhöht werden.

Bei großen, geschachtelte Verteilerlisten in der Teilnehmerliste sind, ist es eine kostenintensive Prozess der Teilnehmer einer Besprechung bestimmen und ermitteln, ob die Teilnehmer Exchange-Postfächer verfügen. Wenn Sie diese Einstellung festzulegen und einen hohen Wert für den Parameter "MaxDepth" festlegen, kann eine erhebliche Last auf den Domänencontrollern gebracht.
Diese Einstellung gilt nur für Benutzerpostfächer.
SuppressAllBei dieser Einstellung werden alle Termine im Kalender des Benutzers, die betroffen sind von der Änderung der Sommerzeit aktualisiert werden, unabhängig davon, ob der Benutzer die Elemente im Kalender des Organisators.

Wenn der Benutzer den Organisator eines Kalenderelements ist, sind Aktualisierungen nicht an die Teilnehmer gesendet.
Verwenden Sie diese Einstellung, wenn Sie nicht möchten, Teilnehmer Besprechungsaktualisierungen von Organisatoren für Besprechungen zu erhalten, die der erweiterten Sommerzeit betroffen sind.Keine Besprechungsaktualisierungen werden gesendet. Um sicherzustellen, dass Kopien der gleichen Sitzung für alle möglichen Teilnehmer aktualisiert werden, muss daher alle Postfächer in der Organisation aktualisiert werden.

Diese Bedingung kann die Anzahl der Postfächer deutlich, die aktualisiert werden müssen. Aus diesem Grund können die Verarbeitungszeiten erhöht werden.

Teilnehmer, die keine Exchange-Postfächer verfügen, erhalten keine Updates. Ihre Termine können nicht aktualisiert werden, je nach dem e-Mail-System, auf dem sie ausgeführt werden und je nach den Aktionen, die ihr Administrator.
Diese Einstellung gilt nur für Benutzerpostfächer.

Konferenzräume und Ressourcenpostfächer aktualisieren

Konferenzräume und Ressourcenpostfächer um Buchung Konflikte zu vermeiden müssen aktualisiert werden. Gehen Sie hierzu folgendermaßen vor:
  1. Geben Sie auf der Seite Ressourcen angeben und Konferenz RoomCalendars oder fügen Sie der Liste der Aliase der Konferenz Roomsin Ihrer Organisation. Klicken Sie auf Auflösen , um Aliase zu überprüfen, und klicken Sie dann auf Weiter.
  2. Auf der Seite beheben Zeitzonen für Resource Veranstaltungsfläche Raum Kalender fordert Sie das Tool zum Manuallyspecify der Zeitzone für einen Konferenzraum Wenn der Konferenzraum Link eine Zeitzone ist. Dazu ein, und klicken Sie dann auf Weiter.
  3. Eine Erinnerungsseite wird angezeigt, um Sie daran zu erinnern, die Tools zum Aktualisieren von Kalendern. Klicken Sie auf Weiter.
  4. Beachten Sie, dass eine Statusleiste, eine Verknüpfung zu den Ausgabelog und areal-Anzeige der Ausgabe des Tools angezeigt werden. Klicken Sie aufWeiter.

    Wenn Fehler auftreten, wird eine Verknüpfung zum Dokument Thetroubleshooting am unteren Rand dieser Seite angezeigt.

Postfach Benutzer aktualisieren

Gehen Sie hierzu folgendermaßen vor:
  1. Konfigurieren Sie auf der Seite Einstellungen für Benutzer MailboxCalendars aktualisieren der Einstellungen für das Update.

    Ifyou nicht den SuppressExchange oderSuppressAll Erweiterte Einstellungen angegeben haben, wählen Sie den Zeitzonen, Areaffected von DST. Wählen Sie andernfalls alle Zeitzonen.

    Klicken Sie aufWeiter.
  2. Eine Erinnerungsseite wird angezeigt, um Sie daran zu erinnern, die Tools zum Aktualisieren von Kalendern. Klicken Sie auf Weiter.
  3. Beachten Sie, dass eine Statusleiste, eine Verknüpfung zu den Ausgabelog und areal-Anzeige der Ausgabe des Tools angezeigt werden. Klicken Sie nach dem Update Iscomplete auf Weiter.

    Wenn Fehler auftreten, wird am unteren Rand Attributbeziehungen ALink-Tool zur Problembehandlung Dokument angezeigt.
  4. Klicken Sie auf Fertig stellen.

Exchange-Tool Log-Dateien und Unterverzeichnisse

Log-Dateien

Das Exchange-Tool erstellt die folgenden Protokolldateien in das Installationsverzeichnis:
  • Output.txt

    Diese Datei enthält eine Liste aller Benutzer Postfächer Projekten gemeinsam mit ihren Zeitzoneninformationen extrahiert.
  • TimeZoneExtraction.log

    Dieses Protokoll enthält die kombinierte Ausgabe des Zeitpunkt Zoneextraction Prozesses für alle Server.
  • ResourceUpdate.log

    Dieses Protokoll enthält die Ausgabe über den Aktualisierungsvorgang für die Konferenzräume und für die Ressourcenpostfächer.
  • UserUpdate.log

    Dieses Protokoll enthält die kombinierte Ausgabe des Aktualisierungsprozesses Usermailbox für alle Server.
  • CalendarScan.log

    Dieses Protokoll enthält die kombinierte Ausgabe des Calendarscan-Prozesses für alle Server.
  • ConflictUsers.txt

    Dieses Protokoll enthält eine Liste der Benutzer mit Conflictingtime Zonen. Z. B. Angeben der Benutzer Eigenschaften dieses Theybelong an mehreren Zeitzonen.
  • NonExistent.txt

    Dieses Protokoll enthält eine Liste der Benutzer, die keine Zoneinformation Zeit haben.

Unterverzeichnisse

Das Exchange-Tool erstellt die folgenden Unterverzeichnisse im Installationsverzeichnis:
  • Ressource

    Dies ist das Unterverzeichnis arbeiten für den Update-Zuständen der Konferenzräume und für die Ressourcenpostfächer. Dieser Directorycontains die folgenden Dateien:
    • Msextmz.log

      Dies ist die Ausgabedatei des Exchange-Tools für den Update-Vorgang.
    • Magellanverzeichnis

      Diese Datei enthält die Liste der Postfächer.
    • Processed.txt

      Diese Datei enthält die Liste der Postfächer, die erfolgreich aktualisiert wurden.
    Hinweis Alle arbeiten Unterverzeichnisse enthalten die folgenden Dateien.

    TheResource-Unterverzeichnis enthält außerdem das folgende Unterverzeichnis:
    • Log-Dateien

      Dieses Unterverzeichnis enthält Update-Protokolle für jedes Postfach, das erfolgreich aktualisiert wurde. Jedes Protokoll sollte eine Liste der Sitzungen enthalten, die aktualisiert wurden.
  • Servername

    Gibt es ein Unterverzeichnis für jede Serveron, die die Zeitzone Extraktion verarbeiten oder eine Aktualisierung des Kalenders ausgeführt wurde.Diese Unterverzeichnisse enthalten die folgenden Unterverzeichnisse:
    • CalendarScan

      Dies ist das Unterverzeichnis arbeiten für den Scanprozess Kalender.
    • Extrahieren

      Dies ist das Unterverzeichnis arbeiten für die Extraktion der Zeitzone.
    • Update

      Dies ist das Unterverzeichnis arbeiten für die Aktualisierung von Benutzer-Postfach. Es enthält das folgende Unterverzeichnis:
      • Log-Dateien

        Dieses Unterverzeichnis enthält Update-Protokolle für jedes Postfach, das erfolgreich aktualisiert wurde. Jedes Protokoll sollte eine Liste der Sitzungen enthalten, die aktualisiert wurden.

Vorgehensweise nach dem Ausführen des Exchange-Tools

Klicken Sie nach dem Ausführen des Exchange-Tools auf allen Exchange-Servern in Ihrer Umgebung gelten Sie die entsprechenden Exchange Server DST-Aktualisierungen. In der folgende Liste wird von Exchange Server-Version und die Service Pack-Stufe organisiert. Installieren Sie die Updates für Ihre Version von Exchange Server in der Reihenfolge.

Exchange Server 2007
940006 Hinweise zum Updaterollup 4 für Exchange Server 2007
Updaterollup 4 für Exchange Server 2007 enthält die folgenden DST-Updates:
  • 937656 Nach dem Start von Sommerzeit (DST) in Neuseeland 2007 treten Probleme in Outlook Web Access für Exchange 2007
  • 932561 Termine, die von einer Exchange-Organisation zu einer anderen gesendet werden, mithilfe von Exchange 2007 möglicherweise falsch um eine Stunde in der Zeitzone Western Australia ist eine Organisation
Exchange Server 2003 SP2
926666 Update bei Sommerzeit-Änderungen von 2007 für Exchange 2003 Service Pack 2
931915 Update für Neufundland Sommerzeit-Änderungen von 2007 für Exchange Server 2003 Service Pack 2
929895 Termine, die zwischen verschiedenen Exchange Server-Organisationen gesendet werden um eine Stunde möglicherweise falsch als eine der in der Zeitzone Western Australia ist
937653 Treten eines oder mehrere Probleme in Exchange Server 2003 nach der Sommerzeit für Neuseeland Änderungen im Jahr 2007
Exchange Server 2003 SP1
940123 Treten Probleme in Exchange 2003 Servicepack 1 nach Sommerzeit (DST) in Neuseeland 2007 gestartet wird

Bekannte Probleme

  • Wiederkehrende Besprechungen, die in Outlook Web Access erstellt werden, werden nicht durch das Exchange-Tool aktualisiert

    Wenn Sie die Exchange Server-Updates auf TheExchange Server installieren, bevor Sie die Postfächer aktualisieren wiederkehrende Besprechungen in Outlook Web Access, Arecreated werden durch das Exchange-Tool nicht aktualisiert.

    Um dieses Problem zu beheben, die Exchange Server-Updates entfernen und Neuinstallieren von Exchange Server-Updates auf die Exchangeserver TheExchange ausführen.
  • Exchange 2007 muss neu gestartet werden, nachdem Sie das Exchange-Tool ausführen

    Wenn Sie Kalenderelemente richtig anzeigen zu können, müssen Sie Restartthe Exchange-Dienste nach dem Ausführen des Exchange-Tools für Standardtelefonansagen für Outlook Web Access 2007.
  • Das Exchange-Tool kann nicht installiert werden.

    Das Exchange-Tool nicht erfolgreich installiert Ifeither der folgende Registrierungsschlüssel vorhanden ist:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    In diesem Szenario wird der folgende Fehler Nachricht Sie versuchen, das Exchange-Tool zu installieren:
    Exchange-Tool zum neuen Basisadressen von ServerCalendar kann mit dieser Version von Übermittlungsoptionen installiert werden.
    Um dieses Problem zu umgehen, löschen Sie diesen Registrierungsschlüssel, installieren Sie das Exchange-Tool und dann wiederherstellen Sie die Registrykeys.

    Wichtig Dieser Abschnitt bzw. die Methode oder Aufgabe enthält Schritte, die erklären, wie Sie die Registrierung ändern. Allerdings können schwerwiegende Probleme auftreten, wenn Sie die Registrierung falsch ändern. Stellen Sie daher sicher, dass Sie die folgenden Schritte sorgfältig ausführen. Für zusätzlichen Schutz, sichern Sie die Registry, bevor Sie sie ändern. Anschließend können Sie die Registrierung wiederherstellen, falls ein Problem auftritt. Für weitere Informationen wie Sie der Registry sichern und wiederherstellen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
    322756 Wie Sie die Registrierung in Windows sichern und wiederherstellen können?
  • Es gibt eine Beschränkung für die Anzahl der Postfächer, die pro Server verarbeitet werden können

    In der Benutzerliste Modus und Zeitzone Extraktion können mode,Msextmz.exe nur 65.535 Postfächer auf einem Server verarbeiten. Wenn der Server Hasmore als 65.535 Postfächer, einige Postfächer nicht verarbeitet werden.
  • Öffentliche Ordner-Kalender werden nicht aktualisiert.

    Das Tool Exchange aktualisiert öffentliche Foldercalendars nicht. Weitere Informationen dazu, wie Sie einen öffentlichen Ordner Kalender aktualisieren, sehen die Dokumentation für das Outlook-Tool.
  • Sie können das Outlook-Tool und das Exchange-Tool in der gleichen Umgebung ausführen.

    Wenn Sie dem Exchange-Tool für ein Postfach, hatbereits ausführen wurde aktualisiert mit dem Outlook-Tool (oder umgekehrt), keine Sideeffects auftreten. Jedoch wenn Sie das Exchange-Tool ausführen, besteht keine Notwendigkeit für Benutzer Thorn das Outlook-Tool separat.
  • Nicht-Meeting Erinnerungen werden später als erwartet angezeigt.

    Erinnerungen für Postfächer, die nicht-Besprechung aktualisiert durchDie Exchange Tool werden nicht aktualisiert, wenn Outlook noch nie mit der Mailboxin Online-Modus verbunden wurde. In diesem Fall werden Erinnerungen eine Stunde später Thanexpected.

    Wenn Outlook noch nie die falschen Erinnerungen für Termine im Kalender im Onlinemodus Sie Mustadjust verbunden war, die Outlook-Toolfinds. Darüber hinaus ist der Suchordner Erinnerungen nicht im Postfach vorhanden.Aus diesem Grund aktualisiert das Tool nicht e-Mail-Nachrichten, Kontakte oder andere Daten eingeben.

    Das Tool aktualisiert z. B. nicht die Erinnerung an eine e-Mail-Itemto-Nachverfolgung zu einem Zeitpunkt in der Zukunft. Das Tool aktualisiert auch nicht Thereminder auf ein Aufgabenelement, das einer Erinnerung.
  • Sie erhalten eine Fehlermeldung: "kann nicht installiert werden, da frühere Versionen von 'Microsoft Exchange Calendar Update Tool' erkannt wurden. Deinstallieren Sie diese, und führen Sie Setup erneut"

    Wenn Sie Exchange-Kalender-UpdateTool Version 1.0 bereits installiert haben, müssen Sie diese Version vor der Installation von ExchangeCalendar Update Tool Version 2.0 deinstallieren.

    Exchange Kalender-Update Toolversion 1.0 war eine selbstextrahierende ausführbare Datei, Containedtwo MSI-Pakete (Msextmz.msi und Msextmzcfg.msi) verteilt. Sie müssen vor der Installation von Version 2.0 des Tools Exchange Bothpackages deinstallieren.

    Wenn Youstill Probleme bei der Installation von Version 2.0 des Tools Exchange, versuchen Sie es erneut installieren und deinstallieren Sie dann Version 1.0 des Tools Exchange. Dazu müssen die MSI-Pakete nicht mithilfe der Funktion " RemovePrograms " in der Systemsteuerung mit. Starten Sie dann den Computer neu, und dann die Version 2.0 des Exchange-Tools installieren.

    Wenn dieses Verfahren Erfolg, extrahieren Sie die Binärdateien direkt von MSI-Paketen.
  • Wenn Sie Outlook oder Exchange Update-Tools ausführen, sind Termine um eine Stunde für Postfächer, in denen die Landeszeitzone New Zealand Standard Time ist

    Dieses Verhalten tritt auf, wenn die folgenden Szenarien Aretrue:
    • Führen Sie Outlook oder Exchange Update-Tools auf einem Computer, auf dem Windows Vista ausgeführt wird.
    • Die Landeszeitzone der Postfächer, die aktualisiert werden ist New Zealand Standard Time.
    Um dieses Problem zu umgehen, müssen Sie die Outlook-OrExchange-Update-Tools für die Postfächer ein zweites Mal am oder nach dem 1. Januar 2008 ausführen.

    Dieses Verhalten tritt auf, weil Windows Vista Zeit Zoneinformation anders behandelt als mit anderen Versionen von Windows. Wenn Sie keine TheOutlook oder Exchange-Update-Tools erneut am oder nach dem 1. Januar 2008, ausführen wird um eine Stunde im zweiten DST-Ereignis Allappointments deaktiviert sein. Die zweite DSTevent enthält Daten vom 16. März 2008 bis 6. April 2008.

    Fall möchte warten, bis zum 1. Januar 2008 Termine in der zweiten DSTevent aktualisieren können, führen Sie das Outlook oder Exchange Tools auf einem Computer, Isrunning Windows XP oder Windows Server 2003 zu aktualisieren.
  • Ein Datum im Format MM/TT/JJJJ ändert sich in das Format M/DD/YYYY

    Sie haben die Option Betriebssystem Patch in Exchange Calendar Update Tool festlegen. Wenn Sie dies tun, funktioniert Exchange Calendar Update Tool funktioniert nicht ordnungsgemäß. Dieses Problem tritt auf, weil das Datumsformat MM/TT/JJJJ in M/DD/YYYY geändert wird.

    Darüber hinaus wird eine Fehlermeldung angezeigt, die die folgenden Fehlermeldung ähnelt im Fehlerprotokoll protokolliert:
    [28/02/2008 10:21 UHR][776]: Wmain: Fehler beim Lesen der Konfiguration - Fehler 0 x 80070057.
    Dieses Problem tritt auf, weil eine falsche Einstellung im folgenden Abschnitt Beispiel Postfächer.ServerINI-Datei.
    ServerDN = /O=OrgName/OU=AdminGroup/cn=Configuration/cn=Servers/cn=ServerName LogDirectory = C:\Program Files\MSExTmz\ServerName\Update\LogFiles\ ErrorFile = C:\Program Files\MSExTmz\ServerName\Update\errors.ServerName.txt ProcessedFile = C:\Program Files\MSExTmz\ServerName\Update\processed.ServerName.txt LogFile = C:\Program Files\MSExTmz\ServerName\Update\msextmz.ServerName.log SystemPatchDate = 2/28/2008  DebugFile = C:\Program Files\MSExTmz\debug\ServerName.debug.bin PerMailboxTimeLimit = 15 PostMailboxDelay = 0 RebaseOptions = 171 InputFile = C:\Program Files\MSExTmz\ServerName\Update\Mailboxes.ServerName.txt 
    Beachten Sie, dass die Zeile "SystemPatchDate" das Datum "2/28/08." enthält Dieses Datum muss im Format MM/TT/JJJJ sein.

    Um dieses Problem zu umgehen, verwenden Sie nicht die Option Betriebssystem Patch .
Informationsquellen

Das Skript "Postfach-Berechtigung erteilen"

Option Explicit' For FileSystemObjectConst ForReading = 1Const ForWriting = 2Const ForAppending = 8Const TristateTrue = -1Const TristateUseDefault = -2Const TristateFalse = 0'Permission Type: Allow or DenyConst ADS_ACETYPE_ACCESS_ALLOWED = &H0Const ADS_ACETYPE_ACCESS_DENIED = &H1Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6Const ADS_ACEFLAG_INHERIT_ACE = &H2Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8Const ADS_ACEFLAG_INHERITED_ACE = &H10Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1fConst ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40Const ADS_ACEFLAG_FAILED_ACCESS = &H80'Declare ADSI constantsConst ADS_SCOPE_SUBTREE = 2Const ADS_OPTION_SECURITY_MASK = 3Const ADS_OPTION_REFERRALS	= 1Const ADS_SECURITY_INFO_DACL = 4Const ADS_CHASE_REFERRALS_NEVER = &h00 Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 Const ADS_CHASE_REFERRALS_EXTERNAL = &h40'Microsoft Exchange ServerConst EX_MB_SEND_AS_ACCESSMASK  = &H00100Const EX_FULLMAILBOX_ACCESSMASK = 1Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"'Application Parameter IndexConst ARG_INDEX_MODE = 0Const ARG_INDEX_USERNAME = 1Const ARG_INDEX_FILENAME = 2Const MIN_ARG = 1Const MODE_INVALID = -1 Const MODE_ADD = 0Const MODE_REMOVE = 1Const ADD = "-ADD"Const REMOVE = "-REMOVE"'Application Const StringConst EMPTYSTRING = ""Const ERROR_FILENAME = "GrantMailboxPermission.err"Const OUTPUT_FILENAME = "GrantMailboxPermission.log"Dim OUTPUT_DELIMITEROUTPUT_DELIMITER = vbTab'Logging fileDim objFSODim objfileErrorDim objfileOutputDim objfileImportDim objconnDim objCommandDim rootDSEDim sDomainContainerDim sUserLDAPPathDim objUserDim objSDNTsecurityDim objDACLNTDim objDACLEXDim objSDMailboxDim fFMADim fSendAsDim AccessTypeForFMADim AccessTypeForSendASDim fAddedFMADim fAddedSendAsDim fRemovedFMADim fRemovedSendAsDim sArraySplitDim sOneRowDim sGrantedUserDim dArgCountDim cScriptModeDim dArgExpectedDim fOneErrorOn Error Resume Next'Parameter VerificationdArgCount = Wscript.Arguments.CountIf (dArgCount < MIN_ARG) Then	DisplaySyntaxEnd IfcScriptMode = MODE_INVALIDSelect Case UCase(WScript.Arguments(ARG_INDEX_MODE))	Case ADD		cScriptMode = MODE_ADD		dArgExpected = ARG_INDEX_FILENAME + 1	Case REMOVE		cScriptMode = MODE_REMOVE		dArgExpected = ARG_INDEX_MODE + 1	Case Else		cScriptMode = MODE_INVALIDEnd SelectIf (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then	DisplaySyntaxEnd IfIf (cScriptMode = MODE_ADD) Then	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)	If (IsValidUserName(sGrantedUser) = False) Then		DisplaySyntax	End IfEnd IfCreateImportExportFilesIf (cScriptMode = MODE_ADD) Then	err.Clear		'Prepare LDAP connection.	Set objconn = CreateObject("ADODB.Connection")	Set objCommand = CreateObject("ADODB.Command")	objconn.Provider = "ADSDSOObject"	objconn.Open "ADs Provider"	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		objfileError.WriteLine("Failed to bind to Active Directory server, error:" & err.Description)		WScript.Quit	End If			Set rootDSE = GetObject("LDAP://rootDSE")	sDomainContainer = rootDSE.Get("defaultNamingContext")	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to find a Domain Container:" & err.Description)		objfileError.WriteLine("Failed to find a Domain Container:" & err.Description)		WScript.Quit	End If			Set objCommand.ActiveConnection = objconn	Do While objfileImport.AtEndOfStream <> True		fOneError = False		sUserLDAPPath = EMPTYSTRING		err.Clear		sOneRow = Trim(objfileImport.ReadLine)		If sOneRow <> EMPTYSTRING Then				    sUserLDAPPath = GetLDAPPathFromLegacyDN(sOneRow)		    If (err.number <> 0) Then			    objfileError.WriteLine("Failed to get user's LDAP path from " & sOneRow)			    fOneError = True			    err.Clear		    End If		    If (fOneError = False) Then			    Set objUser = GetObject(sUserLDAPPath)			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If    			    If (fOneError = False) Then			    Set objSDMailBox = objUser.MailboxRights			    Set objDACLEX = objSDMailbox.DiscretionaryAcl			    Set objSDNTsecurity = objUser.ntSecurityDescriptor			    Set objDACLNT = objSDNTsecurity.DiscretionaryAcl			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to get DACL of " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If		    ' Verify Full Mailbox Access and Send As permissions.		    fFMA = False		    fSendAs = False		    AccessTypeForFMA = ADS_ACETYPE_ACCESS_ALLOWED		    AccessTypeForSendAS = ADS_ACETYPE_ACCESS_ALLOWED		    If (fOneError = False) Then			    CheckFullMailboxAccess objDACLEX, sGrantedUser, fFMA, AccessTypeForFMA			    CheckSendAs objDACLNT, sGrantedUser, fSendAs, AccessTypeForSendAS			    If (err.number <> 0) Then				    objfileError.WriteLine("Failed to Check permission of " & sUserLDAPPath)				    objfileError.WriteLine("Error: " & err.Description)				    fOneError = True				    err.Clear			    End If		    End If		    'If Send As or Full Mailbox Access permissions do not exist, add these permissions.		    If ( (AccessTypeForFMA = ADS_ACETYPE_ACCESS_DENIED) Or (AccessTypeForSendAs = ADS_ACETYPE_ACCESS_DENIED_OBJECT) ) Then			    'If Deny access is already granted, do not add permissions for this user.			    objfileError.WriteLine("Deny permission already added: " & sUserLDAPPath)			    fOneError = True		    End If    				    If ( fOneError = False And ((fFMA = False) Or (fSendAs = False)) ) Then			    fAddedFMA = False			    fAddedSendAs = False    						    If (fFMA = False) Then				    'Add Full Mailbox Access permissions.				    err.Clear				    AddAce objDACLEX, sGrantedUser, EX_FULLMAILBOX_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED, ADS_ACEFLAG_INHERIT_ACE, 0,0,0				    objSDMailbox.DiscretionaryAcl = objDACLEX				    objUser.MailboxRights = Array(objSDMailbox)				    If ( err.number <> 0 ) Then					    objfileError.WriteLine("Failed to add FullMailbox Access: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    fAddedFMA = False					    err.Clear				    Else					    fAddedFMA = True				    End If			    End If    						    If (fSendAs = False) Then				    'Add Send As permissions.				    err.Clear				    AddAce objDACLNT, sGrantedUser, EX_MB_SEND_AS_ACCESSMASK, ADS_ACETYPE_ACCESS_ALLOWED_OBJECT, 0,1, EX_MB_SEND_AS_GUID, 0				    objSDNTsecurity.DiscretionaryAcl = objDACLNT				    objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				    objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL				    If ( err.number <> 0 ) Then					    objfileError.WriteLine("Failed to add SendAs permission: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    fAddedSendAs = False					    err.Clear				    Else					    fAddedSendAs = True				    End If			    End If			    If (fOneError = False ) Then 				    objUser.SetInfo				    If (err.number <> 0) Then					    objfileError.WriteLine("Failed to update user: " & sUserLDAPPath)					    objfileError.WriteLine("Error: " & err.Description)					    fOneError = True					    err.Clear						    Else					    'Update logging.					    objfileOutput.WriteLine(sUserLDAPPath & OUTPUT_DELIMITER & fAddedFMA & OUTPUT_DELIMITER & fAddedSendAs)						    End If			    End If		    End If		    Set objUser = Nothing		    Set objSDNTsecurity = Nothing		    Set objDACLNT = Nothing		    Set objDACLEX = Nothing		    Set objSDMailBox = Nothing		    If (fOneError = True) Then			    WScript.StdOut.Write("!")		    Else			    WScript.StdOut.Write(".")		    End If        End If	LoopSet rootDSE = NothingSet objCommand = NothingSet objconn = NothingEnd IfIf (cScriptMode = MODE_REMOVE) Then	'Retrieve the granted user from the first line of the import file.	sGrantedUser = objfileImport.ReadLine	If (IsValidUserName(sGrantedUser) = False) Then		WScript.StdOut.WriteLine("Invalid User in import file. please check import file..")		objfileError.WriteLine("Invalid User in import file. please check import file..")		WScript.Quit	End If		Do While objfileImport.AtEndOfStream <> True		fOneError = False		sUserLDAPPath = EMPTYSTRING		fAddedFMA = False		fAddedSendAs = False		fRemovedFMA = False		fRemovedSendAs = False		err.Clear		sOneRow = objfileImport.ReadLine		sArraySplit = Split(sOneRow, OUTPUT_DELIMITER)		'The first column is the LDAP path.		sUserLDAPPath = sArraySplit(0)		'The second column is Full Mailbox Access permissions.		fAddedFMA = sArraySplit(1)		'The third column is Send As permissions.		fAddedSendAs = sArraySplit(2)		Set objUser = GetObject(sUserLDAPPath)		If (err.number <> 0) Then			objfileError.WriteLine("Failed to get user object from " & sUserLDAPPath)			objfileError.WriteLine("Error: " & err.Description)			fOneError = True			err.Clear		End If				If ((fOneError = False) And (fAddedFMA = "True")) Then					Set objSDMailBox = objUser.MailboxRights			Set objDACLEX = objSDMailbox.DiscretionaryAcl			fRemovedFMA = RemoveFullMailboxAccess(objDACLEX, sGrantedUser)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to Remove Full MailboxAccess from " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear			End If						If (fRemovedFMA = False) Then				objfileError.WriteLine("Couldn't find Full mailbox access permission on " & sUserLDAPPath)			End If						If ((fOneError = False) And (fRemovedFMA = True)) Then				objSDMailbox.DiscretionaryAcl = objDACLEX				objUser.MailboxRights = Array(objSDMailbox)			End If		End If		If ((fOneError = False) And (fAddedSendAs = "True")) Then					Set objSDNTsecurity = objUser.ntSecurityDescriptor			Set objDACLNT = objSDNTsecurity.DiscretionaryAcl			fRemovedSendAs = RemoveSendAs(objDACLNT, sGrantedUser)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to Remove SendAs from " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear			End If			If (fRemovedSendAs = False) Then				objfileError.WriteLine("Couldn't find SendAs permission on " & sUserLDAPPath)			End If						If ((fOneError = False) And (fRemovedSendAs = True)) Then				objSDNTsecurity.DiscretionaryAcl = objDACLNT				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL			End If		End If		If ((fOneError = False) And (fRemovedFMA Or fRemovedSendAs)) Then			objUser.SetInfo			If (err.number <> 0) Then				objfileError.WriteLine("Failed to update ADSI for user: " & sUserLDAPPath)				objfileError.WriteLine("Error: " & err.Description)				fOneError = True				err.Clear					Else 				If ( fRemovedFMA Or fRemovedSendAs ) Then					'Update logging.					objfileError.WriteLine("Removed Permission from " & sUserLDAPPath & OUTPUT_DELIMITER & fRemovedFMA & OUTPUT_DELIMITER & fRemovedSendAs)				End If			End If		End If		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If	LoopEnd IfCloseImportexportFilesFunction IsValidUserName (sUserName)	Dim dPosition	dPosition = InStr(1, sUserName, "\")	If (dPosition = 0 ) Then		IsValidUserName = False		objfileError.WriteLine("Invalid User:" & sUserName)	Else		IsValidUserName = True	End IfEnd FunctionFunction CheckSendAs (objNTSD, sUser, fSendAs, AccessType)	Dim intACECount	Dim objACE		err.Clear	fSendAs = False	AccessType = ADS_ACETYPE_ACCESS_ALLOWED	intACECount = objNTSD.AceCount	If intACECount Then		For Each objACE In objNTSD			err.Clear			If ( (UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				fSendAs = True				AccessType = objACE.AceType			End If		Next	End If		If (err.number <> 0) Then		objfileError.WriteLine("Check SendAs permissions Failed : " & sUser)		objfileError.WriteLine("Error: " & err.Description)		err.Clear		fOneError = True	End If	Set objACE = NothingEnd FunctionFunction CheckFullMailboxAccess (objACL, sUser, fFoundFMA, AccessType)	Dim intACECount	Dim objACE	err.Clear	fFoundFMA = False	AccessType = ADS_ACETYPE_ACCESS_ALLOWED	intACECount = objACL.AceCount	If intACECount Then		For Each objACE In objACL			If ( (UCase(objACE.Trustee) = UCase(sUser)) And ((objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0)) Then				fFoundFMA = True				AccessType = objACE.AceType			End If		Next	End If	If (err.number <> 0) Then		objfileError.WriteLine("Check FullMailbox permissions Failed : " & sUser)		objfileError.WriteLine("Error: " & err.Description)		err.Clear		fOneError = True	End If	Set ObjACE = NothingEnd FunctionFunction RemoveSendAs (objNTSD, sUser)	Dim intACECount	Dim objACE	Dim fFound		fFound = False	intACECount = objNTSD.AceCount		If intACECount Then		For Each objACE In objNTSD			If ((UCase(objACE.Trustee) = UCase(sUser)) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				objNTSD.RemoveAce objACE				fFound = True			End If		Next	End If	RemoveSendAs = fFound		End FunctionFunction RemoveFullMailboxAccess (objACL, sUser)	Dim intACECount	Dim objACE	Dim fFound		fFound = False	intACECount = objACL.AceCount		If intACECount Then		For Each objACE In objACL			If((0 <> Instr(UCase(objACE.Trustee), UCase(sUser))) And (objACE.AccessMask And EX_FULLMAILBOX_ACCESSMASK) <> 0) Then				objACE.AccessMask = (objACE.AccessMask Xor EX_FULLMAILBOX_ACCESSMASK)				fFound = True			End If		Next	End If	RemoveFullMailboxAccess = fFound		End FunctionFunction GetLDAPPathFromLegacyDN (sLegacyDN)	Dim rsUsers	Dim sLdapPath		objCommand.CommandText = "<GC://" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(legacyExchangeDN=" & sLegacyDN & ")) ))));adspath;subtree"	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE	objCommand.Properties("Page Size") = 10	objCommand.Properties("Timeout") = 30 	objCommand.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)	err.Clear		Set rsUsers = objCommand.Execute	If (err.number <> 0) Then		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)		fOneError = True	End If		If (rsUsers.RecordCount = 0) Then		objfileError.WriteLine("No mailbox owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")		fOneError = True			End If	If (rsUsers.RecordCount > 1) Then		objfileError.WriteLine("Multiple mailboxs owner user accounts found for " & sLegacyDN & " in " & sDomainContainer & ".")		fOneError = True			End If	sLdapPath = Replace(rsUsers.Fields(0).Value, "GC://", "LDAP://")		GetLDAPPathFromLegacyDN = sLdapPath	Set rsUsers = NothingEnd FunctionFunction CloseImportexportFiles	objfileError.WriteLine("*******************************************************")	objfileError.WriteLine("End at " & Date & " " & Time)	objfileError.WriteLine("*******************************************************")	objFSO.Close	objfileError.Close	objfileOutput.Close	objfileImport.Close		Set objFSO = Nothing	Set objfileError = Nothing	Set objfileOutput = Nothing	Set objfileImport = NothingEnd FunctionFunction CreateImportExportFiles	Dim sErrorsFileName	Dim sImportFileName	Dim sOutputFileName	err.Clear	Set objFSO = CreateObject("Scripting.FileSystemObject")	sErrorsFileName = ERROR_FILENAME	sImportFileName = EMPTYSTRING	sOutputFileName = EMPTYSTRING	Select Case cScriptMode		Case MODE_ADD			sImportFileName = WScript.Arguments(ARG_INDEX_FILENAME)			sOutputFileName = OUTPUT_FILENAME		Case MODE_REMOVE			sImportFileName = OUTPUT_FILENAME 'Use the output file name as the import file.			sOutputFileName = EMPTYSTRING			Case Else			DisplaySyntax	End Select	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForAppending, True, TristateTrue)	objfileError.WriteLine("*******************************************************")	objfileError.WriteLine("Start at " & Date & " " & Time)	objfileError.WriteLine("*******************************************************")	If (cScriptMode = MODE_REMOVE) Then		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateTrue)	Else		Set objfileImport = objFSO.OpenTextFile(sImportFileName, ForReading, False, TristateFalse)	End If	If (sOutputFileName <> EMPTYSTRING) Then		'Determine whether the output file already exists.		If (objFSO.FileExists(sOutputFileName)) Then			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForReading, False, TristateTrue)			sOneRow = objfileOutput.ReadLine			'If the user name in the file differs from the parameter, the process cannot continue.			If ( sOneRow <> sGrantedUser ) Then				WScript.StdOut.WriteLine("The Domain\User must be the same as " & sOneRow )				WScript.Quit			End If			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForAppending, True, TristateTrue)		Else			Set objfileOutput = objFSO.OpenTextFile(sOutputFileName, ForWriting, True, TristateTrue)			'The first line of the log file is the user who is granted the permissions.			objfileOutput.WriteLine(sGrantedUser)		End If	End If		If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to open Log file, error:" & err.Description)		WScript.Quit	End IfEnd FunctionFunction AddAce(dacl, TrusteeName, gAccessMask, gAceType, gAceFlags, gFlags, gObjectType, gInheritedObjectType)	Dim Ace1		Set Ace1 = CreateObject("AccessControlEntry")	Ace1.AccessMask = gAccessMask	Ace1.AceType = gAceType	Ace1.AceFlags = gAceFlags	Ace1.Flags = gFlags	Ace1.Trustee = TrusteeName	'Determine whether ObjectType has to be set.	If CStr(gObjectType) <> "0" Then		Ace1.ObjectType = gObjectType	End If	'Determine whether InheritedObjectType has to be set.	If CStr(gInheritedObjectType) <> "0" Then		Ace1.InheritedObjectType = gInheritedObjectType	End If	dacl.AddAce Ace1    Set Ace1 = NothingEnd FunctionFunction DisplaySyntax	WScript.StdOut.WriteLine("Syntax:")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Full mailbox access and SendAs permission to USER based on IMPORT_FILE:")	WScript.StdOut.WriteLine("    CSCRIPT " & WScript.ScriptName & " -Add DOMAIN\USER IMPORT_FILE")	WScript.StdOut.WriteLine("    NOTE: """ & OUTPUT_FILENAME & """ will be created for -Remove option ")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Remove Full mailbox access and SendAs permission based on " & OUTPUT_FILENAME & ":")	WScript.StdOut.WriteLine("    CSCRIPT """ & WScript.ScriptName & """ -Remove ")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("For all modes, errors are saved to " & ERROR_FILENAME )	WScript.Quit	End Function

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 941018 – Letzte Überarbeitung: 12/22/2014 20:52:00 – Revision: 2.0

Microsoft Exchange Server 2007 Enterprise Edition, Microsoft Exchange Server 2007 Standard Edition, Microsoft Exchange Server 2003 Enterprise Edition, Microsoft Exchange Server 2003 Standard Edition, Microsoft Exchange 2000 Enterprise Server, Microsoft Exchange 2000 Server Standard Edition

  • kbhowto kbinfo kbmt KB941018 KbMtde
Feedback
&t=">