Jak řešit letního času pomocí nástroje aktualizace kalendáře serveru Exchange

Překlady článku Překlady článku
ID článku: 941018 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

ÚVOD

Letní čas je systém nastavit hodiny dopředu, takže že Východ slunce a slunce se vyskytují na pozdější hodinu. Efekt je další letní večer. Mnoho zemí dodržovat letní čas. Většina z nich země mají vlastní pravidla a předpisy pro při letní čas začíná a končí.

Změnit data letní čas (DST) z roku na rok. Uživatelé aplikace Microsoft Outlook je nutné aktualizovat své aplikace Outlook Kalendář při každém změnit pravidla letního času. Data mezi předchozí DST a aktuální pravidla DST uvedené v tomto článku jako "rozšířené období letního času."

Tento článek popisuje akce, které může trvat na adresu položky kalendáře v aplikaci Outlook, ke kterým dojde během rozšířené Období letního času. Tento článek také popisuje akce, které byste měli vzít na Aktualizace položek kalendáře, které jsou uloženy v Microsoft Exchange Server podle Nová pravidla letního času. Řešení, která je uvedena v tomto článku zahrnuje Microsoft Exchange kalendáře Update Tool ("Exchange nástroj").

Pro Další informace o tom, jak připravit pro změny letního času v 2007 (DST 2007) pro všechny ohrožené produkty společnosti Microsoft, navštivte následující Web společnosti Microsoft:
http://support.microsoft.com/gp/cp_dst

Další informace

O nástroji Exchange

Po instalaci aktualizace letního času pro systém Microsoft Windows, všechny staré události, ke kterým dojde během období letního času změnit bude nesprávně Zobrazí se vyskytuje o hodinu později. To platí pro oba opakované a události jedné instance. Tyto události je třeba aktualizovat tak že Zobrazí se správně v aplikaci Outlook Web Access aplikace Microsoft Office Outlook, a v aplikacích, které jsou založeny na Collaboration Data Objects (CDO).

Aplikace Outlook poskytuje nástroj s názvem aktualizace dat časových pásem Nástroj pro aplikace Microsoft Office Outlook ("Outlook nástroj"). Tento nástroj umožňuje uživatelům Aktualizovat vlastní kalendáře.

Další informace o aktualizaci dat časových pásem Nástroj získáte v následujícím článku znalostní báze Microsoft Znalostní báze Knowledge Base:
931667Jak řešit změny letního času v roce 2007 pomocí nástroje pro aktualizaci dat časové pásmo pro aplikace Microsoft Office Outlook
Nástroj aktualizace kalendáře serveru Exchange ("výměna Nástroj") pomáhá zabránit obtížím, které čelí správci v zavádění Nástroj Outlook široce všech uživatelů a zajistit, aby každý uživatel spustí Aplikace Outlook se nástroj správně.

Podrobný popis nástroje Exchange

Nástroj Exchange se skládá ze dvou samostatných spustitelné soubory. Tyto soubory jsou popsány v následující tabulce.
Zmenšit tuto tabulkuRozšířit tuto tabulku
Název souboruPopis
Msextmz.exe Tento spustitelný soubor extrahuje časové pásmo informace z poštovních schránek na serveru se spuštěnou službou Exchange Server. To spustitelný soubor aktualizace také poštovní schránky kalendáře pro určený seznam uživatelé.
Msextmzcfg.exe Tento spustitelný soubor Konfigurační nástroj, který provádí většinu kroky, které se účastní aktualizace serveru Exchange Server.

O nové verzi nástroje Exchange

Na základě názorů zákazníků, byla novou verzi nástroje Exchange vydána 13. srpna 2007. Tento článek odkazuje na novou verzi Nástroj Exchange. Pokud používáte starší verzi nástroje Exchange ji odinstalovat a potom nainstalovat novou verzi.

Nová verze Nástroj Exchange obsahuje následující vylepšení:
  • Extrakce časové pásmo a procesů aktualizace kalendáře fourfold urychlí.
  • Je-li další uživatelské rozhraní pro konfiguraci nástroje efektivní a intuitivní.
  • Možnosti aktualizace konferenční místnosti a zdrojů poštovní schránky je nyní integrována do nástroje Konfigurace.
  • Schopnost aktualizovat uživatelské poštovní schránky je nyní integrována Konfigurační nástroj.
  • Poradce při potížích dokumentu je nyní součástí Nástroj Exchange a je integrována do nástroje Konfigurace.
  • Algoritmus časového pásma extrakci a zpracování chyb zlepšení schopnosti.
  • Proces protokolování je srozumitelnější.

Riziko při spuštění nástroje Exchange

Spustíte-li nástroj Exchange, existuje riziko, že události jedné instance může být správně aktualizovány. Například události jedné instance, které uživatel vytvořen po operační systém byl aktualizace může být nesprávně aktualizována.

Chcete-li snížit riziko, použijte jednu z následující metody:
  • Zmenšit interval mezi aktualizaci klientské počítače a při aktualizaci kalendáře v poštovní schránce.
  • Pokud počítače v organizaci byly aktualizovány dlouho před, použijte Aktualizovat pouze opakované schůzky nastaveníUpřesnit nastavení.

    Obvykle se lidé nevytvářejte události jedné instance mnoho měsíců předem. Proto pokud letního času mnoho měsíců před většinu zasedání jedné instance nainstalované aktualizace pomocí nového bude byly vytvořeny připadající na delší období letního času Pravidla přechodu letního času. Tyto schůzky se nemají aktualizovat.
  • Znáte-li přesné datum, kdy všechny klientské počítače byly aktualizovány, použít Datum opravy operačního systému nastaveníUpřesnit nastavení. Pokud je zadáno datum, jedné instance události, které byly vytvořeny po tomto datu nebudou aktualizovány Exchange nástroj.
Poznámka: Pokud v klientském počítači spustíte nástroj Outlook nebo Exchange počítače se systémem Windows Vista a spusťte nástroj poštovních schránek domácí časové pásmo je Nový Zéland (běžný čas), je nutné spustit nástroj podruhé nebo po 1. ledna 2008. Další informace naleznete v tématu známé" problémy s"části.

Možnosti aktualizace poštovních schránek

Následující tabulka uvádí pět možností, které lze použít k aktualizaci uživatelské poštovní schránky pomocí pravidla časového pásma DST 2007.
Zmenšit tuto tabulkuRozšířit tuto tabulku
MožnostV oblasti ITNevýhody
Distribuovat nástroj Outlook pro jednotlivé uživatele a potom pokyn uživatelé aktualizovat své vlastní poštovní schránky. Tato možnost zabrání rizika, je spojen s nástrojem Exchange. Je obtížné zaručit, že všichni uživatelé spustí nástroj Outlook správně a včas způsobem.

Uživatelé, kteří nemají aplikaci Outlook, nebude možné spustit Nástroj aplikace Outlook.

Je nutné provést další vzdělávací úsilí k snížit zmást uživatele.
Spusťte nástroj Exchange ovlivněné uživatelů a serverů. Tato možnost poskytuje uživatelům efektivnější práci. Existuje riziko spojené s nástroji Exchange spuštěna jako popsané v části "Rizika spuštění nástroje Exchange".
Spusťte nástroj Exchange aktualizovat pouze opakované události. Umožnit uživatelům aktualizovat pomocí jedné instance události v jejich vlastní poštovní schránky nástroje aplikace Outlook. Existuje menší riziko jedné instance události nesprávně aktualizována. Jsou nevýhody spuštění nástroje aplikace Outlook v kombinaci s nevýhody spuštění nástroje Exchange.
Spusťte nástroj Exchange ani nástroje aplikace Outlook. Požádejte uživatele přezkoumat jejich kalendáře a re-book události podle potřeby. To možnost předchází nebezpečí spojené s nástrojem Exchange. Pokud všichni uživatelé re-book všechny příslušné události, některé kalendáře položky budou hodinu vypnout rozšířené období letního času.

Je nutné Zkontrolujte další vzdělávací úsilí snižovat zmást uživatele.
Distribuovat nástroj Outlook pro jednotlivé uživatele a potom pokyn uživatelé aktualizovat své vlastní poštovní schránky. Potom pomocí režimu extrakce časové pásmo Nástroj Exchange zjistit, zda uživatelé používají nástroje aplikace Outlook.

Pokud uživatelé používají nástroj pro aplikaci Outlook, můžete správce Spusťte nástroj Exchange.
Tato možnost snižuje riziko uživatele není spuštění nástroje v časovém limitu a vyloučí riziko spojené se systémem Exchange nástroj. To není možnost, pokud jsou uživatelé aplikace Microsoft Office Outlook 2007 spuštěna.

Jak nainstalovat nástroj Exchange

Nástroj pro aktualizace kalendáře serveru Exchange, je k dispozici ke stažení forma samorozbalovací spustitelný soubor (Msextmz.exe). Tento nástroj je k dispozici z centra pro stahování Microsoft Download Center:

Zmenšit tento obrázekZvětšit tento obrázek
Stáhnout
Stáhnout balíček nástroje aktualizace kalendáře serveru Exchange nyní.

Vytvoření virtuálního počítače vám Nainstalujte a použijte nástroj Exchange. Virtuální počítač je založena na Microsoft Systém Windows Server 2003, aplikace Outlook 2007, Microsoft Office Excel 2007 a Microsoft Aplikace Office Word 2007. Virtuální počítač funguje v obou Microsoft Virtual PC 2004 a Microsoft Virtual Server 2005 R2.

Další informace o virtuální počítač pro nástroj aktualizace kalendáře serveru Exchange, klepněte následující článek znalostní báze Microsoft Knowledge Base:
933185Virtuální počítač je k dispozici usnadňuje nasazení aktualizace kalendáře 2007 letní čas v organizaci Exchange
Další informace o stažení odborné pomoci společnosti Microsoft soubory, klepněte na tlačítko článku znalostní báze Microsoft Znalostní báze Knowledge Base:
119591 Jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Byl zkontrolován na tento soubor neobsahuje viry. Microsoft používá nejčastěji aktuální antivirový software, který byl k dispozici v den, soubor bylo zaúčtováno. Soubor je uložen na zabezpečených serverech, které pomáhají zabránit neoprávněné změny v souboru.

Jazyky, které jsou podporovány nástrojem Exchange

Nástroj Exchange je k dispozici pouze v angličtině. Spustí se nástroj pouze v angličtině (USA) počítači.

Verze Exchange Server, které jsou kompatibilní s nástrojem Exchange

Nástroj Exchange můžete aktualizovat poštovních schránek v následujících verzích z Exchange Server:
  • 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

Operační systémy, které jsou podporovány nástrojem Exchange

Spustí se nástroj Exchange pro 32bitové verze následující operační systémy:
  • Microsoft Windows Server 2003
  • Systém Microsoft Windows XP
  • Systém Windows Vista

Před spuštěním nástroje Exchange

Instalace aktualizací

Před spuštěním nástroje Exchange, ujistěte se, že tento klient a server počítače jsou správně aktualizovány. To provedete instalaci aktualizace Windows DST Klienti a servery. Další informace informace získáte klepnutím na následující číslo článku v následujícím článku Znalostní báze Microsoft Knowledge Base:
942763Prosinec 2007 kumulativní aktualizace časových pásem pro operační systémy Microsoft Windows

Používáte-li Microsoft Exchange Server 2003 Service Pack 2 (SP2), nainstalujte jednu nebo obě následující aktualizace, jako vhodné pro vaši organizaci:
  • Aktualizace 911829
  • Aktualizace 924334
Další informace o těchto aktualizacích klepněte na následující čísla článků zobrazení v článcích znalostní báze Microsoft Knowledge Base:
911829Při pokusu provést editační úkoly nebo musíte klepnout na povolení rámeček vytvářené v aplikaci Outlook Web Access se zobrazí chybová zpráva
924334 Formuláře pro vytvoření zprávy reagovat po instalaci aplikace Internet Explorer 7.0 a ovládací prvek S/MIME v klientovi aplikace Outlook Web Access 2003 Exchange Server
Pokud budou uživatelé v rámci Jeruzalém, střední Brazilské nebo E. Jižní Ameriky časové pásmo, přečtěte si pokyny v následující článek znalostní báze Microsoft Knowledge Base:

943390 Některé položky kalendáře aplikace Outlook jsou nesprávně rebased, použijete-li nástroje pro aktualizaci dat časových pásem aplikace Outlook upravit pro změny letního času v některých časových pásmech

Ověření požadavků na systém

Nástroj Exchange nutné spustit pouze v počítači, pro které jsou-li splněny následující podmínky:
  • Počítač má aplikace Microsoft Office Outlook 2003 Service Pack 2 (SP2) nebo nainstalované služba verze 2007.
  • Počítač obsahuje nástroj pro časové pásmo dat aplikace Outlook nainstalován.
  • Společnosti Microsoft.Je nainstalováno rozhraní .NET Framework verze 2.0 klientský počítač.
Nástroj Exchange nelze spustit v počítači se systémem Exchange Server nebo nástroje Exchange System Management. Pokud se pokusíte nainstalovat Exchange nástroj v počítači se systémem Exchange Server nebo výměnu Nástroje pro správu systému, zobrazí se následující chybová zpráva:
Nástroj pro aktualizaci serveru Microsoft Exchange kalendáře nelze nainstalovat s Server Microsoft Exchange.

Zkontrolujte oprávnění a další požadavky uživatele

Ověřte, zda jsou splněny následující podmínky:
  • Spravovat oprávnění úložiště informací na každém serveru Exchange Server zprávu databáze (MDB) jsou aktualizovány.
  • Oprávnění Odeslat jako pro všechny poštovní schránky aktualizovat.
  • Úplný přístup k poštovní schránce oprávnění pro všechny poštovní schránky aktualizovat.
  • V počítači jsou udělena oprávnění místního správce. Nástroj Exchange se systémem.

O skriptu "Poštovní schránka udělit oprávnění ke"

Můžete udělit ukázkový skript GrantMailboxPermission.vbs Úplný přístup k poštovní schránce uživatele domény a oprávnění Odeslat jako všem poštovní schránky.

Tento skript lze spustit pouze Exchange Server správce v počítači se systémem Exchange 2000 Server nebo Exchange Server 2003. Tento skript nelze spustit v počítači se systémem Exchange Server 2007. Můžete však použít prostředí Exchange Management Shell udělit požadovaná oprávnění.

Kód skriptu VBS je poskytována Oddíl "Odkazy". Následující tabulka popisuje dva režimy, ve které skript spuštěn.
Zmenšit tuto tabulkuRozšířit tuto tabulku
RežimPříkazPopis
Přidat CScript GrantMailboxPermission.vbs –add Název_domény \ Uživatelské_jméno Název_souboru Tento příkaz se uděluje Název_domény \ Uživatelské_jméno uživatel Full Mailbox Access oprávnění Odeslat jako pro uživatelské poštovní schránky, které jsou uvedeny ve vstupním a soubor.

Vstupní soubor musí být textový soubor, který obsahuje starší verze názvy domény uživatelské poštovní schránky. Tyto názvy musí být odděleny přepravu Návrat + Line Feed (Line FEED).

Generuje skript Soubor GrantMailboxPermission.log. Tento soubor je záznam o poštovní schránky, byly zpracovány. První řádek souboru protokolu Název_domény \ Uživatelské_jméno uživatel, kterému je udělen přístup. Neodstraňujte tento soubor. Tento soubor je používán režim odebrat.

Je-li explicitní "deny" přístup je přiřazené uživateli, skript zaznamenává informace do souboru s názvem "GrantMailboxPermission.err". Na skript se neudělují nebo změnit oprávnění.

Pokud je uživatel součástí skupiny zabezpečení, který byl přiřazen "deny" přístup, udělí skript Úplný přístup k poštovní schránce a odeslat jako oprávnění. Uživatel však nebude možné přihlásit se k poštovní schránce. Všechny chyby budou protokolovány Soubor GrantMailboxPermission.err.
Odebrat CScript GrantMailboxPermission.vbs –removeTento příkaz odebere úplný přístup k poštovní schránce a odeslat jako oprávnění poštovní schránky, jsou uvedeny v GrantMailboxPermission.log ze Název_domény \ Uživatelské_jméno uživatel. Na Název_domény \ Uživatelské_jméno uživatel je určen v Soubor GrantMailboxPermission.log.
Poznámky
  • Při spuštění tohoto skriptu v počítači, který je spuštěn. Exchange Server, vrátí se skript období znaku (.) při skriptu uživatel úspěšně zpracoval. Skript vrátí vykřičník znak (!), když skript úspěšně nezpracovává uživatele.
  • Nemůže být výstupní soubor režimu extrakce časové pásmo používá se jako vstupní soubor pro tento skript. Vytvořit vstupní soubor pro tento pomocí skriptu, vložte obsah souboru časové pásmo extrakce režim výstupu do Poznámkový blok, uložit obsah jako nový dokument a potom použít jako nový dokument vstupní soubor.

Jak používat nástroj Exchange

Chcete-li použít nástroj Exchange, spusťte aktualizaci kalendáře serveru Exchange Nástroj pro konfiguraci (Msextmzcfg.exe). Tento program vám pomůže s celou proces aktualizace kalendáře.

Proces extrakce časové pásmo

Chcete-li aktualizovat kalendáře poštovní schránky, je třeba určit časové pásmo kalendáře. Proces extrakce časové pásmo zkoumá vlastnosti a události kalendáře poštovní schránku k určení jejich časových pásem. Spustit časové pásmo proces extrakce, postupujte takto:
  1. Na úvodní stránce klepněte na tlačítko Další.

    Poznámka: Úvodní stránka vás seznámí se nástroj Konfigurace a Popisuje oprávnění, které jsou nutné ke spuštění nástroje. Stránky také poskytuje odkaz na tento článek.
  2. Určete nastavení pro konfigurační nástroj. Jsme Doporučujeme přidělování místa na disku alespoň 200 megabajtů (MB) protokolování.

    Pokud chcete změnit výchozí nastavení, klepnete naUpřesnit nastavení. Další informace o upřesňujících nastavení, viz následující tabulka tento postup.
  3. Vyberte servery Exchange v místní adresář Active Directory doménové služby adresáře, který chcete aktualizovat. Klepněte na tlačítkoDalší Spusťte proces extrakce časové pásmo.

    Poznámka: Pokud jste již provedli extrakci časové pásmo, můžete přeskočit Tento krok klepnutím Přeskočit.

    Všimněte si, že stav panel, propojení do výstupního protokolu a v reálném čase časového pásma Zobrazí se proces extrakce. Po časové pásmo je proces extrakce dokončit, klepněte na tlačítko Další.

    Pokud došlo k chybám, Zobrazí se odkaz na dokument Poradce při potížích.
  4. Konfigurace Poštovní schránky se žádný čas Zóny stránky a pak klepněte na tlačítko Další prohledávání kalendáře položky.

    Poznámka: Pokud nástroj nalezne uživatelům, kteří nemají vlastnosti na úrovni poštovní schránky označují jejich časové pásmo, nástroj prohledává skutečné schůzky a události uvnitř těch kalendářů určit časové pásmo. Můžete zadat číslo položek kalendáře, které chcete, aby nástroj Konfigurace skenování. Na větší počet položek, které zadáte, tím déle bude prohledání trvat.
  5. V Neznámé časové pásmo zobrazení řešení názvy stránky, nástroj výzvu k namapování časových pásem, která nepodporuje nástroje rozpoznat známý operační systém časové pásmo. Poté, co provedete, klepněte na tlačítkoDalší
  6. Pokud konfigurační nástroj vyhledá uživatele, kteří mají více časové zóny, konflikt vyřešit ručně zadáním jedné výzvy časové pásmo, se kterým chcete aktualizovat kalendář jiného uživatele. Poté, co provedete, klepněte na tlačítkoDalší.
  7. V Uložit Mailbox DNs nevyřešené čas Zóny stránka, Zbývající uživatelé, kteří stále mít žádné časové pásmo informace nebo stále mají konfliktní informace o časových pásmech, které jsou zaznamenány v samostatný soubor protokolu. Klepněte na tlačítko Další.
Proces extrakce časové pásmo je nyní dokončena. Seznam Uživatelé a extrahované časových pásem je umístěna ve výstupním souboru (výstup.txt) Instalační adresář.

Upřesnit nastavení

Následující tabulka popisuje upřesňující nastavení, můžete nakonfigurovat v kroku 2 předchozího postupu.
Zmenšit tuto tabulkuRozšířit tuto tabulku
NastaveníFunkceScénářDůležité informacePoužitelnost
Aktualizovat pouze opakované schůzkyTo změnit nastavení aktualizace pouze opakované schůzky, které jsou ovlivněny letním čase. Jsou jedinou instancí událostí, které spadají do delší období letního času aktualizovat bez ohledu na to, zda by měly být aktualizovány.Pokud počítače v organizace byly aktualizovány před dlouhou dobou, použijte toto nastavení.

Lidé obvykle není vytvořit jednoduchou schůzky mnoho měsíce předem. Proto pokud DST aktualizace nebyly nainstalovány mnoho měsíců před většinu jedné instance schůzky, které spadají do rozšířené DST období bude byly vytvořeny pomocí nových pravidel přechodu letního času. Tyto zasedání se nemají aktualizovat.
Jestliže uživatel vytvořil jedné instance schůzku předem mnoho měsíců, schůzka není aktualizován v případě, že toto nastavení je určeno.Toto nastavení platí pro všechny poštovní schránky na všechny konference místnosti a na všechny uživatele kalendáře.
Oprava instalace operačního systému DatumToto nastavení určuje jedné instance události které jsou vytvořeny nebo nejsou aktualizovány po datu, které zadáte aktualizovat.Pokud znáte přesné datum, kdy byly všechny klientské počítače Toto nastavení použijte aktualizaci.

Pokud budete pokračovat, schůzky, které jsou vytvoření po instalaci této aktualizace nejsou aktualizovány. Tyto schůzky spadají podle nových pravidel časové pásmo.
Toto nastavení je efektivní pouze pokud klientské počítače byly všechny aktualizovány méně než 24 hodin a je Vysoká pronikání aktualizace. (Je vysoce pronikání při procento z počítačů v organizaci, které byly aktualizovány je vysoká 90 % rozsahu.)

Navíc mohou správci určit pouze jeden Aktualizujte datum. Schůzky, které jsou vytvořeny v časových pásmech, které odpovídají konkrétní aktualizace a konkrétní nastaví časové zóny musí být aktualizovány.

Vyvstanou konferenční místnosti je, že pouze aktualizovány konference pokoje jsou v určitých časových pásmech.

Vyvstanou pro uživatele poštovní schránky, je, že pokud SuppressExchange nastavení nebo SuppressAll není zadáno nastavení, pouze uživatelské poštovní schránky, patří k určité aktualizaci zóny.
Toto nastavení platí pro všechny poštovní schránky, všechny konferenční místnosti a všechny uživatele kalendáře.
SuppressExchange a MaxDepthToto nastavení způsobí všechny události v kalendář jiného uživatele, který se týká změna letního času aktualizovat bez ohledu na zda je uživatel Organizátor těchto položek kalendáře.

Pokud uživatel je organizátor položky kalendáře, aktualizace nejsou odeslány účastníkům kdo Máte poštovní schránky serveru Exchange. Aktualizace jsou odeslány účastníkům, kteří nemají Exchange poštovní schránky.

Na MaxDepth nastavení určuje úroveň rozšíření distribučního seznamu, který je provedena určit, které účastníci Máte poštovní schránky serveru Exchange a které účastníci nemají.
Toto nastavení použijte, pokud nechcete uživatelům serveru Exchange přijímat aktualizace schůzek z organizátorům pro schůzky, které jsou ovlivněny delší období letního času.

Na SuppressExchange nastavení je lepší než SuppressAll Pokud je v organizaci než Exchange Kalendářní systémy serverů a pokud naplánovány patří účastníkům schůzky, jsou externí organizace.
Jsou odesílány žádné aktualizace schůzky, s výjimkou než Exchange uživatelům. Proto aby jistotu, zkopíruje stejné schůzky aktualizaci všech možných účastníků, musí všechny poštovní schránky v organizaci aktualizovat.

Tato podmínka může výrazně zvýšit počet poštovní schránky, které je třeba aktualizovat. Proto mohou být časy zpracování zvýšit.

Při velkých, vnořené distribuční seznamy jsou na účastníka seznam, je nákladné proces účastníky schůzky a k určení Určete, zda tyto účastníky poštovní schránky serveru Exchange. Zadáte-li to nastavení a nastavení vysoké hodnoty MaxDepth parametr, významné zatížení, mohou být uváděny v doméně řadiče.
Toto nastavení platí pouze pro uživatelské poštovní schránky.
SuppressAllToto nastavení způsobí všechny Změna schůzky v kalendáři uživatele, které jsou ovlivněny letním čase se aktualizovat bez ohledu na to, zda je uživatel Organizátor tyto kalendáře položky.

Pokud je uživatel Organizátor položky kalendáře, jsou aktualizace nejsou odeslány účastníkům.
Použít toto nastavení, jestliže chcete účastníkům přijímat aktualizace schůzek z Organizátorům schůzky, kterých se týká delší období letního času.Jsou odesílány žádné aktualizace schůzky. Proto aby Ujistěte se, že kopie stejné schůzky jsou aktualizovány pro všechny možné účastníky, je třeba aktualizovat všechny poštovní schránky v organizaci.

Tato podmínka může výrazně zvýšíte počet poštovních schránek, které je třeba aktualizovat. Proto může být zvýšena časy zpracování.

Účastníci, kteří nemají mají poštovní schránky serveru Exchange přijímat aktualizace. Nemusí být jmenováni aktualizována v závislosti na e-mailového systému, který používají a to v závislosti na akce, které jim správce.
Toto nastavení platí pouze pro uživatelské poštovní schránky.

Aktualizace konferenční místnosti a prostředků poštovních schránek

Je nutné aktualizovat, konferenční místnosti a prostředků poštovních schránek, aby se zabránilo konflikty rezervace. Chcete-li to provést, postupujte takto:
  1. V Zadejte zdroj a konferenční místnosti Kalendáře stránky, zadejte nebo vložte seznam aliasů konferenčních místností ve vaší organizaci. Klepněte na tlačítko Vyřešit aliasy, ověření a potom klepněte na tlačítko Další.
  2. V Řešení pro zdroj časových pásem a Konferenční místnost kalendáře stránka, nástroj výzvu k ručně zadání časového pásma pro konferenční místnosti, konferenční místnosti, není-li máte časové pásmo. To provést a klepněte na tlačítko Další.
  3. Připomenutí stránky se zobrazí upozornění, nástroj je aktualizace kalendáře. Klepněte na tlačítko Další.
  4. Všimněte si, že stavový řádek, odkaz na výstup protokolu, a jsou zobrazeny v reálném čase výstupu nástroje. Klepněte na tlačítkoDalší.

    Pokud došlo k chybám, odkaz Poradce při potížích dokumentu se zobrazí v dolní části této stránky.

Aktualizace kalendáře poštovní schránky uživatele

Chcete-li to provést, postupujte takto:
  1. V Nastavení aktualizací poštovní schránku uživatele Kalendáře stránky, nastavení pro aktualizaci.

    Pokud není zadán SuppressExchange neboSuppressAll upřesňující nastavení, vyberte časových pásem, které jsou vliv letního času. Jinak vyberte všechna časová pásma.

    Klepněte na tlačítkoDalší.
  2. Připomenutí stránky se zobrazí upozornění, nástroj je aktualizace kalendáře. Klepněte na tlačítko Další.
  3. Všimněte si, že stavový řádek, odkaz na výstup protokolu, a jsou zobrazeny v reálném čase výstupu nástroje. Po aktualizaci dokončit, klepněte na tlačítko Další.

    Pokud došlo k chybám, odkaz na dokument Poradce při potížích se zobrazí v dolní části této stránka.
  4. Klepněte na tlačítko Dokončit.

Podadresáře a soubory protokolu serveru Exchange nástroj

Soubory protokolu

Nástroj Exchange vytvoří následující soubory protokolu Instalační adresář:
  • Výstup.txt

    Tento soubor obsahuje seznam všech poštovních schránek uživatelů, byly extrahovány spolu s jejich informace o časových pásmech.
  • TimeZoneExtraction.log

    Tento protokol obsahuje kombinované výstup časového pásma proces extrakce pro všechny servery.
  • ResourceUpdate.log

    Tento protokol obsahuje proces aktualizace pro výstup konferenční místnosti a prostředků poštovních schránek.
  • UserUpdate.log

    Tento protokol obsahuje kombinované výstup uživatele proces aktualizace poštovní schránky pro všechny servery.
  • CalendarScan.log

    Tento protokol obsahuje kombinované výstup kalendáře Prohledejte proces pro všechny servery.
  • ConflictUsers.txt

    Tento protokol obsahuje seznam uživatelů, kteří mají konfliktní časová pásma. Například vlastnosti poštovní schránky uživatelů naznačují, že jejich patří do více časových zónách.
  • NonExistent.txt

    Tento protokol obsahuje seznam uživatelů, kteří mají žádné časové pásmo informace.

Podadresáře

Nástroj Exchange vytvoří následující podadresáře v Instalační adresář:
  • Zdroj

    Toto je podadresář pracovní proces aktualizace pro konferenční místnosti a prostředků poštovních schránek. Tento adresář obsahuje následující soubory:
    • Msextmz.log

      Toto je název výstupního souboru nástroje Exchange proces aktualizace.
    • Errors.txt

      Tento soubor obsahuje seznam poštovních schránek.
    • Processed.txt

      Tento soubor obsahuje seznam poštovních schránek, které byly úspěšně aktualizovány.
    Poznámka: Všechny podadresáře pracovní obsahují tyto soubory.

    Na Podadresář zdrojů obsahuje také následující podadresáře:
    • LogFiles

      Tento podadresář obsahuje aktualizace protokoly pro každou poštovní schránku která byla úspěšně aktualizována. Každá aktualizace protokolu by měl obsahovat seznam schůzky, které byly aktualizovány.
  • Název_serveru

    Existuje jeden podadresáře pro každý server ve kterém byla provedena aktualizace kalendáře nebo proces extrakce časové pásmo. Tyto podadresáře obsahovat následující podadresáře:
    • CalendarScan

      Toto je podadresář pracovní kalendář skenování proces.
    • Extrahovat

      Toto je podadresář pracovní pro časové pásmo proces extrakce.
    • Aktualizace

      Toto je podadresář pracovní uživatelské poštovní schránky proces aktualizace. Obsahuje následující podadresáře:
      • LogFiles

        Tento podadresář obsahuje aktualizace protokoly pro každou poštovní schránku která byla úspěšně aktualizována. Každá aktualizace protokolu by měl obsahovat seznam schůzky, které byly aktualizovány.

Jak postupovat po spuštění nástroje Exchange

Po dokončení spuštění nástroje Exchange proti všem Exchange servery v prostředí, použít příslušné aktualizace letního času Exchange Server. Následující seznam je uspořádán podle verze Exchange Server a service pack úroveň. Instalace aktualizací pro vaši verzi Exchange Server v pořadí.

Exchange Server 2007
940006 Popis kumulativní aktualizace 4 Exchange Server 2007
4 Exchange Server 2007 zahrnuje opravy následující opravy: DST
  • 937656 Po letní čas (DST) začíná na Novém Zélandu v roce 2007 dochází k potížím v aplikaci Outlook Web Access pro server Exchange 2007
  • 932561 Události, které jsou odesílány z jedné organizace Exchange do jiného pomocí serveru Exchange 2007 může být nesprávná o jednu hodinu Pokud jedné organizace je v časovém pásmu Západní Austrálie
Exchange Server 2003 SP2
926666 Aktualizace pro změny letního času v roce 2007 pro server Exchange 2003 Service Pack 2
931915 Aktualizace pro změny letního času v Newfoundland 2007 pro Exchange Server 2003 Service Pack 2
929895 Události, které jsou odesílány mezi různými Exchange Server organizacemi, která může být nesprávná o jednu hodinu, pokud je jedna z organizací v časovém pásmu Západní Austrálie
937653 Máte problémy jednoho nebo více Exchange Server 2003 po období letního času pro změny na Novém Zélandu v roce 2007
Exchange Server 2003 SP1
940123 Problémy na serveru Exchange 2003 Service Pack 1 po letní čas (DST) začíná na Novém Zélandu v roce 2007

Známé problémy

  • Opakované schůzky, které jsou vytvořeny v aplikaci Outlook Web Access nejsou aktualizovány pomocí nástroje Exchange

    Po instalaci aktualizace Exchange Server Exchange server před aktualizací poštovní schránky, opakované schůzky, které jsou vytvořené v aplikaci Outlook Web Access nejsou aktualizovány pomocí nástroje Exchange.

    Chcete-li tento problém vyřešit, odeberte Exchange Server aktualizace, spusťte Nástroj Exchange a poté znovu nainstalujte aktualizace Exchange Server na Exchange Server.
  • Po spuštění nástroje Exchange je nutné restartovat server Exchange 2007

    Chcete-li správně zobrazit položky kalendáře, je nutné restartovat služby serveru Exchange po spuštění nástroje Exchange pro aplikaci Outlook Web Access Server Exchange 2007.
  • Nelze nainstalovat nástroj Exchange

    Pokud není úspěšně nainstalován nástroj Exchange některý z následujících klíčů registru existuje:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    V tomto případě se zobrazí následující chybová zpráva Při pokusu nainstalovat nástroj Exchange:
    Exchange Server Nelze nainstalovat nástroj Rebasing kalendář s touto verzí systému Microsoft Aplikace Outlook.
    Chcete-li tento problém vyřešit, odstraňte tyto klíče registru Nainstalujte nástroj Exchange a potom obnovení registru klíče.

    Důležité Tento oddíl, metoda nebo úkol obsahuje kroky, které můžete zjistit, jak na úpravou registru. Však mohou nastat závažné problémy při úpravě registr nesprávně. Proto se ujistěte, postupujte podle těchto kroků: opatrně. Pro zvýšení ochrany před úpravami je nutné zálohujte registr. Můžete pak obnovení registru v případě, že dojde k potížím. Další informace o zálohování a obnovení registru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
    322756 Postup při zálohování a obnovení registru v systému Windows
  • Je omezena na počet poštovních schránek, které mohou být zpracovány vázané na server

    V seznamu uživatelského režimu a režimu extrakce časové pásmo, Msextmz.exe může zpracovat pouze 65 535 poštovní schránky na serveru. Pokud má server více než 65 535 poštovní schránky některých poštovních schránek nejsou zpracovány.
  • Veřejné složky kalendáře nejsou aktualizovány

    Nástroj Exchange veřejných složek neaktualizuje. kalendáře. Informace o tom, jak aktualizovat kalendář veřejných složek naleznete v tématu v dokumentaci k nástroji aplikace Outlook.
  • Nástroje pro aplikaci Outlook a Exchange lze spustit ve stejné prostředí

    Pokud spustíte nástroj Exchange na poštovní schránky, který má již byla aktualizována pomocí nástroje aplikace Outlook, nebo naopak, dochází k žádné straně účinky. Ale pokud spustíte nástroj Exchange, není nutné pro uživatele Nástroj Outlook spusťte samostatně.
  • Připomenutí Non schůzky se později, než se očekávalo

    Připomenutí Non schůzky pro poštovní schránky, které jsou aktualizovány Nástroj Exchange není aktualizován, je-li aplikace Outlook nikdy připojil k poštovní schránce v režimu Online. V takovém případě zobrazovat připomenutí o hodinu později než byl očekáván.

    Je-li aplikace Outlook má nikdy připojeni v režimu Online, musíte upravit nesprávné připomenutí pro události v kalendáři, nástroj pro aplikaci Outlook najde. Složky výsledků hledání připomenutí navíc neexistuje v poštovní schránce. Nástroj proto neprovede aktualizaci položek e-mailů, kontaktů nebo jiných připomínek.

    Například nástroj neaktualizuje upomínky na e-mailu sledovat současně v budoucnosti. Nástroj také neaktualizuje připomenutí na úkol, který má připomenutí.
  • Zobrazí chybová zpráva: nelze nainstalovat, protože byly zjištěny předchozí verze "Microsoft Exchange nástroj aktualizace kalendáře". Je odinstalovat a znovu spusťte tento instalační program"

    Pokud jste dříve nainstalovali aktualizaci kalendáře serveru Exchange Nástroj verze 1.0, je třeba tuto verzi odinstalovat před instalací serveru Exchange Aktualizace nástroje Kalendář verze 2.0.

    Nástroj pro aktualizaci kalendáře Exchange verze 1.0 byla rozdělena do samorozbalovacího spustitelného souboru, který obsahoval (Msextmz.msi a Msextmzcfg.msi) dvou balíčků MSI. Je nutné odinstalovat i balíčky před instalací verze 2.0 nástroje Exchange.

    Pokud jste dochází k problémům při instalaci verze 2.0 nástroje Exchange Zkuste znovu nainstalovat a potom odinstalovat verzi 1.0 nástroje Exchange. Proveďte to pomocí balíčků MSI místo Přidání nebo odebrání Programy funkce v Ovládacích panelech. Restartujte počítač, a Nainstalujte verzi 2.0 nástroje Exchange.

    Pokud tento postup nefunguje, extrahovat binární soubory přímo z balíčků MSI.
  • Při spuštění nástroje pro aktualizaci Outlook nebo Exchange události jsou posunuté o jednu hodinu na poštovní schránky, kde domácí časové pásmo je Nový Zéland (běžný čas)

    K tomuto chování dochází, když jsou následující scénáře TRUE:
    • Spuštění nástroje pro aktualizaci Outlook nebo Exchange na počítač se systémem Windows Vista.
    • Domácí časové pásmo poštovních schránek, které jsou aktualizace je Nový Zéland (běžný čas).
    Chcete-li tento problém vyřešit, je nutné spustit aplikaci Outlook nebo Aktualizace nástroje Exchange proti podruhé nebo po lednu poštovní schránky 1, 2008.

    K tomuto chování dochází, protože systém Windows Vista zachází časové pásmo informace jiným způsobem než jiné verze systému Windows provést. Pokud nelze spustit Aplikace Outlook nebo Exchange aktualizovat nástroje znovu nebo po 1. ledna 2008, všechny události v případě letního času, druhý bude vypnuto o jednu hodinu. Druhý DST událost obsahuje data z 16. března 2008 až 6. dubna 2008.

    Pokud nemáte Chcete počkat až do 1. ledna 2008 aktualizace schůzek v druhém DST události, můžete spustit aktualizaci nástroje Outlook nebo Exchange z počítače, který je systém Windows XP nebo Windows Server 2003.
  • Datum ve formátu DD/MM/RRRR je změněn na formát M/DD/RRRR

    Nastavit Datum opravy operačního systému možnost výměny Nástroj pro aktualizaci kalendáře. Použijete-li tento nástroj aktualizace kalendáře serveru Exchange nefunguje správně. K tomuto problému dochází, protože je datum formátu DD/MM/RRRR/M/DD/RRRR.

    Dále se chybová zpráva podobná Chyba protokolu je zaznamenána následující chybová zpráva:
    [02/28/2008 7: 10: 21 AM] [776]: wmain: nezdařilo se čtení konfigurace - chyby 0x80070057.
    K tomuto problému dochází z důvodu nastavení správné možnosti v následující části poštovních schránek vzorku.ServerSoubor INI.
    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 
    
    Všimněte si, že obsahuje řádek "systempatchdate" datum "2/28/08." Toto datum by mělo být ve formátu MM/DD/RRRR.

    Chcete-li tento problém vyřešit, nepoužívejte Oprava operačního systému Datum možnost.

Odkazy

"Poštovní schránka udělit oprávnění ke" skript

Option Explicit
' For FileSystemObject
Const ForReading = 1
Const ForWriting = 2
Const ForAppending = 8
Const TristateTrue = -1
Const TristateUseDefault = -2
Const TristateFalse = 0

'Permission Type: Allow or Deny
Const ADS_ACETYPE_ACCESS_ALLOWED = &H0
Const ADS_ACETYPE_ACCESS_DENIED = &H1
Const ADS_ACETYPE_ACCESS_ALLOWED_OBJECT = &H5
Const ADS_ACETYPE_ACCESS_DENIED_OBJECT = &H6

Const ADS_ACEFLAG_INHERIT_ACE = &H2
Const ADS_ACEFLAG_NO_PROPAGATE_INHERIT_ACE = &H4
Const ADS_ACEFLAG_INHERIT_ONLY_ACE = &H8
Const ADS_ACEFLAG_INHERITED_ACE = &H10
Const ADS_ACEFLAG_VALID_INHERIT_FLAGS = &H1f
Const ADS_ACEFLAG_SUCCESSFUL_ACCESS = &H40
Const ADS_ACEFLAG_FAILED_ACCESS = &H80

'Declare ADSI constants
Const ADS_SCOPE_SUBTREE = 2
Const ADS_OPTION_SECURITY_MASK = 3
Const ADS_OPTION_REFERRALS	= 1
Const ADS_SECURITY_INFO_DACL = 4
Const ADS_CHASE_REFERRALS_NEVER = &h00 
Const ADS_CHASE_REFERRALS_SUBORDINATE = &h20 
Const ADS_CHASE_REFERRALS_EXTERNAL = &h40

'Microsoft Exchange Server
Const EX_MB_SEND_AS_ACCESSMASK  = &H00100
Const EX_FULLMAILBOX_ACCESSMASK = 1
Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"

'Application Parameter Index
Const ARG_INDEX_MODE = 0
Const ARG_INDEX_USERNAME = 1
Const ARG_INDEX_FILENAME = 2
Const MIN_ARG = 1

Const MODE_INVALID = -1 
Const MODE_ADD = 0
Const MODE_REMOVE = 1

Const ADD = "-ADD"
Const REMOVE = "-REMOVE"

'Application Const String
Const EMPTYSTRING = ""
Const ERROR_FILENAME = "GrantMailboxPermission.err"
Const OUTPUT_FILENAME = "GrantMailboxPermission.log"
Dim OUTPUT_DELIMITER
OUTPUT_DELIMITER = vbTab

'Logging file
Dim objFSO
Dim objfileError
Dim objfileOutput
Dim objfileImport
Dim objconn
Dim objCommand
Dim rootDSE
Dim sDomainContainer
Dim sUserLDAPPath
Dim objUser
Dim objSDNTsecurity
Dim objDACLNT
Dim objDACLEX
Dim objSDMailbox
Dim fFMA
Dim fSendAs
Dim AccessTypeForFMA
Dim AccessTypeForSendAS
Dim fAddedFMA
Dim fAddedSendAs
Dim fRemovedFMA
Dim fRemovedSendAs
Dim sArraySplit
Dim sOneRow
Dim sGrantedUser
Dim dArgCount
Dim cScriptMode
Dim dArgExpected
Dim fOneError

On Error Resume Next
'Parameter Verification
dArgCount = Wscript.Arguments.Count
If (dArgCount < MIN_ARG) Then
	DisplaySyntax
End If

cScriptMode = MODE_INVALID
Select 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_INVALID
End Select

If (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then
	DisplaySyntax
End If

If (cScriptMode = MODE_ADD) Then
	sGrantedUser = WScript.Arguments(ARG_INDEX_USERNAME)
	If (IsValidUserName(sGrantedUser) = False) Then
		DisplaySyntax
	End If
End If

CreateImportExportFiles

If (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
	Loop

Set rootDSE = Nothing
Set objCommand = Nothing
Set objconn = Nothing

End If

If (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
	Loop
End If

CloseImportexportFiles

Function IsValidUserName (sUserName)
	Dim dPosition
	dPosition = InStr(1, sUserName, "\")
	If (dPosition = 0 ) Then
		IsValidUserName = False
		objfileError.WriteLine("Invalid User:" & sUserName)
	Else
		IsValidUserName = True
	End If
End Function

Function 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 = Nothing
End Function

Function 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 = Nothing
End Function

Function 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 Function

Function 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 Function

Function 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 = Nothing
End Function

Function 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 = Nothing
End Function

Function 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 If
End Function

Function 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 = Nothing
End Function

Function 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

Vlastnosti

ID článku: 941018 - Poslední aktualizace: 22. května 2011 - Revize: 8.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbhowto kbinfo kbmt KB941018 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:941018

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com