Benutzer können keine e-Mail-Nachrichten von einem mobilen Gerät oder einem freigegebenen Postfach in Exchange 2000 Server und Exchange Server 2003 senden

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: 912918
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Problembeschreibung
Beim Senden einer e-Mail-Nachricht in Microsoft Exchange 2000 Server oder Microsoft Exchange Server 2003 kann keine e-Mail-Nachricht senden. Darüber hinaus erhalten Sie eine der folgenden Fehlermeldungen oder einer der folgenden Unzustellbarkeitsberichte (NDRs).

Fehlermeldungen

  • Zugriff verweigert
  • Sie haben nicht genügend auf diesen Vorgang für dieses Objekt. Finden Sie die Kontaktperson dieses Ordners oder Ihrem Systemadministrator.
  • Nicht aufgeführte MessageError
  • MAPI_E_NO_ACCESS 2147024891
  • Fehler beim Senden der e-Mail-Nachricht Foruser Benutzername (HRESULT:-2147024891) anhalten Benutzer Benutzername. (Sicherheitsfehler-das Postfach des Benutzers kann nicht zugegriffen werden.)
  • Ressource NotFound
Hinweis Sie erhalten die Fehlermeldung "Zugriff verweigert" oder "Ressource wurde nicht gefunden" wird von Microsoft Outlook Web Access, wenn Sie mit einem Stellvertreterkonto angemeldet sind.

Unzustellbarkeitsberichte

  • Du hast keine Berechtigung zum Senden an diesen Empfänger. Forassistance, wenden Sie sich an Ihren Systemadministrator.
  • Die Nachricht konnte nicht gesendet werden, mit Ihrem Postfach. Sie berechtigt, die Nachricht im Auftrag des angegebenen Benutzers zu senden.

Betroffene Produkte

Dieses Problem tritt bekanntermaßen auf folgenden Drittanbieterprodukte:
  • Research In Motion (RIM) BlackBerry Enterprise Server (BES)
  • Hervorragende Technologie GoodLink Wireless Messaging
Dieses Problem kann auch benutzerdefinierte MAPI oder CDO Collaborative Data Objects-basierte Programme, die e-Mail-Nachrichten betreffen.

Andere Produkte von Drittanbietern, die Dienstkonten zum Senden von e-Mail-Nachrichten verwenden können ebenfalls betroffen sein. Wenn Sie ein Fremdanbieterprodukt ausführen, die von diesem Problem betroffen ist, wird empfohlen, den Hersteller um Hilfe bei diesem Problem.

Allerdings hat bestätigt, dass die folgenden Drittanbieterprodukte nicht betroffen sind:
  • Cisco Unity Unified Messaging
  • Quest Migration Suite für Exchange
  • Das Microsoft ExMerge-Dienstprogramm für Exchange
Ursache
Dieses Problem kann auftreten, wenn eine der folgenden Situationen zutrifft:
  • Sie sind nicht berechtigt, e-Mail-Nachrichten als Themailbox Besitzer Konto senden, die mit der e-Mailmessage senden.
  • Sie führen Microsoft Exchange 2000 Server Service Pack3 (SP3) mit Store.exe Dateiversion, die gleich oder höher als version6619.4. Version 6619.4 wurde zuerst im folgenden MicrosoftKnowledge Base bereitgestellt:
    915358 Ein Hotfix steht zur Änderung der Berechtigung "Vollständiger Postfachzugriff" in Exchange 2000 Server
  • Microsoft Exchange Server 2003 SP1 sind mit einer Version der Store.exe ausgeführt werden, die gleich oder höher als version7233.51.
  • Exchange Server 2003 SP2 wird mit einem Store.exefile ausgeführt werden, die älter ist als Version 7650.23 oder gleich. Version 7650.23was Microsoft Knowledge Basearticle zunächst bereitgestellt:
    895949 Verhaltens der Berechtigung "Senden als" in Exchange 2003 geändert.
    Diese Änderung ist nicht in Exchange Server 2003 SP2 enthalten. Wenn Sie Exchange Server 2003 SP1-Version der Store.exe-Datei, die diese Änderung ausführen und auf Exchange Server 2003 SP2 aktualisieren, installieren Sie die SP2-Version dieses Hotfix, um das neue Verhalten. Diese Änderung wird in Microsoft Exchange Server 2003 SP3 enthalten.
SICHERHEITSASPEKTE
Bevor Sie die im Abschnitt "Ursache" aufgelisteten Dateiversionen Store.exe Berechtigung implizit die Berechtigung Vollständiger Postfachzugriff gewährt, als Postfacheigentümer senden. Dies bedeutete, dass ein anderes Konto mit der Berechtigung Vollständiger Postfachzugriff e-Mail-Nachrichten gesendet werden, die verwendet wurde, als ob sie vom Postfachbesitzer gesendet wurden.

Viele Microsoft Exchange-Kunden wünschen, dass die Berechtigung Senden als den folgenden zwei Gründen die Berechtigung Vollständiger Postfachzugriff getrennt werden:
  • Um e-Mail-spoofing zu verhindern.
  • Um sicherzustellen, dass e-Mail-möglich Nachrichten von Adelegate immer von e-Mail-Nachrichten, die tatsächlichen Postfacheigentümer Sentby.
Alle Versionen des Exchange-Informationsspeichers ist nun explizit die Berechtigung Senden als e-Mail-Nachrichten als Postfachbesitzer senden erforderlich. Enthält die folgenden drei Ausnahmen für diese Anforderung:
  • Das Postfacheigentümer-Konto erfordert keine explizite senden Aspermissions für das eigene Postfach.
  • Zugeordnetes externes Konto für ein Postfach ist Notrequire explizite Berechtigung.
  • Ein Stellvertreterkonto, die auch die vollständige Postfach "LaunchPermission" erfordert keine explizite Berechtigung.
Weitere Informationen zu diesen Ausnahmen finden Sie im Abschnitt "Weitere Informationen".
Lösung
Alle Konten, teilweisen oder vollständigen Zugriff auf ein Postfach mit Ausnahme derjenigen, die im Abschnitt "Ursache" erhalten, müssen nun explizit die Berechtigung "Senden als" für den Postfacheigentümer-Konto erteilt werden um e-Mails als Postfacheigentümer senden. Dies umfasst Anwendungsdienstkonten, die Funktionen wie das Senden von e-Mail-Nachrichten für Benutzer mobiler Geräte durchführen.

Die Berechtigung Senden als gilt für die Identität eines Active Directory-Benutzerobjekts sich in einer Datenbank gespeicherte Postfachinhalte. Daher muss die Berechtigung Senden als für das Dienstkonto auf jedem Benutzerobjekt gewährt, das ein Postfach besitzt. Wenn e-Mail-Nachrichten gesendet werden, werden sie nicht aus einem bestimmten Postfach oder einer Datenbank und eines Benutzers gesendet. Der Benutzer kann sein Besitzer des Postfachs oder ein Konto, das über die Berechtigung Senden als verfügt.

Nicht die Berechtigung Senden als auf einem Server mit Exchange Server oder einem Datenbankobjekt gewähren und gewähren der Berechtigung "Senden als" für alle Postfächer in der Datenbank erreichen. Die Berechtigung Senden als auf einem Exchange-Datenbankobjekt können Sie Berechtigungen auf die Datenbank. Die Berechtigung wird von allen Postfächern in der Datenbank geerbt. Allerdings ist es Ihnen nicht berechtigt den Benutzer, die Berechtigungen Senden als und Postfächer in der Datenbank haben.

Hinweis Gewähren der Berechtigung "empfangen als" für eine Exchange-Datenbank entspricht in funktionaler gewährt die Berechtigung Vollständiger Postfachzugriff für alle Postfächer in der Datenbank. Dies unterscheidet sich vom Verhalten der Berechtigung Senden als.

Das Gewähren der Berechtigung "Senden als" für ein Konto

Um explizit ein anderes Konto als Postfacheigentümer senden Berechtigung, gehen Sie folgendermaßen vor:
  1. Managementconsole Active Directory-Benutzer und-Computer zu starten.
  2. Stellen Sie im Menü Ansicht sicher, dass die OptionErweiterte Funktionen ausgewählt ist. Ist diese Option nichtgewählt, wird die Seite Sicherheit für Benutzer Accountobjects nicht angezeigt.
  3. Öffnen Sie die Eigenschaften des Benutzerkontos, das Themailbox besitzt.
  4. Klicken Sie auf die Registerkarte Sicherheit.
  5. Wenn das Konto noch nicht in der Liste der Gruppen- oder Benutzernamen enthalten ist, fügen Sie das Konto die Berechtigung Senden als für Thisuser sollte.
  6. Klicken Sie im Feld Berechtigungen das ermöglichen die "Senden als"<b00> </b00> Berechtigungen für das entsprechende Konto.
  7. Klicken Sie auf OK.
  8. Starten Sie den Dienst Microsoft Exchange Information Store auf dem betroffenen Exchange-Server.
Hinweis Wenn Sie nicht Microsoft Exchange Information Store Service neu, aktualisiert Microsoft Exchange Information Store Service seinen Berechtigungscache zu neuen Berechtigungen entsprechend dem im folgenden Registrierungsunterschlüssel festgelegten Wert wirksam:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Wertname: Mailbox Cache Age Limit
Typ: REG_DWORD
Basis: Dezimal
Wertdaten: Die Altersgrenze Postfach Informationen Cache in Minuten.
Der Standardwert für diesen Registrierungseintrag ist 120 Minuten (zwei Stunden). Wenn Sie diesen Registrierungseintrag ändern, müssen Sie Microsoft Exchange Information Store Service starten.

Hinweis Wenn Sie die Zeitüberschreitungswerte auf einen sehr niedrigen Wert einstellen, kann die Leistung des Servers beeinträchtigen.

Das gewähren die Berechtigung "Senden als" für mehrere Konten

Ein Beispielskript wird am Ende dieses Artikels bereitgestellt, die eine Active Directory-Domäne für Konten suchen, die die Berechtigung "Vollständiger Postfachzugriff" ohne Berechtigung "Senden als" für ein Postfach. Dies sind die Merkmale eines Dienst oder Ressource ein, die diese Sicherheitsfunktion auswirkt. Das Skript kann eine Exportdatei generieren, die überprüfen, bearbeiten und dann erneut importieren, um Konten die Berechtigung Senden als erteilen, für die diese Berechtigung erforderlich.

Die Berechtigung Senden als erteilen Sie durch Vererbung auf jedem Benutzerobjekt in einer Active Directory-Domäne oder in einem Container. Wenn Sie von dieser Methode die Berechtigung Senden als erteilen, kann Berechtigungen für Objekte erteilen, die Sie nicht. Außerdem verlieren Sie möglicherweise Berechtigungen für Objekte, die aus dem Container verschoben werden. Daher wird diese Methode wird jedoch nicht empfohlen und möglicherweise Sicherheitsaspekte sorgfältig bedacht werden sollten, bevor Sie es implementieren.

Wenn Sie Berechtigung "Senden als" mithilfe dieser Methode gewähren, sind Konten, die die Berechtigung Senden als geerbt hat für das Skript sichtbar, die am Ende dieses Artikels verwiesen wird. Die ererbte Berechtigung Senden als müssen zuerst entfernen, um diese Konten zu einem späteren Zeitpunkt mithilfe des Skripts zu verarbeiten.

Gehen Sie folgendermaßen vor, um die Berechtigung "Senden als" für ein einzelnes Konto auf allen Benutzerkonten in einer Active Directory-Domäne oder im Container mithilfe von Vererbung zu gewähren:
  1. Managementconsole Active Directory-Benutzer und-Computer zu starten.
  2. Stellen Sie im Menü Ansicht sicher, dass die OptionErweiterte Funktionen ausgewählt ist. Ist diese Option nichtgewählt, wird die Seite Sicherheit und Containerobjects nicht angezeigt.
  3. Öffnen Sie die Eigenschaften der Domäne Container oder klicken Sie auf der Seite Sicherheit.
  4. Klicken Sie auf Erweitert.
  5. Wenn das Konto die Berechtigung noch nicht aufgeführt ist, klicken Sie auf Hinzufügenund wählen Sie das Konto. Andernfalls doppelte Datumsoptionen Konto bearbeiten.
  6. Klicken Sie in der Liste Übernehmen aufBenutzerobjekte.
  7. Gewähren Sie dem Konto die Berechtigung Senden als.
  8. Klicken Sie auf OK , bis Sie beendet und Savedall ändert.

Spezielle Regeln für AdminSDHolder-geschützte Konten

Wenn Sie das Skript für einen Postfachbesitzer die Berechtigung Senden als erteilen, die auch ein Domänenadministrator verwenden, wird die Berechtigung Senden als nicht wirksam. Es wird dringend empfohlen, dass Sie nicht postfachaktiviert sind Benutzerkonten, die Domänenadministratorrechten oder adminSDHolder-geschützte.

Das Objekt AdminSDHolder ist eine Vorlage für Konten mit umfassenden Administratorrechten Active Directory. Um unbeabsichtigte Ausweitung von Berechtigungen zu verhindern, muss jedes Konto, das durch das Objekt AdminSDHolder geschützt ist berechtigt, die denen entsprechen, die auf das Objekt AdminSDHolder aufgeführt sind.

Wenn Sie die Rechte oder Berechtigungen für das Objekt AdminSDHolder für ein geschütztes Konto ändern, macht eine Hintergrundaufgabe Änderung innerhalb weniger Minuten rückgängig. Z. B. Wenn Sie die Berechtigung "Senden als" für einen Administrator Domänenobjekt für ein Anwendungsdienstkonto gewähren, wird Hintergrundaufgabe automatisch die Berechtigung aufheben.

Daher können nicht Sie die Berechtigung "Senden als" auf einem Anwendungsdienstkonto für ein Konto gewähren, die Ändern der AdminSDHolder -Objekts selbst durch das Objekt AdminSDHolder geschützt ist. Wenn Sie das Objekt AdminSDHolder ändern, ändert die Zugriffsberechtigungen für alle geschützten Konten. Sie sollten das Objekt AdminSDHolder nur nach einer vollständigen Überprüfung der Sicherheitsimplikationen, die auftreten können ändern, mit der Änderung.

Um ein Postfach einem Konto zuzuordnen, die durch das Objekt AdminSDHolder geschützt ist, gehen Sie folgendermaßen vor:
  1. Managementconsole Active Directory-Benutzer und-Computer zu starten.
  2. Stellen Sie im Menü Ansicht sicher, dass die OptionErweiterte Funktionen ausgewählt ist. Ist diese Option nichtgewählt, wird die Seite Sicherheit für Benutzerkontoobjekte nicht angezeigt.
  3. Erstellen Sie ein gewöhnliches Benutzerkonto als der Postfachbesitzer fungieren.
  4. Weisen Sie dem gewöhnlichen Benutzerkonto ein Postfach auf einem Exchange.
  5. Öffnen Sie die Eigenschaften des neuen Postfacheigentümer-Kontos.
  6. Im Feld Exchange Erweiterte Berechtigung TheFull Postfachzugriff auf geschützten Administratoraccount.
  7. Erteilen Sie auf der Seite Sicherheit die Berechtigung Senden als Administratorkonto Theprotected.
  8. Klicken Sie auf OK , um die Eigenschaften des Themailbox-Objekt schließen.
  9. Klicken Sie auf das Postfacheigentümer-Konto-Objekt und dann auf Konto deaktivieren Sie das Konto für alle Anmeldung deaktivieren.
Weitere Informationen zu AdminSDHolder-geschützten Konten finden Sie in den folgenden Artikeln der Microsoft Knowledge Base anzeigen:
907434 Das "Send As" das Rechte aus einem Benutzerobjekt entfernt wird, nachdem "Send As" Rechte in dem Active Directory-Benutzer und-Computer konfigurieren-Snap-in in Exchange Server
318180 AdminSDHolder Thread wirkt sich auf transitiven Mitgliedern Verteilergruppe
817433 Delegierte Berechtigungen sind nicht verfügbar und Vererbung wird automatisch deaktiviert.
306398 AdminSDHolder-Objekt beeinflusst Delegierung von Verwaltungsfunktionen für letzten Administratorkonten

Spezielle Aufgaben für BlackBerry Enterprise Server

Aufgabe 1: Sicherstellen Sie, dass BlackBerry Enterprise Server als separates, eindeutiges Konto ausgeführt wird

Stellen Sie sicher, dass das BlackBerry Enterprise Server als separates Konto ausgeführt wird, das speziell für Administrationsaufgaben erstellt wird. Standardmäßig heißt dieses Konto "BESAdmin".

Ein separates Konto für die Verwaltung von BlackBerry Enterprise Server verfügen, fahren Sie mit Aufgabe 2.

Wenn Sie nicht über ein separates Konto verfügen, erstellen Sie ein eigenes Konto. Verwenden Sie dieses Konto anschließend für administrative Aufgaben. Finden Sie weitere Informationen, wenn Sie BlackBerry Enterprise Server 4.0 oder BlackBerry Enterprise Server 4.1 ausführen BlackBerry Enterprise Server-Installationshandbuch. Weitere Informationen zu diesen Sie BlackBerry Enterprise Server 3.6 ausführen, finden Sie im BlackBerry Enterprise Server 2000/2003-Installation und erste Schritte

Aufgabe 2: Sicherstellen Sie, dass das BlackBerry Enterprise Server-Dienstkonto die erforderlichen Berechtigungen verfügt

Stellen Sie sicher, dass das BlackBerry Enterprise Server-Dienstkonto die erforderlichen Berechtigungen verfügt.

Hinweis Ist das Konto in einer Domäne, stellen Sie sicher, dass das Konto Mitglied der Domäne-Benutzergruppe. Auf einem Domänencontroller sollte das Konto Mitglied der integrierten Administratorengruppe sein.
  1. Folgendermaßen Sie auf dem BlackBerry Enterprise Server vor:
    1. Stellen Sie sicher, dass das Konto Mitglied der lokalen Administratorgruppe ist.
    2. Das Konto "Lokal anmelden" und "Log als Dienst" Berechtigungen zuweisen.
  2. GRANT Exchange-Administratorberechtigung auf Theadministrative Gruppenebene. Gehen Sie hierzu folgendermaßen vor:
    1. In Exchange-System-Manager Maustaste erste Exchange Server administrative Gruppe und dann auf Kontrolle zuweisen.
    2. Beachten Sie, dass das BlackBerry Enterprise Server-Dienstkonto mit der Exchange-Administrator mit Leserechten aufgeführt ist.
  3. Erteilen Sie "Senden als", "Empfangen als" und "Informationsspeicher verwalten" Berechtigungen Ebene für jeden Exchange-Server. Dazu müssen gehen Sie folgendermaßen vor:
    1. In Exchange-System-Manager Maustaste erste Exchange Server administrative Gruppe, und erweitern Sie die Servergruppe .
    2. Mit der rechten Maustaste eines Exchange-Servers, klicken Sie auf Eigenschaftenund dann auf Sicherheit.
    3. Wählen Sie im oberen Bereich das BlackBerry Enterprise Server-Dienstkonto. Sicherstellen Sie im unteren Bereich, dass die "Senden als" "Empfangen als" und "Informationsspeicher verwalten" Berechtigungen auf Zulassenfestgelegt.
    4. Wiederholen Sie die Schritte 3 b und 3c für jeden Exchange-Server.
  4. Erteilen Sie "Senden als", "Empfangen als" und "Informationsspeicher verwalten" Berechtigungen für das Postfach speichern. Gehen Sie hierzu folgendermaßen vor:
    1. In Exchange-System-Manager Maustaste erste Exchange administrative Gruppe, und erweitern Sie die Servergruppe .
    2. Die erste Mailbox Store Gruppe, jeden Postfachspeicher Maustaste klicken Sie auf Eigenschaftenund klicken Sie dann auf Sicherheit.
    3. Wählen Sie im oberen Bereich das BlackBerry Enterprise Server-Dienstkonto. Sicherstellen Sie im unteren Bereich, dass die "Senden als" "Empfangen als" und "Informationsspeicher verwalten" Berechtigungen auf Zulassenfestgelegt.
    4. Wiederholen Sie die Schritte 4 b und 4c für jeden Postfachspeicher auf jedem Exchange-Server.
  5. In den Active Directory-Benutzer und -Computer-Snap-in MTS-Schritten:
    1. Maustaste auf Benutzer Berechtigungen hinzufügen möchten, und klicken Sie dann auf Eigenschaften.
    2. Fügen Sie auf der Registerkarte Sicherheit das BlackBerry Enterprise Server-Dienstkonto hinzu und aktivieren Sie dann das Kontrollkästchen " Senden als ".
Wenn Exchange Server 2003 nicht ausgeführt werden, finden Sie unter Schritt 3.

Aufgabe 3: Deaktivieren Sie den Cache auf dem BlackBerry Enterprise Server

Um den Berechtigungscache im Exchange-Informationsspeicher zu löschen, starten Sie die Blackberry-spezifischen Dienste und starten Sie Microsoft Exchange Information Store. Nach dem Neustart des Exchange-Informationsspeichers müssen Sie die RIM Blackberry-spezifischen Dienste Konto "BESAdmin" die neu hinzugefügte Berechtigung Senden als in der Exchange-Informationsspeicher gewähren starten.
Weitere Informationen
Exchange-Postfächer und Ordner Zugriffsberechtigungen sind Active Directory und Microsoft Exchange-Datenbanken aufgeteilt. Beide Arten von Berechtigungen werden in der Active Directory-Benutzerverwaltungskonsole festgelegt, jedoch unterschiedliche Berechtigungen an zwei separaten Speicherorten gespeichert.

In der Regel ist eine Berechtigung auf der Seite Sicherheit für ein Objekt festgelegt ist, eine Active Directory-Berechtigung. Auf der Seite Exchange Erweiterte Postfachberechtigungen festgelegt ist, ist eine Exchange-Datenbankberechtigung.

Das Active Directory-Attribut MsExchMailboxSecurityDescriptor ist eine Sicherungskopie einer Teilmenge der effektiven Postfachberechtigungen. Sie wird intern von Exchange für verschiedene Zwecke verwendet. Außerdem wird das Attribut MsExchMailboxSecurityDescriptor aktualisiert aktuell effektiven Berechtigungen übereinstimmt, wenn Administratoren unterstützte Schnittstellen zum Zuweisen von Berechtigungen verwenden. Allerdings wird das Attribut MsExchMailboxSecurityDescriptor direkt von einem Administrator geändert, die Änderung nicht an den Exchange-Informationsspeicher übertragen und die Änderung nicht wirksam. Es ist nicht unbedingt mit den tatsächlichen Postfachberechtigungen synchronisiert werden. Sie sollten das Attribut MsExchMailboxSecurityDescriptor nicht lesen oder Schreiben von Postfachberechtigungen verwenden.
Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
310866 Postfachberechtigungen für Exchange Server 2003 und Exchange 2000 Server auf ein Postfach existiert im Informationsspeicher festlegen

Vollständiger Postfachzugriff ist Datenbank Exchange-Speicherberechtigung. Die Berechtigung Senden als ist eine Active Directory-Berechtigung. Bevor Exchange Store.exe Änderungen, die in diesem Artikel des Exchange-Systems beschrieben werden nicht die Einstellung die Berechtigung Senden als wenn finden Sie bereits der Absender die Berechtigung Vollständiger Postfachzugriff.

Einbeziehung der Berechtigung "Senden als" mit Vollständiger Postfachzugriff konnten Exchange Server-Administratoren, sich selbst effektive Berechtigungen "Senden als" für jedes Postfach auf einem Server gewähren, die sie verwalten. Durch die Trennung der Berechtigungen Senden als Vollständiger Postfachzugriff, können Active Directory-Administratoren diesen Prozess jetzt blockieren, da die Berechtigung Senden als Active Directory-Berechtigung und keine Exchange-Speicherberechtigung ist. Deshalb der Prozess nicht unbedingt von Administratoren gesteuert.

Postfacheigentümer

Ein Postfacheigentümer ist als Active Directory-Benutzerkonto definiert, dessen MsExchMailboxGUID -Attribut den global eindeutigen Bezeichner (GUID) für ein bestimmtes Postfach trägt. Nur ein Konto in der gesamten Struktur darf die GUID für ein bestimmtes Postfach tragen. Wenn Sie versuchen, einen zweiten Eigentümer mit demselben GUID festzulegen, weist Active Directory Änderung mit einem Fehler zurück.

Wenn Sie postfachaktiviert Firma oder Verbinden ein getrenntes Postfach mit Active Directory-Konto, wird das Postfach GUID automatisch auf dieses Konto festgelegt. Es ist selten erforderlich oder empfehlenswert, dass Administratoren Postfach-GUIDs direkt festlegen.

Zugeordnete externe Konten

Eine häufige Exchange-Konfiguration ist, Exchange in einer Ressourcengesamtstruktur zu installieren. Eine Ressourcengesamtstruktur ist eine Gesamtstruktur in einer anderen Gesamtstruktur als die Benutzerkonten, die Postfächer im System. Dies stellt ein Problem, da das MsExchMailboxGUID -Attribut nur auf Objekten in derselben Gesamtstruktur wie der Exchange-Server festgelegt werden kann.

Die Lösung für dieses Problem ist ein Konto in der Exchange Server-Gesamtstruktur postfachaktivieren. Anschließend verknüpfen Sie dieses Postfach-aktivierte Konto mit einer anderen Gesamtstruktur oder in einer Microsoft Windows NT 4-Domäne. Dazu die Berechtigung Zugeordnetes externes Konto. Ein einzelnes Konto kann die Berechtigung Zugeordnetes externes Konto gewährt. Das ausgewählte Konto muss aus einer anderen Gesamtstruktur.

Beim Festlegen der Berechtigung Zugeordnetes externes Konto schreiben Sie den SID-Wert für das externe Konto dem MsExchMasterAccountSID -Attribut des Postfacheigentümers. Daher ist dies keine Berechtigung, sondern eine bequeme Möglichkeit, den Wert des Attributs MsExchMasterAccountSID steuern. Nach dem MsExchMasterAccountSID -wurde Attribut festgelegt, das externe Konto, das die SID Exchange-Zugriff gewährt, als wäre es das tatsächliche Postfacheigentümer-Konto besitzt.

Hinweis Dies gilt nur für Exchange-Zugriff, nicht für alle Active Directory-Zugriff. Außerdem sollten Sie das Postfacheigentümer-Konto als für die Anmeldung deaktiviert kennzeichnen, nach dem Festlegen der Berechtigung Zugeordnetes externes Konto, damit alle Berechtigungen erwartungsgemäß funktionieren.
Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
300456 Clientberechtigungen und Delegierungen nicht nach Exchange 2000 zugewiesen bleiben erhalten

Delegierung

Ein Delegat ist ein Benutzer, der teilweise auf ein anderes Postfach und zum Senden von e-Mail-Nachrichten im Namen dieser Postfacheigentümer erteilt. Delegierung häufig wird ein Verwaltungsassistent für den Kalender einer Führungskraft Stellvertreterzugriff erteilen. Delegaten kann normalerweise lesen und Aktualisieren des Kalenders. Darüber hinaus kann Delegaten auf e-Mail-Nachrichten im Auftrag des Vorgesetzten Antworten.

Die folgenden zwei Schnittstellen können Senden im Auftrag von und Delegieren von Berechtigungen:
  • Erteilen Sie in dem Postfacheigentümer-Objekt senden im Auftrag von Berechtigungen in Exchange-Allgemein im Dialogfeld.
  • Verwenden Sie das Dialogfeld Delegaten in Microsoft Office Outlook.
Beide Methoden legen das Attribut PublicDelegates des Postfachs. Alle in diesem Attribut aufgeführten Benutzer haben Senden im Auftrag von für den Besitzer des Postfachs. Wenn solche Stellvertreter eine E-mail, die im Feld von den Besitzernamen verfügt senden, wird die e-Mail-Nachricht vom Stellvertreter und nicht vom oder als Postfacheigentümer gesendet. Feld für die e-Mail-Nachricht von zeigt den folgenden Wert:
Name des Stellvertreters&gt; im Auftrag vonPostfacheigentümer>
In einigen Fällen kann das Attribut PublicDelegates in Outlook festlegen möglich. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
329622 Berechtigung "Senden im Auftrag von" wird einem Benutzer nicht zugewiesen, nachdem Sie Zugriff in Outlook delegieren

Wenn Sie Stellvertreterzugriff auf Ihr Postfach gewähren, können Delegaten auch wenn Sie nicht Zugriff auf einen Ihrer Postfachordner gewähren Senden im Auftrag von. Die grundlegende Berechtigung einer Stellvertretung ist Senden im Auftrag von. Zugriffsberechtigungen für Ihre Postfachordner sind getrennt und müssen zusätzlich zu Stellvertretungsberechtigungen erteilt werden. Normalerweise verwenden Delegaten Outlook auf Ordner zugreifen, Sie ihnen die Berechtigung erteilt haben. Dazu klicken Sie in Outlook im Menü Datei auf Öffnen , und klicken Sie dann auf Ordner eines anderen Benutzers.

Alternativ können Stellvertretungen Ihr Postfach öffnen, indem Sie als zusätzliches Postfach auf der Registerkarte Erweitert ihre Outlook-Profile aufführen. Diese Methode bewirkt, dass Ihr Postfach der Stellvertretung Outlook-Ordnerstruktur angezeigt. Darüber hinaus ermöglicht diese Methode für den Zugriff auf alle Ordner in Ihrem Postfach, für die einer Stellvertretung Berechtigungen gewährt wurden.

Sie sollten Ihre Stellvertretung manchmal Senden im Auftrag von und zu anderen Zeiten die Berechtigung Senden als. Gehen Sie folgendermaßen vor, um eine Stellvertretung mit diesen beiden Berechtigungen zu konfigurieren:
  • Gewähren Sie Ihrer Stellvertretung die Berechtigung Vollständiger Postfachzugriff. Thiscannot erfolgen über Outlook. Stattdessen eine Active Directory-Administrator Mustdo auf Postfacheigentümer-Kontos. Auch wenn Sie Besitzer Berechtigungen Onevery Ordner in Ihrem Postfach gewähren, ist nicht dieselbe Berechtigung wie die Berechtigung FullMailbox.
  • Gewähren Sie der Stellvertretung die Berechtigung Senden als zu. Wenn Yougrant den Delegaten die Berechtigung Senden als alle e-Mail-Nachrichten Bythe Delegaten mit der Berechtigung Senden als durchgeführt wird. Delegaten werden mehr Lage Senden im Auftrag von.
In diesem Szenario sollten Delegaten die gewünschte Senden im Auftrag von ihren eigenen Postfächern anmelden. Delegaten beantworten oder Weiterleiten einer e-Mail-Nachricht, die bereits in einem Ihrer Ordner ist, wird die e-Mail-Nachricht automatisch für Sie gesendet. Wenn die Delegaten eine neue Nachricht in Ihrem Auftrag erstellen, geben sie Ihren Namen im Feld von der e-Mail-Nachricht in Ihrem Auftrag gesendet wird.

Unabhängig davon, ob die Delegaten Ordner oder Ihr gesamtes Postfach als sekundäres Postfach geöffnet haben werden alle e-Mails, die sie von Ihnen senden Senden im Auftrag von verwenden, solange ihr eigenes Postfach das primäre Postfach für das aktuelle Outlook-Profil ist.

Bei Delegaten wie eine e-Mail-Nachricht senden möchten, sollten sie melden Ihr Postfach mit einem separaten Outlook-Profil, das nur Ihr Postfach öffnet. E-Mail-Nachrichten, die Sie senden, während sie bei diesem Profil angemeldet sind, werden automatisch von Ihnen gesendet.

Suchen nach Konten, die die Berechtigung "Vollständiger Postfachzugriff" ohne die Berechtigung Senden als

Das in diesem Abschnitt beschriebene Beispielskript kann eine Active Directory-Domäne Benutzerkonten durchsuchen, ein Postfach ohne die Berechtigung Senden als Vollständiger Postfachzugriff gewährt wurde.

Wichtig Bevor Sie Berechtigungen ändern, lesen Sie die "Postfacheigentümer mit Stellvertretungen"Abschnitt.

Das Skript verwendet die folgenden drei Modi:
  • Exportieren Sie können eine Liste der Benutzer ausgeben, die die vollständige Postfach "LaunchPermission" jedoch nicht die Berechtigung Senden als. Sie können dann Überprüfen dieser Liste InNotepad oder einem anderen Editor Konten entfernen, die nicht dieselbe Berechtigung Senden als werden sollen.
  • Importieren Sie können eine Liste von Benutzern importieren, die die vollständige Postfach "LaunchPermission" die Berechtigung Senden als auch gewährt werden soll. Hinweis Diese Youcannot dieses Skript die Berechtigung Vollständiger Postfachzugriff und TheSend Berechtigung erteilen. Jedes Konto muss bereits die vollständige Postfach "LaunchPermission" die Berechtigung Senden als erteilt werden.
  • SetAll Sie können der Berechtigung Senden als erteilen, für alle Benutzer in der Domainwho bereits die Berechtigung "Vollständiger Postfachzugriff" für ein bestimmtes Postfach. Alog Datei wird in demselben Format wie die Exportdatei generiert. Diese Isequivalent Export und Import-Modus ohne Bearbeitung Export Datei ausgeführt.
Hinweis Es ist keine Funktion zum Rückgängigmachen in diesem Skript.

Erforderliche Berechtigungen für das Skript

Sie müssen das Skript ausführen, während Sie mit einem Administratorkonto angemeldet sind, die aus derselben Gesamtstruktur die Postfacheigentümer-Konten stammen. Das Skript funktioniert nicht mit einem Konto, das gesamtstrukturübergreifende administrative Berechtigungen verfügt. Das Skript funktioniert auch nicht, wenn es von einer Arbeitsstation aus ausführen, die einer anderen Gesamtstruktur als der Gesamtstruktur angehört, die Konten des Postfacheigentümers zugeordnet sind.

Wenn diese Bedingung, können Sie das Skript mit mehreren administrativen Konten in einer einzigen Sitzung ausführen mithilfe des Befehls RunAs.exe . Dieses Verfahren kann nützlich sein, wenn Sie Active Directory und Exchange Server-Berechtigungen voneinander getrennt haben und Sie kein Konto gibt, das alle Exchange-Server oder alle Active Directory-Domänen verwalten können. Öffnen Sie eine Befehlszeile zum Ausführen des Skripts als jedes Administratorkonto. Beispiel:
RunAs.exe/User: domain\account cmd.exe EXE
Hinweis Sie sollten nicht mehrere Kopien des Skripts gleichzeitig für dieselbe Domäne ausführen.

Die Felder in der Exportdatei sind. Die Felder werden in der Reihenfolge in der sie in der Exportdatei beschrieben.
  • Anzeigename des Postfacheigentümer-Kontos

    Ausgabe-Datei Thatlists denselben Postfacheigentümer gibt möglicherweise mehr als eine Zeile. Dieses Verhalten tritt auf, wenn mehrere andere Accountshave Vollständiger Postfachzugriff Berechtigungen für dasselbe Postfach.
  • Domänen- und Anmeldename Name des Kontos mit der Berechtigung Vollständiger Postfachzugriff jedoch nicht die Berechtigung Senden als

    Dasselbe Konto kann mehrmals Throughoutthe Exportdatei angezeigt, wenn das Konto Zugriff auf mehrere Postfächer hat. Diese Futtermittelnmöglicherweise werden die einem Anwendungsdienstkonto oder einer Person Whomanages mehrere Ressourcenpostfächer.
  • Anzeigename des Kontos mit der Berechtigung Vollständiger Postfachzugriff jedoch nicht die Berechtigung Senden als

    Dieses Feld dient zusätzlich zum Feld Anmeldenamezur Identifikation des Kontos zu erleichtern.
  • Status des Postfacheigentümers delegieren

    Wenn der Postfacheigentümer Stellvertretungen hat, wird der FeldwertHas Delegates. Hat der Postfacheigentümer keine Stellvertretungen ist der Wert NoDelegates.
  • Aktiviert oder deaktiviert-Status des Postfacheigentümer-Kontos

    Dieses Feld ist hilfreich, wenn Sie Resourceaccounts oder gesamtstrukturübergreifenden Postfachkonten möchten. In der Regel diese Konten Aredisabled.
  • Vollständiger Distinguished Name des Postfacheigentümer-Kontos

    Dieses Feld ist hilfreich, wenn Sie vom WebShield e500 verwendeten und des Containers des Postfacheigentümer-Kontos ermitteln möchten.
  • Vollständiger Distinguished Name der Postfachdatenbank des Postfacheigentümers

    Dieses Feld enthält die Datenbank, die Speichergruppe, Server und die Administratorgruppe für das Postfach.
Im folgenden Beispiel hat der Benutzer den Namen "NoSendAs" die Berechtigung Vollständiger Postfachzugriff aber nicht die Berechtigung Senden als für das Postfach "Mailbox Owner":
"" "Mailbox Owner" "" "" "Domain\NoSendAs" "" "" "No Send As User" "" "" "Has Delegates" "" "" "Enabled" "" [zusätzliche Felder ausgelassen]

Konfiguration der Administratorarbeitsstation für das Skript

Dieses Skript verwendet Exchange-Verwaltungsschnittstellen mit Exchange-Servern kommunizieren. Daher muss dieses Skript von einem Exchange-Server oder eine Arbeitsstation mit Exchange-Systemadministrator ausgeführt werden.

Bearbeiten der Exportdatei

Die Exportdatei ist als Unicode formatiert, die nur-Text, sodass Zeichensätze aus mehreren Sprachen verwendet werden kann. Manche Text-Editoren möglicherweise nicht korrekt anzeigen oder Bearbeiten der Datei oder die Datei als ANSI- oder ASCII-Text speichern können. Das Editor-Dienstprogramm für Windows Server 2003, Windows XP und Microsoft Windows 2000 kann Unicode-Textdateien ordnungsgemäß verarbeiten. Darüber hinaus können Microsoft Office Excel Unicode-Textdateien ordnungsgemäß behandeln.

Die Ausgabedatei wird im tabstoppgetrennten Format mit dreifachen Anführungszeichen um die Werte für jedes Feld. Importieren und Exportieren von Excel gezielter werden die dreifachen Anführungszeichen verwendet. In Excel die dreifachen Anführungszeichen werden Anführungszeichen und kehrt um Anführungszeichen dreifach, wenn die Datei erneut als Unicode-Text gespeichert wird. Finden Sie folgende ordnungsgemäß öffnen und speichern eine Exportdatei in Excel.

Sie können auch eine Exportdatei filtern, ohne Excel Find.exe Dienstprogramm oder Findstr.exe verwenden. Diese Dienstprogramme sind in Windows enthalten. Sie können Sie nach Wörtern in einer Datei suchen und nur Zeilen, die diese Wörter enthalten oder einen nur Zeilen, die diese Wörter nicht enthalten. Beispielsweise soll eine Liste in der Datei aller Postfacheigentümer erstellen, die Delegaten verwenden Sie diese Befehle eine Datei erstellen, die nur Zeilen mit der Zeichenfolge "Has Delegates" enthält:
Find.exe "Has Delegates" OriginalFile.txt &gt; HasDelegates.txt

Findstr.exe c: "Has Delegates" OriginalFile.txt &gt; HasDelegates.txt
Nehmen Sie beispielsweise an, dass Sie alle Postfacheigentümer mit Stellvertretungen Ausfiltern. Die Option/v gibt alle Zeilen, die nicht den Suchwörtern entsprechen. Können einen der folgenden Befehle eine Datei generieren, die alle "Has Delegates" Zeilen ausgeschlossen:
Find.exe "Keine Delegaten" OriginalFile.txt &gt; NoDelegates.txt

Find.exe v "Has Delegates" OriginalFile.txt &gt; NoDelegates.txt

Findstr.exe c: "Keine Delegaten" OriginalFile.txt &gt; NoDelegates.txt

Findstr.exe/v/c: "Has Delegates" OriginalFile.txt &gt; NoDelegates.txt
Diese Befehle können Sie eine Datei erstellen, in der alle Konten aufgelistet, einem Anwendungsdienstkonto Vollständiger Postfachzugriff hat aber nicht über die Berechtigung Senden als. Der Schalter wird den Befehl Groß-und Kleinschreibung.
Find.exe i "Domain\ServiceAccount" OriginalFile.txt &gt; ServiceAccount.txt

Findstr.exe/i/c: "Domain\ServiceAccount" OriginalFile.txt &gt; ServiceAccount.txt
Hinweis Verwenden Sie das Dienstprogramm Find.exe um eine gefilterte Datei erstellen, müssen Sie die Kopfzeilen entfernen, die das Dienstprogramm Find.exe am Anfang der Datei erstellen.

Verwenden Sie keine Dateinamen Platzhalter (*. *) mit dem Findstr.exe-Dienstprogramm. Wenn Sie Platzhalterzeichen verwenden, wird jede Zeile in der Ausgabedatei der Dateiname vorangestellt. Die Ausgabedatei überprüfen sorgfältig Sie nach dem Filtern mit Find.exe "oder" Findstr.exe sicher, dass der Filter erfasst oder die gewünschten Konten ausgeschlossen.

Im folgenden Beispiel hat der Benutzer den Namen "NoSendAs" die Berechtigung Vollständiger Postfachzugriff, jedoch nicht die Berechtigung Senden als für das Postfach "Mailbox Owner".
"""Mailbox Owner""" """Domain\NoSendAs""" """No Send As User""" """Has Delegates""" """Enabled""" [additional fields omitted] 

Postfacheigentümer haben delegiert

Ein Delegat mit Vollständiger Postfachzugriff (auch bekannt als "Super-Stellvertreter") in der Regel sollte nicht die Berechtigung Senden als erteilt. Wenn der Super-Stellvertreter direkt beim Postfach des Postfacheigentümers anmeldet, kann Sie als Besitzer senden. Wenn der Stellvertreter die Stellvertretungsfunktionen von Outlook (Zusätzlich diese Postfächer öffnen oder Ordner eines anderen Benutzers öffnen) verwendet, werden die Nachrichten im Namen gesendet.

Erteilen Sie die Berechtigung Senden als Super-Stellvertreter, nur, wenn der Delegat immer als Postfacheigentümer senden und nicht im Auftrag des Postfachbesitzers senden. Wir empfehlen die Exportdatei nach der Zeichenfolge "Has Delegates" Suchen und überprüfen Sie, ob einer der aufgeführten Super-Stellvertreter tatsächlich Stellvertreter des Postfacheigentümers sind.

In der Exportdatei werden nur Super-Stellvertreter aufgelistet. Normale Stellvertreter verfügen nicht die Berechtigung Vollständiger Postfachzugriff. Wenn Sie einem normalen Stellvertreter die Berechtigung Senden als erteilen, wird der Delegat außerdem immer als Postfacheigentümer senden. Dies gilt auch beim normalen Stellvertreter nicht die Berechtigung Vollständiger Postfachzugriff verfügt. Gewährt Berechtigungen "Senden als" auf einen Delegaten fest, wenn Sie nicht möchten, können Sie die Berechtigung später einfach widerrufen.

Öffnen eine Exportdatei in Excel

  1. Starten Sie Excel, bevor Sie die Exportdatei öffnen.
  2. Öffnen Sie die Datei in Excel als Typ Textdatei. Der Textimport-Assistent wird gestartet.
  3. Im Textimport-Assistenten ändern Sie oder übernehmen Sie die Followingsettings:
    • Ursprünglicher Datentyp: getrennt
    • Import beginnen in Zeile: 1
    • Ursprung: Unicode (UTF-8)
    • Trennzeichen: Registerkarte nur
    • Aufeinander folgende Trennzeichen als ein Zeichen behandeln: deaktiviert
    • Textbegrenzungszeichen: "(doppelte Anführungszeichen)

Eine Exportdatei speichern, nachdem Sie die Datei in Excel bearbeiten

  1. Klicken Sie in der Exportdatei Speichern.
  2. Speichern der Datei unter einem anderen Namen, damit Anunedited Kopie der ursprünglichen Datei behalten.
  3. Klicken Sie auf Datei, klicken Sie auf Speichern, geben Sie einen Dateinamen für die Ausgabe zu speichern, und klicken Sie in der Liste Dateityp auf Unicode-Text .

Skriptsyntax

Dies ist ein und sollte in einem Eingabeaufforderungsfenster nicht über das Dialogfeld Ausführen ausgeführt werden. Öffnen Sie ein Eingabeaufforderungsfenster, klicken Sie auf Start, klicken Sie auf Ausführen, geben CMDÖffnen und dann auf OK.

Fehler- und Export Dateien zum aktuellen Eingabeaufforderungsverzeichnis gespeichert. Sie müssen Berechtigungen zum Erstellen von Dateien in diesem Verzeichnis. Um Hilfe zur Befehlszeile zu erhalten, geben Sie den folgenden Befehl ein:
CSCRIPT AddSendAs.vbs
Um Benutzer exportieren Vollständiger Postfachzugriff ohne die Berechtigung "Senden als" für eine Domäne, geben Sie den folgenden Befehl ein:
CSCRIPT AddSendAs.vbs [domain controller name] –ExportExample:CSCRIPT AddSendAs.vbs CORP-DC-1 –Export
Die Exportdatei wird als "Send_As_Export_H_MM_SS.txt" generiert

Geben Sie den folgenden Befehl, um eine bearbeitete Exportdatei zu importieren:
CSCRIPT AddSendAs.vbs [domain controller name] –Import [filename]Example:CSCRIPT AddSendAs.vbs CORP-DC-1 –Import "Send_As_Export_H_MM_SS.txt"

Das gewähren die Berechtigung "Senden als" für jedes Postfach in der Domäne für alle Benutzer, die bereits die Berechtigung "Vollständiger Postfachzugriff" für ein Postfach

Hinweis Haben Sie Delegaten, die auch die Berechtigung Vollständiger Postfachzugriff in Ihrer Organisation, sollten Sie den SetAll-Modus nicht verwenden. Wenn Sie in diesem Fall den SetAll-Modus verwenden, werden Delegaten die Berechtigung Senden als erteilt. Dieses Verhalten kann alle e-Mail-Nachrichten, die sie senden die Berechtigung Senden als statt gesendet im Auftrag von verwenden. Dieses Verhalten zu beheben, entfernen die Berechtigung Senden als, die der Delegat versehentlich erteilt wurde:
CSCRIPT AddSendAs.vbs [domain controller name] –SetAllExample:CSCRIPT AddSendAs.vbs CORP-DC-1 –SetAll
Wenn Sie den SetAll-Modus verwenden, wird eine Exportdatei als "Send_As_Export_H_MM_SS.txt" generiert. Sie sollten diese Datei speichern, ist es eine Aufzeichnung aller Konten, die geändert wurden. Würden Sie das Skript erneut ausführen, würde es nicht dieselbe Liste mit Konten ausgeben, da die Konten bereits die Berechtigung Senden als verfügen würde.

Fehler, die auftreten, während der Ausführung des Skripts werden in der Datei "Send_As_Errors_H_MM_SS.txt" gespeichert. Fehlerdatei wird den Zeitstempel Fehlerdatei jeden zugeordneten Exportdatei überein.

Modifikationen des Skripts

Konten in Ihrer Organisation, die für viele Objekte Berechtigungen möglicherweise jedoch nicht die Berechtigungen ändern möchten. Um die Größe der Exportdatei zu reduzieren, können Sie diese Konten Filtern durch Ändern der Variablen "FMA_EXCLUSIVE_LIST" modifizieren, die im oberen Bereich des Skripts befindet. Diese Variable listet standardmäßig einige Konten in der Ausgabe unterdrückt werden sollen. Mit dem folgenden Format können Sie weitere Konten hinzufügen.
& "<Domain\Name>" & OUTPUT_DELIMITER
Beispielsweise kann den Wert der folgenden Variablen ändern.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER
wie folgt angezeigt wird.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER & "Mydomain\Service1" & OUTPUT DELIMITER
Diese Änderung wird die Auflistung der Konten "Mydomain\Service1" in der Exportdatei "NT AUTHORITY\SELF" und "NT AUTHORITY\SYSTEM" unterdrückt. Beachten Sie, dass der Name-Wert beachtet werden muss oder exakt so wie in der Exportdatei angezeigt werden.

Es gibt eine weitere Variable, FMA_EXCLUSIVE_EXSVC, die den Wert "\Exchange Services" & OUTPUT_DELIMITER. "Exchange Services" ist der Name eines Kontos, das Berechtigungen durch Active Directory Connector in Exchange Server 5.5 und Exchange 2000 Migration und Koexistenz Szenarien. Dieses Konto wird in mehreren Domänen erstellt und scheint wiederholt in der Exportdatei nicht unterdrückt.

Die Variable FMA_EXCLUSIVE_EXSVC akzeptiert nur ein Konto als Wert. Der Kontoname wird nicht beachtet. Das Konto muss mit einem umgekehrten Schrägstrich (\) beginnen und sollte nicht die Domäne, zu der das Konto gehört. Das Konto wird für alle Domänen unterdrückt werden in dem Objekt vorhanden ist.

Verwendung von Drittanbietern Migrationsprogramme oder Verzeichnis-Synchronisierungsmethoden kann ein anderes Konto in mehreren Domänen, die häufig erteilten Berechtigungen für Benutzerpostfächer vorhanden. In diesem Szenario können Sie den Namen des Kontos "\Exchange Services" ersetzen.

Tipps und Vorsichtsmaßnahmen

  • Protokoll nicht verwerfen und Fehlerdateien, die Bythe Skript generiert. Sie können für die Problembehandlung oder Changeslater umkehren werden. Beachten Sie, wie die Berechtigung Senden als Anaccount verfügen, es nicht mehr protokolliert in der Exportdatei.
  • Server oder eine Exchange-Datenbank ausfällt, werden Skriptprozess langsamer. In diesem Fall können Sie die Exportdatei nach Datenbank Hyperlinkleiste Zeilen sortieren, die mit einer angehaltenen Datenbank in eine andere Datei für Laterimport.
  • Das Skript unterdrückt die Ausgabe von Konten, bei denen der Anmeldename auf "$" endet oder NT-AUTORITÄT\SYSTEM. Diese Systemkonten sollten Nottypically müssen die Berechtigung Senden als, und reduziert die Größe der Export Filegreatly entfernt.
  • Die Exportdatei muss im Unicode-Format, bevor Beimported möglich. Wenn Sie die Datei versehentlich als ANSI-Text, Sie Canresolve gespeichert haben dieses Problem, indem Sie die Datei in Editor laden und speichern als Unicodetext.
  • Beheben Sie ein Import nicht funktioniert, Test kontenplanund eine einzelne Zeile in der Importdatei. Sie sollten einen Test Konto abgekühlte ein Postfach auf einem ausgeführten Exchange-Server konfigurieren und gewähren die Berechtigung "Vollständiger Postfachzugriff" zu einem anderen Testkonto. Gewähren Sie die Berechtigung "Senden als" auf die Test-Account.
  • Es gibt keinen Modus zum Rückgängigmachen für dieses Skript. TheSend nehmen Sie erteilt haben mit diesem Skript müssen Sie Generateanother Berechtigungen Skript oder manuell entfernen. Ein Rückgängig-Modus wird nicht Avoidthe Verwendung dieses Skripts zum Entfernen der Berechtigung "Senden als" für alle Benutzer in Anorganization bereitgestellt.
  • Das Skript behandelt nicht korrekt ein Konto, das Vollzugriff auf ein Objekt mit Vollzugriff Postfach Access.Full beinhaltet die Berechtigung Senden als, aber das Skript exportiert Theaccount, sofern er nicht über die Berechtigung Senden als verfügt gewährt wurde. Dadurch erhöhen Sie die Größe der Exportdatei jedoch nichts tritt aus der Datei und Redundantlygranting Berechtigung Konten importieren.
  • Active Directory-Benutzerkonten, die Distinguishednames und die Registerkarten oder ungleiche doppelte Anführungszeichen enthalten, Beprocessed durch dieses Skript nicht. Das Skript kann jedoch einen Namen Thatincludes abgeglichen Anführungszeichen wie folgt verarbeiten:
    "CN = First"Nickname"Last, DC = Domain, DC = com"
  • Jede Version von Excel unterstützt eine andere maximale Position Grenze. Klicken Sie für weitere Informationen auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
    120596 Textdateien, die mehr als 65.536 Zeilen können nicht in Excel 97, Excel 2000, Excel 2002 und Excel 2003 importiert werden
    Es folgen Zeile Grenzwerte für Excel 2003 und Excel 2007:
    • Excel 2003: 65.536 Zeilen
    • Excel 2007: 1.048.576 Zeilen
    Wenn Ausgabedatei diese Grenzwerte überschreitet, müssen Sie die Datei vor dem Laden in Excel in Abschnitte aufteilen.
  • Die Send_As_Errors-Datei listet spezifische Konten Wherethere wurde ein Fehler beim Lese- oder Schreibberechtigungen. Wenn andere Konten vom WebShield e500 verwendeten korrekt verarbeitet wurden, müssen diese Konten in Commonthat verhindert, dass das Skript mit ihnen. Häufige Probleme sind folgende:
    • Fehlende administrative Berechtigungen zum Anzeigen oder Festlegen von Eigenschaften für die Konten.
    • Exchange-Postfachspeicher wird nicht ausgeführt.
    • Die Arbeitsstation ist nicht Mitglied derselben Domäne.
    • Das verwendete Administratorkonto ist nicht aus derselben Gesamtstruktur.
Führen Sie dieses Skript kopieren Sie und fügen Sie alle Zeilen zwischen BEGIN SCRIPT und END SCRIPT in einen nur-Text-Editor wie Editor. Speichern Sie das Skript als AddSendAs.vbs des. BEGIN-SKRIPT.
Option ExplicitDim OUTPUT_DELIMITEROUTPUT_DELIMITER = """""""" & vbTab & """"""""'Define exclusive list, if FMA is given to any user in this list, it's ignored.  If you 'want to modify this list, please be sure to follow the same format. Every alias has to 'have a OUTPUT_DELIMITER before and after itDim FMA_EXCLUSIVE_LISTFMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITERDim FMA_EXCLUSIVE_EXSVCFMA_EXCLUSIVE_EXSVC = "\Exchange Services" & OUTPUT_DELIMITER'Permission Type: Allow or Denyconst ACCESS_ALLOWED_OBJECT_ACE_TYPE  = 5const ADS_ACETYPE_ACCESS_ALLOWED = &h0const ADS_ACETYPE_ACCESS_DENIED = &h1'Flags: Specifies Inheritanceconst 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_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'output file nameConst EXPORT_FILE = "Send_As_Export"Const ERROR_FILE = "Send_As_Errors"' script modeconst MODE_INVALID = -1 const MODE_SETALL = 0const MODE_EXPORT = 1const MODE_IMPORT = 2const SETALL = "-SETALL"const EXPORT = "-EXPORT"const IMPORT = "-IMPORT"' argument indexConst ARG_INDEX_MODE = 1Const ARG_INDEX_DC = 0Const ARG_INDEX_FILENAME = 2' column index in import/export fileConst COLUMN_INDEX_USERDISPLAYNAME = 0Const COLUMN_INDEX_FMAALIAS = 1Const COLUMN_INDEX_FMADISPLAYNAME = 2Const COLUMN_INDEX_IFPUBLICDELEGATE = 3Const COLUMN_INDEX_MAILBOXSTATUS = 4Const COLUMN_INDEX_USERADSPATH = 5Const COLUMN_INDEX_HOMEMDB = 6Const EMPTYSTRING = ""Const STRNO = "No Delegates"Const STRYES = "Has Delegates" Const MIN_ARG = 2Const INIT_ARRAY_SIZE = 100' Microsoft Exchange Const EX_MB_SEND_AS_ACCESSMASK  = &H00100Const EX_FULLMailbox_AccessMask = 1Const MESO = "Microsoft Exchange System Objects"Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"Const ForReading	= 1Const ForWriting	= 2Const ForAppending	= 8Const TristateTrue	= -1Const ADS_SCOPE_SUBTREE = 2Dim objUserDim objSDMailBoxDim objSDNTsecurityDim objDACLNTSDDim objNewACEDim sTrusteeAlias()Dim sFMADeniedListDim sFMAExplicitAllowDim fACESendasFoundDim dArraySizeDim TotalACEDim iDim rootDSEDim connDim objCommandDim objCmdDisplayNameDim rsUsersDim FoundObjectDim objFSODim objfileImportDim objfileExportDim objfileErrorDim sImportFilePathDim cScriptModeDim dArgCountDim dArgExpectedDim sDCServerDim sMailboxStatusDim sIfPublicDelegateDim sFMAUserDisplayNameDim sExportFileNameDim sErrorsFileNameDim msPublicDelegatesDim fErrorDim fOneErrorDim fFMAAllowedOn Error Resume NextdArraySize = INIT_ARRAY_SIZEReDim Preserve sTrusteeAlias(dArraySize)dArgCount = Wscript.Arguments.Count If ( dArgCount < MIN_ARG ) Then	DisplaySyntaxEnd Iferr.ClearfError = FalsefOneError = FalsecScriptMode = MODE_INVALIDSelect Case UCase(WScript.Arguments(ARG_INDEX_MODE))	Case SETALL 		cScriptMode = MODE_SETALL		dArgExpected = ARG_INDEX_MODE + 1	Case EXPORT 		cScriptMode = MODE_EXPORT		dArgExpected = ARG_INDEX_MODE + 1	Case IMPORT 		cScriptMode = MODE_IMPORT		dArgExpected = ARG_INDEX_FILENAME + 1	Case Else 		cScriptMode = MODE_INVALIDEnd SelectIf (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then	DisplaySyntaxEnd IfsDCServer = WScript.Arguments(ARG_INDEX_DC)CreateOutputFilesIf ( cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT ) Then	Dim sDomainContainer	If (cScriptMode = MODE_SETALL) Then		Dim strInput 		WScript.StdOut.WriteLine("WARNING: If you continue, each account in the domain that has")		WScript.StdOut.WriteLine("Full Mailbox Access permission for a given mailbox will also be")		WScript.StdOut.WriteLine("granted permission to Send As the mailbox owner.")		WScript.StdOut.WriteLine()		WScript.StdOut.WriteLine("To preview the list of mailboxes before granting Send As,")		WScript.StdOut.WriteLine("cancel this operation and use the -Export mode of this script.")		WScript.StdOut.WriteLine()		WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")		strInput = WScript.StdIn.ReadLine()		If (UCase(strInput) <> UCase("Y")) Then			WScript.Quit		End If		End If		WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("""!"" indicates an error processing an object.")	WScript.StdOut.WriteLine("     Check " & sErrorsFilename)	WScript.StdOut.WriteLine("Starting...")	WScript.StdOut.WriteLine()	err.Clear		Set rootDSE = GetObject("LDAP://" & sDCServer & "/RootDSE")	sDomainContainer = rootDSE.Get("defaultNamingContext")	WScript.StdOut.WriteLine("Finding domain controller [ " & sDCServer & " ] for domain [ " & sDomainContainer & " ]")		If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)		objfileError.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)		WScript.Quit	End If				err.Clear		Set conn = CreateObject("ADODB.Connection")	Set objCommand = CreateObject("ADODB.Command")	conn.Provider = "ADSDSOObject"	conn.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 objCommand.ActiveConnection = conn	WScript.StdOut.WriteLine("Searching for mailbox owner user accounts in " & sDomainContainer)		objCommand.CommandText  = "<LDAP://" & sDCServer & "/" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE	objCommand.Properties("Page Size") = 100	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		WScript.StdOut.WriteLine("Search for mailbox owners failed, error:" & err.Description)		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)		WScript.Quit	End If	If (rsUsers.RecordCount = 0) Then		WScript.StdOut.WriteLine("No mailbox owner user accounts could be seen in " & sDomainContainer & ".")		objfileError.WriteLine("No mailbox owner user accounts found in " & sDomainContainer & ".")		fError = True			End If	While Not rsUsers.EOF		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If		fOneError = False				'Skip any mailbox object in Microsoft Exchange System Objects container		If (0 = Instr(rsUsers.Fields(0).Value, MESO)) Then			err.Clear 			Set objUser = GetObject(rsUsers.Fields(0).Value)			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get user object: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If			Set objSDMailBox = objUser.MailboxRights			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get mailbox rights: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If			Set objSDNTsecurity = objUser.ntSecurityDescriptor			If (err.number <> 0) Then				objfileError.WriteLine("Failed to get NTSD: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				fError = True				fOneError = True				err.Clear			End If						Set objDACLNTSD = Nothing			If (objUser.AccountDisabled) Then				sMailboxStatus = "Disabled"			Else				sMailboxStatus = "Enabled"			End If			'Query this user's publicDelegates list			err.Clear 			msPublicDelegates = objUser.Get("publicDelegates")			If (err.number <> 0) Then				'This user doesn't have publicDelegates list set				sIfPublicDelegate = STRNO				err.Clear			Else				sIfPublicDelegate = STRYES			End If						err.Clear 						FindAllFMAUsers objSDMailBox						If (TotalACE > dArraySize) Then			'Needs to allocate bigger size array				dArraySize = TotalACE + 1				ReDim Preserve sTrusteeAlias(dArraySize)				FindAllFMAUsers objSDMailBox			End If			If (err.number <> 0) Then				objfileError.WriteLine("Failed to query mailbox rights of user: " & rsUsers.Fields(0).Value)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If						If TotalACE > 0 Then				Set objDACLNTSD = objSDNTsecurity.DiscretionaryAcl				For i = 0 to TotalACE - 1 Step 1										'Check if we already have Send As ACE in NT security descriptor					'If it exists, either allow or deny, we don't need to add send as to it 					CheckSendAsACE objDACLNTSD, sTrusteeAlias(i)										'Note: deny entries take precedence over allow entries. 					'If there is FMA deny ACE, skip it even if we find FMA allow ACE 					IfFMAAllowed(sTrusteeAlias(i) & OUTPUT_DELIMITER)					If ((fFMAAllowed = True) And (fACESendasFound = 0)) Then						If cScriptMode = MODE_SETALL Then							Set objNewACE = CreateObject ("AccessControlEntry")							objNewACE.AceFlags = 0 							objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE							objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 							objNewACE.Flags = 1							objNewACE.ObjectType = EX_MB_SEND_AS_GUID							objNewACE.Trustee = sTrusteeAlias(i)							objDACLNTSD.AddAce objNewAce						End If									'Query trustee(FMA user) to get its displayName						Dim rsTrustee						Dim objTrustee						Dim dPosition						Dim sAlias											dPosition = inStr(1, sTrusteeAlias(i), "\")						sAlias = mid(sTrusteeAlias(i), dPosition + 1)										Set objCmdDisplayName = CreateObject("ADODB.Command")									Set objCmdDisplayName.ActiveConnection = conn						objCmdDisplayName.CommandText  = "<LDAP://" & sDomainContainer & ">;(&(&(& (mailnickname=" & sAlias & ") (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"						objCmdDisplayName.Properties("searchscope") = ADS_SCOPE_SUBTREE						objCmdDisplayName.Properties("Page Size") = 100						objCmdDisplayName.Properties("Timeout") = 30 						objCmdDisplayName.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)												Set rsTrustee = objCmdDisplayName.Execute										Set objTrustee = GetObject(rsTrustee.Fields(0).Value)												If (err.number <> 0) Then							'Failed to query FMA user's display name, use its alias							sFMAUserDisplayName = sAlias													Else							sFMAUserDisplayName = objTrustee.displayName													End If							'output to export file						err.Clear						objfileExport.WriteLine ("""""""" & objUser.displayName & OUTPUT_DELIMITER & sTrusteeAlias(i) & OUTPUT_DELIMITER & sFMAUserDisplayName & OUTPUT_DELIMITER & sIfPublicDelegate & OUTPUT_DELIMITER & sMailboxStatus & OUTPUT_DELIMITER & rsUsers.Fields(0).Value & OUTPUT_DELIMITER & objUser.homeMDB & """""""")						If (err.number <> 0) Then							objfileError.WriteLine("User " & rsUsers.Fields(0).Value & " could not be added to the export file. You should set permissions manually for this user.")							objfileError.WriteLine("Error: " & err.Description)							err.Clear							fError = True							fOneError = True						End If						Set objCmdDisplayName = Nothing						Set rsTrustee = Nothing						Set objTrustee = Nothing					End If				Next									If cScriptMode = MODE_SETALL Then					err.Clear					objSDNTsecurity.DiscretionaryAcl = objDACLNTSD					objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )					objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL					objUser.SetInfo					If (err.number <> 0) Then						objfileError.WriteLine("Failed to update ADSI for user: " & rsUsers.Fields(0).Value)						objfileError.WriteLine("Error: " & err.Description)						err.Clear						fError = True						fOneError = True					End If				End If				TotalACE = 0				Set objSDMailbox = Nothing				Set objSDNTsecurity = Nothing				Set objUser = Nothing				Set objDACLNTSD = Nothing			End If				End If			rsUsers.MoveNext	WendEnd IfIf (cScriptMode = MODE_IMPORT) Then	Dim sOneRow	Dim sArraySplit	Dim objUserItem	Dim UserPath	Dim objUserSD	Dim objUserDACL	Dim fNeedToAddSendAs		sImportFilePath = WScript.Arguments(ARG_INDEX_FILENAME)	WScript.StdOut.WriteLine("If you continue, each account listed in " & sImportFilePath)	WScript.StdOut.WriteLine("that has Full Mailbox Access permission for a given mailbox")	WScript.StdOut.WriteLine("will also be granted permission to Send As the mailbox owner.")	WScript.StdOut.WriteLine()	WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")	strInput = WScript.StdIn.ReadLine()	If (UCase(strInput) <> UCase("Y")) Then		WScript.Quit	End If		WScript.StdOut.WriteLine("Starting...")	WScript.StdOut.WriteLine()	UserPath = EMPTYSTRING		err.Clear		Set objFSO = CreateObject("Scripting.FileSystemObject")	Set objfileImport = objFSO.OpenTextFile(sImportFilePath, ForReading, False, TristateTrue)	If (err.number <> 0) Then		WScript.StdOut.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)		objfileError.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)		WScript.Quit	End If		fNeedToAddSendAs = False	Do While objfileImport.AtEndOfStream <> True		If (fOneError = True) Then			WScript.StdOut.Write("!")		Else			WScript.StdOut.Write(".")		End If		fOneError = False		err.Clear		sOneRow = objfileImport.ReadLine		sArraySplit = Split(sOneRow , OUTPUT_DELIMITER)		If (err.number <> 0) Then			objfileError.WriteLine("Failed to parse one row: " & sOneRow )			objfileError.WriteLine("Error: " & err.Description)			err.Clear			fError = True			fOneError = True		End If				If (UserPath <> sArraySplit(COLUMN_INDEX_USERADSPATH)) Then			'A new user			If (fNeedToAddSendAs = True ) Then				'update existing user				err.Clear 				objSDNTsecurity.DiscretionaryAcl = objDACLNTSD				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL				objUser.SetInfo				If (err.number <> 0) Then					objfileError.WriteLine("Failed to update permissions for user: " & UserPath)					objfileError.WriteLine("Error: " & err.Description)					fError = True					fOneError = True				End If			End If									fNeedToAddSendAs = False			Set objUser = Nothing			Set objSDNTsecurity = Nothing			Set objDACLNTSD = Nothing			UserPath = sArraySplit(COLUMN_INDEX_USERADSPATH)			err.Clear 			Set objUser = GetObject(UserPath)			Set objSDNTsecurity = objUser.ntSecurityDescriptor  			Set objDACLNTSD = objSDNTsecurity.DiscretionaryACL						If (err.number <> 0) Then				objfileError.WriteLine("Failed to get user object: " & UserPath)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If		End If			'Add newACE   Do we need this check?		CheckSendAsACE objDACLNTSD, sArraySplit(COLUMN_INDEX_FMAALIAS)		If (fACESendasFound = 0) Then			Set objNewACE = CreateObject ("AccessControlEntry")			objNewACE.AceFlags = 0 			objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE			objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 			objNewACE.Flags = 1			objNewACE.ObjectType = EX_MB_SEND_AS_GUID			objNewACE.Trustee = sArraySplit(COLUMN_INDEX_FMAALIAS)			objDACLNTSD.AddAce objNewACE			fNeedToAddSendAs = True					End If	Loop		If (fNeedToAddSendAs = True ) Then		'update the last user		err.Clear 		objSDNTsecurity.DiscretionaryAcl = objDACLNTSD		objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )		objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL		objUser.SetInfo		If (err.number <> 0) Then			objfileError.WriteLine("Failed to update permissions for user: " & UserPath)			objfileError.WriteLine("Error: " & err.Description)			fError = True		End If	End IfEnd If objFSO.CloseobjfileImport.CloseobjfileExport.CloseobjfileError.CloseSet objFSO = NothingSet objfileImport = NothingSet objfileExport = NothingSet objfileError = NothingSet objCommand = NothingSet conn = NothingWScript.StdOut.WriteLine()If (fError = True) Then	WScript.StdOut.WriteLine("Finished with one or more errors. See " & sErrorsFilename)Else	WScript.StdOut.WriteLine("Finished successfully. No errors were encountered.")End IfFunction FindAllFMAUsers (objSD)Dim objACLDim objACEDim intACECountDim strIndentDim dAccessMaskBitDim dPositionDim sUserAlreadyFound	On Error Resume Next	err.Clear	TotalACE = 0	sFMADeniedList = EMPTYSTRING	sFMAExplicitAllow = EMPTYSTRING	sUserAlreadyFound = OUTPUT_DELIMITER	intACECount = 0	Set objACL = objSD.DiscretionaryAcl	intACECount = objACL.AceCount	If intACECount Then		' Open discretionary ACL (DACL) data.		For Each objACE In objACL							dPosition = inStr(1, objACE.Trustee, "$")		If ((0 = Instr(UCase(objACE.Trustee & OUTPUT_DELIMITER), UCase(FMA_EXCLUSIVE_EXSVC))) And (0 = Instr(sUserAlreadyFound, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (0 = Instr(FMA_EXCLUSIVE_LIST, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (dPosition <> Len(objACE.Trustee)) And ((objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0) And ((objACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED) Or (objACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE) )) Then			If (TotalACE < dArraySize) Then				sTrusteeAlias(TotalACE) = objACE.Trustee				sUserAlreadyFound = sUserAlreadyFound & objACE.Trustee & OUTPUT_DELIMITER			End If			TotalACE = TotalACE + 1				If ((objACE.AceFlags And ADS_ACEFLAG_INHERITED_ACE) = 0) Then				'Keep a list who explictly set FMA at mailbox level				sFMAExplicitAllow = sFMAExplicitAllow & objACE.Trustee & OUTPUT_DELIMITER						End If		ElseIf (( (objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0 ) And (objACE.AceType = ADS_ACETYPE_ACCESS_DENIED)) Then			'Keep a list who denied FMA, use OUTPUT_DELIMITER as demiliter, 			'include both inherited and explicit set at mailbox level			sFMADeniedList = sFMADeniedList & objACE.Trustee & OUTPUT_DELIMITER					End If		Next	End If	Set objACL = NothingEnd FunctionFunction CheckSendAsACE (objDiscretionaryACL, sTAlias)Dim objACEDim intACECount	err.Clear 	fACESendasFound = 0	intACECount = objDiscretionaryACL.AceCount	If intACECount Then		For Each objACE In objDiscretionaryACL				err.Clear 			If ( (objACE.Trustee = sTAlias) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then				fACESendasFound = 1			End If			If (err.number <> 0) Then				objfileError.WriteLine("Could not read permissions for this user: " & sTAlias)				objfileError.WriteLine("Error: " & err.Description)				err.Clear				fError = True				fOneError = True			End If					Next				End If	End FunctionFunction IfFMAAllowed(sTrustee)	'FMA allow ACE has been found. Assume it's true	fFMAAllowed = True		If ( (0 <> Instr(sFMADeniedList, sTrustee)) And (0 = Instr(sFMAExplicitAllow, sTrustee))	) Then		'If Denied ACE is found, and no explicit allow FMA 		fFMAAllowed = False	End If End FunctionFunction CreateOutputFiles	Dim sTimeArray	Dim sTimeShort	Dim sTime		err.Clear	sTime = Time	sTimeShort = Split(sTime, " ")	sTimeArray = Split(sTimeShort(0), ":")	Set objFSO = CreateObject("Scripting.FileSystemObject")	sErrorsFileName = ERROR_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForWriting, True, TristateTrue)	If (cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT)	Then		sExportFileName = EXPORT_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"		Set objfileExport = objFSO.OpenTextFile(sExportFileName, ForWriting, True, TristateTrue)		End If		If err.number <> 0 Then		WScript.StdOut.WriteLine("Unable to create export or error files: " & err.Description)		objfileError.WriteLine("Unable to create export or error files: " & err.Description)		fError = True		fOneError = True		WScript.Quit		End IfEnd FunctionFunction DisplaySyntax	WScript.StdOut.WriteLine("Syntax:")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Export accounts with Full Mailbox Access that do not have Send As permission:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Export")	WScript.StdOut.WriteLine("         NOTE: The list will be saved to Send_As_Export_HH_MM_SS.txt")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Send As to all accounts listed in an export file:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Import ""filename.txt""")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("Grant Send As to all accounts in the domain with Full Mailbox Access:")	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -SetAll")	WScript.StdOut.WriteLine("         NOTE: Accounts will be listed in Send_As_Export_HH_MM_SS.txt")	WScript.StdOut.WriteLine()	WScript.StdOut.WriteLine("For all modes, errors are saved to Send_As_Errors_HH_MM_SS.txt")	WScript.Quit	End Function
ENDSKRIPT

Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Werden ändern sie nicht zur Verfügung und Programmierungsbeispiele Ihre spezifischen Bedürfnisse.

Weitere Informationen zu den Supportoptionen von Microsoft finden Sie auf der folgenden Microsoft-Website: Die in diesem Artikel erörterten Produkte von Drittanbietern werden von Unternehmen hergestellt, die von Microsoft unabhängig sind. Microsoft übernimmt keine Garantie, weder konkludent noch anderweitig, für die Leistung oder Zuverlässigkeit dieser Produkte.
XADM Blackberry Enterprise Server BES GoodLink Cisco Unified Messaging RIM OWA

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 912918 – Letzte Überarbeitung: 12/09/2015 04:18:30 – Revision: 4.0

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

  • kbnosurvey kbarchive kbtshoot kbpending kbbug kbprb kbmt KB912918 KbMtde
Feedback