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

ÚVOD

Letní čas je systém nastavení hodiny dopředu tak, že Východ slunce a Západ slunce dochází na pozdější hodinu. Efekt je další letní večer. Mnoho zemí sledovat letního času. Většina z těchto zemí mají své vlastní pravidla a předpisy pro při letní čas začíná a končí.

Každoročně se mohou změnit data letní čas (DST). Uživatelé aplikace Microsoft Outlook je nutné aktualizovat jejich kalendáře aplikace Outlook při každém změnit pravidla letního času. Data mezi předchozí DST pravidla a aktuální pravidla letního času jsou uvedené v tomto článku jako "rozšířené DST období."

Tento článek popisuje akce, které můžete provést na adrese pošta v aplikaci Outlook, ke kterým dochází během prodlouženého období letního času. Tento článek také popisuje akce, které byste měli vzít k aktualizaci položek kalendáře, které jsou uloženy v Microsoft Exchange Server podle nových pravidel DST. Řešení, které jsou uvedeny v tomto článku zahrnuje nástroj aktualizace kalendáře Microsoft Exchange ("Exchange nástroj").

Další informace o tom, jak připravit pro změny letního času v roce 2007 (DST 2007) pro všechny ohrožené produkty společnosti Microsoft naleznete na následujícím webu společnosti Microsoft:2011 ruská vláda přijala zákon zrušit letní čas (DST). Další informace naleznete na následujícím webu společnosti Microsoft:Další informace v ruštině naleznete na následujícím webu společnosti Microsoft:

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 dochází během období změnu letního času se nesprávně zobrazí jako vyskytující se jednu hodinu později. To platí pro opakované a jedné instance události. Tyto události je třeba aktualizovat tak, že budou zobrazeny správně v aplikaci Outlook, aplikace Microsoft Office Outlook Web Access a aplikace, které jsou založeny na datové objekty CDO (Collaboration).

Aplikace Outlook poskytuje nástroj, který se nazývá nástroj aktualizace dat časové pásmo pro aplikace Microsoft Office Outlook ("aplikace Outlook nástroj"). Tento nástroj umožňuje uživatelům aktualizovat své vlastní kalendáře.

Další informace o nástroj aktualizace dat časové pásmo klepněte na následující číslo článku databáze Microsoft Knowledge Base:
931667 jak řešit změny letního času v roce 2007 pomocí nástroje aktualizace dat časové pásmo pro aplikace Microsoft Office Outlook

Nástroj aktualizace kalendáře serveru Exchange ("Exchange nástroj") pomáhá zabránit obtížím, které správci v nasazení nástroje Outlook obecně pro všechny uživatele a zajistit, aby každý uživatel spustí nástroj Outlook správně.

Stručný 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.
Název souboru
Popis
Msextmz.exeTento spustitelný soubor extrahuje informace o časovém pásmu z poštovní schránky na serveru se systémem Exchange Server. Tento spustitelný soubor také aktualizace kalendáře poštovní schránky pro zadaný seznam uživatelů.
Msextmzcfg.exeTento spustitelný soubor je konfigurační nástroj, který provádí většinu kroků, které jsou zahrnuty v aktualizaci serveru Exchange Server.

O nové verzi nástroje Exchange

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

Novou verzi nástroje Exchange obsahuje následující vylepšení:
  • Časové pásmo extrakce a procesy aktualizace kalendáře se urychlí fourfold.
  • Uživatelské rozhraní pro nástroje pro konfiguraci je více efektivní a intuitivní.
  • Možnosti aktualizace konferenční místnosti a prostředků poštovních schránek je nyní integrována do nástroje pro konfiguraci rozhraní.
  • Schopnost aktualizovat uživatelské poštovní schránky je nyní integrována do nástroje pro konfiguraci rozhraní.
  • Poradce při potížích dokument je nyní součástí nástroje Exchange a je integrován do nástroje pro konfiguraci rozhraní.
  • Zlepšení časové pásmo extrakce algoritmus a funkce pro zpracování chyb.
  • Proces protokolování je srozumitelnější.

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

Při spuštění nástroje Exchange, existuje riziko události jedné instance nemusí být správně aktualizován. Například jedné instance události uživatelem vytvořené po aktualizaci operačního systému může být nesprávně aktualizováno.

Ke snížení tohoto rizika, použijte jednu z následujících metod:
  • Zmenšete interval mezi aktualizaci klientských počítačů a době aktualizace kalendáře v poštovní schránce.
  • Pokud počítače v organizaci byly aktualizovány před dlouhou dobou, použijte nastavení Pouze aktualizace opakované schůzky v
    Upřesnit nastavení.

    Obvykle lidé vytvoření jedné instance události mnoho měsíců předem. Proto pokud mnoho měsíců před nainstalované aktualizace letního času, maximálně jedno instanční setkání, které spadají do rozšířené DST období bude byly vytvořeny pomocí nových pravidel přechodu letního času. Tyto schůzky není nutné aktualizovat.
  • Pokud znáte přesné datum, kdy byly aktualizovány klientských počítačů, použijte nastavení Datum opravy operačního systému v
    Upřesnit nastavení. Pokud je zadáno datum, jedné instance události, které byly vytvořeny po tomto datu nejsou aktualizovány pomocí nástroje Exchange.
Poznámka: Pokud v klientském počítači se systémem Windows Vista spustíte nástroj aplikace Outlook nebo Exchange a spusťte nástroj proti poštovní schránky, kde je domácí časové pásmo Nový Zéland (běžný čas), je nutné spustit nástroj podruhé nebo po 1. lednu 2008. Další informace naleznete v části "Známé problémy".

Možnosti aktualizace poštovní schránky

Následující tabulka uvádí pět možností, které lze použít k aktualizaci poštovních schránek uživatelů používat pravidla DST 2007 časové pásmo.
Možnost
V oblasti IT
Nevýhody
Distribuce aplikace Outlook nástroj pro každého uživatele a potom pokyn uživatelům aktualizovat své vlastní poštovní schránky.Tuto možnost vyloučí riziko spojené s spuštění nástroje Exchange.Je těžké zaručit, že všichni uživatelé spustí nástroj Outlook správně a včas.

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

Je třeba provést další vzdělávací úsilí snížit nejasnostem pro uživatele.
Spusťte nástroj Exchange servery a všechny příslušné uživatele.
Tato možnost poskytuje uživatelům efektivnější práci.
Existuje riziko spojené s spuštění nástroje Exchange, jak je popsáno v části "Rizika spuštění nástroje Exchange".
Spusťte nástroj Exchange aktualizovat pouze opakované schůzky. Umožňuje uživatelům aktualizovat události jedné instance v svým vlastním poštovním schránkám pomocí aplikace Outlook.Existuje menší riziko události jedné instance nesprávně aktualizován.Nevýhody spuštěním nástroje aplikace Outlook jsou kombinovány s nevýhody spuštění nástroje Exchange.
Spusťte nástroj Exchange ani nástroj Outlook. Požádejte uživatele, posoudit jejich kalendáře a znovu knihu události podle potřeby.Tuto možnost vyloučí riziko spojené s spuštění nástroje Exchange.
Pokud všichni uživatelé znovu rezervovat všechny příslušné události, některé položky kalendáře bude jednu hodinu vypnout během prodlouženého období letního času.

Je třeba provést další vzdělávací úsilí snížit nejasnostem pro uživatele.
Distribuce aplikace Outlook nástroj pro každého uživatele a potom pokyn uživatelům aktualizovat své vlastní poštovní schránky. Potom určit, zda uživatelé používají nástroj Outlook pomocí režimu extrakce časové pásmo nástroje Exchange.


Pokud uživatelé nepoužívají službu Outlook nástroje, správce spustit nástroj Exchange.
Tato možnost snižuje riziko uživatelů není spuštěn nástroj včas a není riziko, které souvisí se spuštěním nástroje Exchange.Toto není možnost, pokud uživatelé používají aplikace Microsoft Office Outlook 2007.

Jak nainstalovat nástroj Exchange

Nástroj aktualizace kalendáře serveru Exchange je k dispozici ke stažení ve formě samorozbalovacího spustitelného souboru (Msextmz.exe). Tento nástroj je k dispozici pro stahování Microsoft Download Center:

Download Stáhněte balíček nástroje aktualizace kalendáře serveru Exchange.

Můžete nainstalovat a používat nástroj Exchange je vytvořen virtuální počítač. Virtuální počítač je založen na Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 a Microsoft Office Word 2007. Virtuální počítač pracuje v obou Microsoft Virtual PC 2004 a Microsoft Virtual Server 2005 R2.

Další informace o virtuálního počítače pro nástroj aktualizace kalendáře serveru Exchange klepněte na následující číslo článku databáze Microsoft Knowledge Base:
933185 virtuální počítač je k dispozici pro nasazení aktualizace kalendáře 2007 letní čas v organizaci Exchange

Pro více informací o tom, jak stahovat soubory podpory společnosti Microsoft, klepněte na následující číslo článku v databázi Microsoft Knowledge Base:
119591 jak získat soubory podpory společnosti Microsoft ze serverů služeb online
Microsoft zkontroloval tento soubor na přítomnost virů. Společnost Microsoft použila aktuální antivirový software, který byl k dispozici k datu, kdy byl soubor vydán. Soubor je uložen na zabezpečených serverech, které pomáhají zabránit neoprávněným změnám v souboru.

Jazyky, které jsou podporovány pomocí nástroje Exchange

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

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

Nástroj Exchange můžete aktualizovat poštovní schránky na následující verze systému 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 pomocí nástroje Exchange

Spustí se nástroj Exchange v 32bitových verzích následujících operačních systémů:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Systém Windows Vista

Co dělat před spuštěním nástroje Exchange

Instalace aktualizací

Před spuštěním nástroje Exchange, přesvědčte se, zda správně aktualizovány klientských počítačů a serverů. Chcete-li to provést, nainstalujte aktualizaci Windows DST v klientech a na serverech.
Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
942763 prosinec 2007 kumulativní časové pásmo aktualizace pro systém Microsoft Windows operační systémy


Pokud používáte Microsoft Exchange Server 2003 Service Pack 2 (SP2), instalace v závislosti na organizaci jednu nebo obě následující aktualizace:
  • Aktualizace 911829
  • Aktualizace 924334
Další informace o těchto aktualizacích získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
911829 obdržíte chybovou zprávu při pokusu provést editační úkoly nebo musíte klepnout na povolení rámeček vytvářené v aplikaci Outlook Web Access

924334 Formuláře pro vytvoření zprávy přestane reagovat po instalaci aplikace Internet Explorer 7.0 a ovládací prvek S/MIME u klienta aplikace Outlook Web Access 2003 Exchange Server
Jsou-li uživatelé v rámci Jeruzalém, centrální Brazílie nebo E. Jihoamerický časové pásmo, přečtěte si pokyny v následujícím článku znalostní báze Microsoft Knowledge Base:

943390 položek kalendáře některé aplikace Outlook jsou rebased nesprávně při použití nástroj pro aktualizaci dat časového pásma aplikace Outlook upravit pro změny letního času v určitých časových pásmech

Zkontrolujte požadavky na systém

Nástroj Exchange je nutné spustit pouze v počítači, pro které platí následující podmínky:
  • Počítač má aplikace Microsoft Office Outlook 2003 Service Pack 2 (SP2) nebo aplikace Microsoft Office Outlook 2007 nainstalována.
  • V počítači je nainstalován Outlook časové pásmo dat nástroj.
  • V klientském počítači je nainstalován Microsoft rozhraní.NET Framework verze 2.0.
Nástroj Exchange nelze spustit v počítači se systémem Exchange Server nebo nástroje pro správu systému Exchange. Pokud se pokusíte nainstalovat nástroj Exchange v počítači se systémem Exchange Server nebo nástroje pro správu systému Exchange, zobrazí se následující chybová zpráva:
S Microsoft Exchange nelze nainstalovat nástroj aktualizace kalendáře serveru Exchange Microsoft.

Ověřte oprávnění a jiných požadavků uživatelů

Ověřte, zda jsou splněny následující podmínky:
  • Spravovat službu Information Store se aktualizují oprávnění pro každou databázi Exchange Server zpráv (MDB).
  • Oprávnění Odeslat jako pro všechny poštovní schránky jsou aktualizovány.
  • Úplná oprávnění pro přístup k poštovní schránce pro všechny poštovní schránky jsou aktualizovány.
  • V počítači, který je spuštěn nástroj Exchange jsou udělena oprávnění místního správce.

O skript "Udělit oprávnění poštovní schránky"

Ukázkový skript GrantMailboxPermission.vbs lze udělit uživatelská oprávnění Full Mailbox Access a odeslat jako do všech poštovních schránek v doméně.

Tento skript lze spustit pouze správce Exchange Server 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 pomocí prostředí Exchange Management Shell udělit požadovaná oprávnění.

Kód skriptu VBS je uveden v části "Odkazy". Následující tabulka popisuje dva režimy, ve kterých se tento skript spuštěn.
Režim
Příkaz
Popis
PřidatCScript GrantMailboxPermission.vbs – přidat název_domény \ uživatelské_jméno název_souboruTento příkaz uděluje název_domény
\ Uživatelské_jméno Full Mailbox Access a odeslat jako oprávnění pro uživatelské poštovní schránky, které jsou uvedeny ve vstupním souboru.

Vstupní soubor musí být textový soubor, který obsahuje starší verze doménových názvů uživatelské poštovní schránky. Tyto názvy musí být odděleny CR + řádek informačního kanálu (CRLF).

Skript generuje soubor GrantMailboxPermission.log. Tento soubor je záznam poštovní schránky, které byly zpracovány. První řádek souboru protokolu je název_domény
\ Uživatelské_jméno uživatele, který je udělen přístup. Tento soubor nelze odstranit. Tento soubor se používá v režimu odebrat.


Pokud explicitní přístup "Odepřít" je přiřazen uživateli, skript zaznamenává informace do souboru s názvem "GrantMailboxPermission.err." Skript nesmí udělit nebo změnit oprávnění.

Uživatel je součástí skupiny zabezpečení, který byl přiřazen přístup "Odepřít", skript udělí oprávnění Full Mailbox Access a odeslat jako. Však bude uživatel moci přihlásit k poštovní schránce. Všechny chyby budou zaznamenány do souboru GrantMailboxPermission.err.
OdebratCScript GrantMailboxPermission.vbs – odstranitTento příkaz odebere oprávnění Full Mailbox Access a odeslat jako poštovním schránkám, které jsou uvedeny v souboru GrantMailboxPermission.log z název_domény \ uživatelské_jméno
uživatel. Název_domény \
Uživatel uživatelské_jméno je určena v souboru GrantMailboxPermission.log.
Poznámky
  • Když tento skript spustit v počítači se systémem Exchange Server, vrátí skript po skript úspěšně zpracuje uživatel znak tečky (.). Skript vrátí znak vykřičník (!), pokud se skript úspěšně nezpracovává uživatele.
  • Výstupní soubor režimu extrakce časového pásma nelze použít jako vstupní soubor pro tento skript. Vytvořit vstupní soubor pro tento skript do programu Poznámkový blok, vložit obsah výstupní soubor režimu extrakce časového pásma, uložit obsah jako nový dokument a potom použít jako vstupní soubor do nového dokumentu.

Použití nástroje Exchange

Chcete-li použít nástroj Exchange, spusťte nástroj Exchange kalendáře aktualizace konfigurace (Msextmzcfg.exe). Tento program vám pomůže celý proces aktualizace kalendáře.

Spustit proces extrakce časové pásmo

Aktualizace 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ích schránek k určení jejich časových pásem. Chcete-li spustit proces extrakce časové pásmo, postupujte takto:
  1. Na úvodní stránce klepněte na tlačítko Další.


    Poznámka: Úvodní stránka úvodní konfigurační nástroj a popisuje oprávnění, která jsou nutná ke spuštění nástroje. Stránka obsahuje také odkaz na tento článek.
  2. Zadejte nastavení pro konfigurační nástroj. Doporučujeme vyhradit alespoň 200 megabajtů (MB) volného místa pro protokolování.

    Pokud budete chtít změnit výchozí nastavení, klepněte na tlačítko
    Upřesnit nastavení. Další informace o dalších nastaveních naleznete v tabulce, která následuje tento postup.
  3. Vyberte servery Exchange v místní struktuře Active Directory adresářové služby, kterou chcete aktualizovat. Poté klepněte na tlačítko
    Další spusťte proces extrakce časové pásmo.

    Poznámka: Pokud jste již provedli extrakce časové pásmo, můžete přeskočit tento krok klepnutím na tlačítko Přeskočit.

    Všimněte si, že se zobrazí stavový řádek, odkaz do výstupního protokolu a v reálném čase procesu extrakce časové pásmo. Po dokončení procesu extrakce časové pásmo, klepněte na tlačítko Další.

    Pokud došlo k chybám, zobrazí se odkaz na dokument Poradce při potížích.
  4. Konfigurovat poštovní schránky s ne časová pásma stránku a klepněte na tlačítko Další pro skenování položek kalendáře.

    Poznámka: Zjistí-li nástroj pro uživatele, kteří nemají poštovní schránku úrovně vlastností, které označují své časové pásmo, nástroj kontroluje skutečné schůzky a události uvnitř tyto kalendáře lze zjistit časové pásmo. Můžete určit počet položek kalendáře, které má být konfigurační nástroj pro skenování. Čím větší počet položek, které zadáte, tím déle bude prohledání trvat.
  5. Na stránce zobrazení jmen Neznámé časové pásmo nástroj vás vyzve k mapování časového pásma, které nerozpozná nástroj časové pásmo známé operačního systému. Po to provést, klepněte na tlačítko
    Další
  6. Zjistí-li nástroj pro konfiguraci uživatele, kteří mají více časových zónách, zobrazí se výzva konflikt vyřešit ručně zadáním jednoho časového pásma, se kterým lze aktualizovat kalendář jiného uživatele. Po to provést, klepněte na tlačítko
    Další.
  7. Na stránce Uložit DNs poštovní schránky s nevyřešené časových pásem jsou zaznamenány všechny ostatní uživatele, kteří stále žádné informace o časovém pásmu nebo kteří stále mají konfliktní informace o časovém pásmu v samostatném souboru 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ěn do výstupního souboru (výstup.txt) v instalačním adresáři.

Upřesňující nastavení

Následující tabulka popisuje upřesňující nastavení, které nakonfigurujete v kroku 2 předchozího postupu.
NastaveníFunkceScénářDůležité informacePoužitelnost
Aktualizovat pouze opakované schůzky.Toto nastavení se aktualizuje pouze opakované schůzky, které jsou ovlivněny změnou letního času. Události jedné instance, které spadají do rozšířené DST období nejsou aktualizovány bez ohledu na to, zda mají být aktualizovány.Toto nastavení použijte, pokud jsou počítače v organizaci byly aktualizovány před dlouhou dobou.


Obvykle lidé vytvoření jedné instance události mnoho měsíců předem. Proto pokud mnoho měsíců před nainstalované aktualizace letního času, maximálně jedno instanční setkání, které spadají do rozšířené DST období bude byly vytvořeny pomocí nových pravidel přechodu letního času. Tyto schůzky není nutné aktualizovat.
Jestliže uživatel vytvořil mnoho měsíců předem schůzku jedné instance, schůzka není aktualizován, pokud je toto nastavení určeno.Toto nastavení platí pro všechny poštovní schránky, všechny konferenční místnosti a všechny kalendáře uživatelů.
Datum instalace opravy operačního systémuToto nastavení určuje, že nejsou aktualizovány události jedné instance, které jsou vytvořeny nebo aktualizovány po datu, které zadáte.Pokud znáte přesné datum, kdy byly aktualizovány klientských počítačů, použijte toto nastavení.

Když toto provedete, schůzky, které jsou vytvořeny po instalaci aktualizace nejsou aktualizovány. Tyto schůzky spadají podle nových pravidel časové pásmo.
Toto nastavení je účinné pouze v případě, že klientské počítače byly aktualizovány méně než 24 hodin a při vysoké pronikání aktualizace. (Je vysoký průnik po v rozsahu 90 procent vysoké procento počítačů v organizaci, které byly aktualizovány.)

Navíc správci mohou určit pouze jednu aktualizaci data. Schůzky, které jsou vytvořeny v časových pásem, které odpovídají konkrétní aktualizace a specifické sady časových pásem musí být aktualizovány.


Je důsledkem konferenční místnosti, aktualizovat pouze konferenční místnosti jsou v určitých časových pásmech.

Důsledkem pro uživatelské poštovní schránky je, že pokud SuppressExchange nastavení nebo
Nastavení SuppressAll není zadán, jsou aktualizovány pouze poštovních schránek uživatelů, které patří do určité zóny čas.
Toto nastavení platí pro všechny poštovní schránky, všechny konferenční místnosti a všechny kalendáře uživatelů.
SuppressExchange a
MaxDepth
Toto nastavení způsobí všechny schůzky v kalendáři uživatele, které jsou ovlivněny změnou DST aktualizovat bez ohledu na to, zda je uživatel Organizátor položky kalendáře.

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

MaxDepth nastavení určuje úroveň rozšíření distribučního seznamu, který se provádí k určení, které účastníci mají poštovní schránky serveru Exchange a které účastníci nemají.
Toto nastavení použijte, pokud nechcete, aby uživatelé Exchange přijímat aktualizace schůzek z Organizátorům schůzky, které jsou ovlivněny rozšířené období DST.

Na
Je lepší než SuppressExchange nastavení
Nastavení SuppressAll , pokud organizace má kalendář systémů Exchange Server a pokud je naplánováno setkání patří účastníkům, kteří jsou mimo organizaci.
Jsou odesílány žádné aktualizace schůzky, s výjimkou uživatelům bez serveru Exchange. Proto zajistit, aby kopie stejné schůzky byly aktualizovány pro všechny možné účastníky, musí být aktualizovány všechny poštovní schránky v organizaci.

Tato podmínka může výrazně zvýšit počet poštovních schránek, které mají být aktualizovány. Proto může být zvýšena časy zpracování.

Velké, vnořené distribuční seznamy jsou na seznamu účastníků, je nákladný proces k určení účastníků schůzky a určit, zda tyto účastníky poštovní schránky serveru Exchange. Pokud zadáte toto nastavení a vysokou hodnotu pro parametr MaxDepth , mohou být uvedeny významné zatížení v řadičích domény.
Toto nastavení platí pouze pro uživatelské poštovní schránky.
SuppressAllToto nastavení způsobí, že všechny události v kalendáři uživatele, které jsou ovlivněny změnou DST aktualizovat bez ohledu na to, zda je uživatel Organizátor položky kalendáře.

Pokud je uživatel Organizátor položky kalendáře, aktualizace nejsou odeslány účastníkům.
Toto nastavení použijte, pokud nechcete, aby se účastníci přijímat aktualizace schůzek z Organizátorům schůzky, které jsou ovlivněny rozšířené období DST.Jsou odesílány žádné aktualizace schůzky. Proto zajistit, aby kopie stejné schůzky byly aktualizovány pro všechny možné účastníky, musí být aktualizovány všechny poštovní schránky v organizaci.

Tato podmínka může výrazně zvýšit počet poštovních schránek, které mají být aktualizovány. Proto může být zvýšena časy zpracování.

Účastníci, kteří nemají poštovní schránky serveru Exchange neobdrží aktualizace. Jejich schůzky nemusí být aktualizován v závislosti na systému elektronické pošty, které jsou spuštěny a akce, které jejich správce převezme.
Toto nastavení platí pouze pro uživatelské poštovní schránky.

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

Konferenční místnosti a prostředků poštovních schránek konfliktům rezervace, je nutné aktualizovat. Chcete-li to provést, postupujte takto:
  1. Na stránce Zadejte zdroj a konferenční místnosti kalendáře zadejte nebo vložte seznam aliasů konferenční místnosti v organizaci. Klepněte na tlačítko vyřešit aliasy ověřit a potom klepněte na tlačítko Další.
  2. Na stránce řešení časových pásem pro zdroj a konferenční místnosti kalendáře nástroj vás vyzve k ručně zadat časové pásmo pro konferenční místnosti, pokud konferenční místnost nemá časové pásmo. To provést a potom klepněte na tlačítko Další.
  3. Je zobrazena stránka připomenutí připomenout, že tento nástroj se chystá aktualizaci kalendáře. Klepněte na tlačítko Další.
  4. Všimněte si zobrazí stavový řádek, odkaz do výstupního protokolu a v reálném čase výstupu nástroje. Klepněte na tlačítko
    Další.

    Pokud dojde k chybám, zobrazí se odkaz na dokument Poradce při potížích v dolní části této stránky.

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

Chcete-li to provést, postupujte takto:
  1. Na stránce nastavení pro aktualizace kalendáře poštovní schránky uživatele konfigurujte nastavení aktualizace.

    Pokud jste nezadali SuppressExchange nebo
    SuppressAll Upřesnit nastavení, vyberte v časových pásmech, které jsou ovlivněny DST. Jinak vyberte všechna časová pásma.

    Klepněte na tlačítko
    Další.
  2. Je zobrazena stránka připomenutí připomenout, že tento nástroj se chystá aktualizaci kalendáře. Klepněte na tlačítko Další.
  3. Všimněte si zobrazí stavový řádek, odkaz do výstupního protokolu a v reálném čase výstupu nástroje. Po dokončení aktualizace klepněte na tlačítko Další.

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

Podadresáře a soubory protokolu nástroje Exchange

Soubory protokolu

Nástroj Exchange vytvoří následující soubory protokolu v adresáři instalace:
  • Output.txt

    Tento soubor obsahuje seznam všech poštovních schránek uživatelů, které byly extrahovány a jejich informace o časovém pásmu.
  • TimeZoneExtraction.log

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

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

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

    Tento protokol obsahuje kombinované výstup procesu skenování kalendáře pro všechny servery.
  • ConflictUsers.txt

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

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

Podadresáře

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

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

      To je název výstupního souboru nástroje Exchange aktualizačního procesu.
    • 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: Tyto soubory obsahovat všechny podadresáře pracovní.

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

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

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

      To je podadresář pracovní proces prohledávání kalendáře.
    • Extrahovat

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

      Je to pracovní podadresář uživatelské poštovní schránky aktualizačního procesu. Obsahuje následující podadresáře:
      • LogFiles

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

Co dělat po spuštění nástroje Exchange

Po dokončení spuštění nástroje Exchange proti všechny servery Exchange v prostředí, použít příslušné aktualizace DST Exchange Server. Následující seznam je uspořádán podle úrovně Exchange Server verze a service pack. Nainstalujte aktualizace pro vaši verzi systému Exchange Server.

Exchange Server 2007
940006 Popis kumulativní aktualizace 4 pro Exchange Server 2007

Kumulativní aktualizace 4 pro Exchange Server 2007 obsahuje následující opravy letního času:
  • 937656 po dojde k problémům v aplikaci Outlook Web Access pro server Exchange 2007 letní čas (DST) začíná na Novém Zélandu v roce 2007

  • 932561 události, které jsou odesílány z jedné organizace serveru Exchange do jiného pomocí serveru Exchange 2007 mohou 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 2007 Exchange 2003 Service Pack 2

931915 aktualizace pro změny letního času v Newfoundland v roce 2007 pro server Exchange Server 2003 Service Pack 2

929895 události, které jsou odesílány mezi různým organizacím Exchange Server může být nesprávná o hodinu, pokud je jedna z organizací v časovém pásmu Západní Austrálie

937653 jeden nebo více problémy v Exchange Server 2003 po období letního času pro Nový Zéland se změní 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

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


    Chcete-li vyřešit tento problém, odebrat aktualizace Exchange Server, spusťte nástroj Exchange a potom přeinstalovat 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 Exchange po spuštění nástroje Exchange pro aplikaci Outlook Web Access na serveru Exchange 2007.
  • Nelze nainstalovat nástroj Exchange

    Nástroj Exchange není úspěšně nainstalována, pokud existuje některý z následujících klíčů registru:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    V tomto scénáři obdržíte následující chybová zpráva při pokusu nainstalovat nástroj Exchange:
    S touto verzí aplikace Microsoft Outlook nelze nainstalovat nástroj Rebasing kalendáře pro Exchange Server.
    Chcete-li tento problém vyřešit, odstraňte tyto klíče registru, nainstalujte nástroj Exchange a potom obnovení klíčů registru.

    Důležité: Tento oddíl, metoda nebo úkol obsahuje kroky, které popisují úpravu registru. Při nesprávné úpravě registru mohou nastat závažné problémy Proto se ujistěte, že budete opatrně postupovat podle těchto kroků Pro zvýšení ochrany před úpravou zálohujte registr. Pokud dojde k potížím, pak můžete registr obnovit ze zálohy. Pro další informace o zálohování a obnovení registru klepněte na následující číslo článku databáze Microsoft Knowledge Base:
    322756 postup 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 na serveru

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

    Nástroj Exchange IExchExtCallBack::SetRecipients neaktualizovalo veřejné složky kalendáře. Informace o aktualizaci veřejné složky Kalendář naleznete v dokumentaci pro nástroj Outlook.
  • Nástroje aplikace Outlook a Exchange lze spustit ve stejné prostředí.

    Pokud spustíte nástroj Exchange poštovní schránky, který již byl aktualizován nástroj Outlook, nebo naopak, dochází k žádné vedlejší účinky. Však pokud spustíte nástroj Exchange, je nutné pro uživatele, chcete-li spustit nástroj Outlook samostatně.
  • Později, než bylo očekáváno zobrazit připomenutí schůzky mimo

    Připomenutí schůzky nejsou pro poštovní schránky, které jsou aktualizovány pomocí nástroje Exchange nejsou aktualizovány, pokud aplikaci Outlook nikdy připojil k poštovní schránce v režimu Online. V této situaci zobrazí připomenutí hodinu později, než bylo očekáváno.

    Pokud aplikaci Outlook nikdy připojil v režimu Online, musíte nastavit nesprávné připomenutí pro události v kalendáři, které aplikace Outlook nástroj nalezne. Navíc připomenutí složky výsledků hledání v poštovní schránce neexistuje. Proto nástroj neprovádí aktualizaci položek e-mailů, kontaktů nebo jiných připomínek.


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

    Pokud jste dříve nainstalovali nástroje aktualizace kalendáře serveru Exchange verze 1.0, je nutné odinstalovat tuto verzi před instalací nástroje aktualizace kalendáře serveru Exchange verze 2.0.

    Nástroj aktualizace kalendáře serveru Exchange verze 1.0 byla distribuována jako samorozbalovací spustitelný soubor, který obsahuje dva MSI balíčky (Msextmz.msi a Msextmzcfg.msi). Oba balíčky je nutné odinstalovat před instalací verze 2.0 nástroje Exchange.

    Pokud stále dochází k problémům při instalaci verze 2.0 nástroje Exchange, zkuste přeinstalovat a pak odinstalovat verzi 1.0 nástroje Exchange. To lze proveďte pomocí balíčků MSI namísto pomocí funkce Přidat nebo odebrat programy v Ovládacích panelech. Potom restartujte počítač a potom nainstalovat verzi 2.0 nástroje Exchange.

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

    K tomuto chování dochází, pokud platí následující situace:
    • Spuštění nástroje aktualizace aplikace Outlook nebo Exchange v počítači se systémem Windows Vista.
    • Domácí časové pásmo pro poštovní schránky, které byly aktualizovány, je Nový Zéland (běžný čas).
    Chcete-li tento problém vyřešit, je nutné spustit nástroje aktualizace aplikace Outlook nebo Exchange proti poštovní schránky podruhé nebo po 1. lednu 2008.

    K tomuto chování dochází, protože se informace o časovém pásmu systému Windows Vista úchyty odlišně než ostatní verze systému Windows. Pokud není spuštění nástroje aktualizace aplikace Outlook nebo Exchange znovu ke dni 1. ledna 2008 všechny události v druhé události letního času bude vypnutí o jednu hodinu. K druhé události DST zahrnuje data od 16. března 2008 až 6. dubna 2008.

    Pokud nechcete čekat do 1. ledna 2008 k aktualizaci schůzky v druhé události letního času, můžete spustit nástroje aktualizace aplikace Outlook nebo Exchange z počítače se systémem Windows XP nebo Windows Server 2003.
  • Datum ve formátu DD/MM/RRRR je změněn na formát M/DD/RRRR

    V nástroj Exchange kalendáře aktualizace nastavíte možnost Datum opravy operačního systému . Když toto provedete, nástroj aktualizace kalendáře serveru Exchange nebudou pracovat správně. K tomuto problému dochází, protože datum formátu DD/MM/RRRR je změněn na M/DD/RRRR.

    Chybová zpráva podobná následující chybová zpráva je zaznamenána v protokolu chyb:
    [02/28/2008 7:10:21: 00] . [776]: wmain: se nepodařilo přečíst konfiguraci - chyby 0x80070057.
    K tomuto problému dochází z důvodu nastavení správné možnosti v následující části vzorku poštovních schránek. INI souboru serveru.
    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 musí být ve formátu MM/DD/RRRR.

    Chcete-li tento problém vyřešit, nepoužívejte možnost Datum opravy operačního systému . Chyba č: 129210 (Exchange12)

Odkazy

Skript "Udělit oprávnění poštovní schránky"

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í kontrola: 14. 1. 2017 - Revize: 1

Váš názor