Cum pentru a aborda ora de vară utilizând instrumentul Exchange Calendar Update Tool

Traduceri articole Traduceri articole
ID articol: 941018 - View products that this article applies to.
Măriți totul | Reduceți totul

În această pagină

INTRODUCERE

Ora de vară este un sistem pentru a seta ceasurile înainte, astfel încât că atât de Răsărit și de apus de soare se produce la o oră mai târziu. Efectul este mai mult de vară în seara. Multe țări respectă ora de vară. Cele mai multe dintre acestea țări au propriile lor norme ?i reglementări pentru atunci când ora de vară începe și se termină.

Se poate modifica datele de ora de vară (DST) de la an la an. Utilizatorii de Microsoft Outlook, trebuie să actualizați lor Outlook calendarul de fiecare dată când modificați regulile DST. Datele între anterioare Regulile DST și regulile DST curente sunt denumite în acest articol ca "perioadă extinsă DST."

Acest articol descrie ac?iunile care le Puteți lua la adresa elemente de calendar în Outlook care se produc în timpul extinsă Perioada DST. Acest articol descrie, de asemenea, acțiunile pe care ar trebui să ia în elementele de calendar stocate în Microsoft Exchange Server în funcție de actualizare noile norme de DST. Soluția pe care este prezentată în acest articol implică Microsoft Exchange Calendar Update Tool ("instrumentul Exchange").

Pentru mai multe informații despre cum să se pregătească pentru modificările orei de vară în 2007 (DST 2007) pentru toate afectate produsele Microsoft, vizitați următorul Site-ul Web Microsoft:
http://support.Microsoft.com/GP/cp_dst
În anul 2011, guvernul rus a adoptat o lege pentru a anula ora de vară (DST). Pentru mai multe informații, vizitați următorul site Web Microsoft:
http://support.Microsoft.com/GP/cp_dst#tab0
Pentru mai multe informații în limba rusă, vizitați următorul site Web Microsoft:
http://support.Microsoft.com/GP/cp_dst/ru#tab0

INFORMAȚII SUPLIMENTARE

Despre instrumentul Exchange

După ce instalați actualizările DST pentru Microsoft Windows, toate vechi Rezervările care au loc în cursul perioadelor de modificarea DST va fi incorect afișate ca produce o oră mai târziu. Acest lucru este adevărat pentru ambele recurente și rezervările cu o singură instanță. Trebuie să actualizați aceste rezervări așa că vor fi afișate corect în Outlook, în Microsoft Office Outlook Web Access, și în aplicații care se bazează pe Collaboration Data Objects (CDO).

Outlook furnizează un instrument numit Time Zone Data Update Instrument pentru Microsoft Office Outlook („instrumentul Outlook ”). Acest instrument permite utilizatorilor pentru a actualiza calendarele lor proprii.

Pentru mai multe informații despre actualizare de date fus orar Instrument, faceți clic pe următorul număr de articol pentru a vedea articolul în Microsoft Baza de cunoștințe:
931667Cum să se adreseze modificările orei de vară, în 2007, utilizând instrumentul Time Zone Data Update Tool pentru Microsoft Office Outlook
Instrumentul Exchange Calendar Update Tool ("schimbul instrumentul") vă ajută să evita dificultățile pe care administratorii confrunta în desfășurarea instrumentul Outlook pe scară largă pentru toți utilizatorii și în asigurându-vă că fiecare utilizator execută Outlook instrument corect.

Descrierea înalt instrumentul Exchange

Instrumentul Exchange constă din două fișiere executabile separate. Acestea fișierele sunt descrise în tabelul următor.
Reduceți tabelulMăriți tabelul
Numele fișieruluiDescriere
Msextmz.exe Acest fișier executabil extrase fusul orar informa?iile din cutiile poștale pe un server care execută Exchange Server. Acest lucru Fișier executabil, de asemenea, actualizează calendare cutia poștală pentru un specificate în lista de utilizatori.
Msextmzcfg.exe Acest fișier executabil este un instrumentul configura?ie care efectuează cele mai multe dintre pașii care sunt implicate în actualizarea un server Exchange Server.

Despre noua versiune de instrumentul Exchange

Bazat pe feedback-ul clientului, o nouă versiune a instrumentului de schimb a fost lansat pe 13 August 2007. Acest articol se referă la noua versiune a Instrumentul Exchange. Dacă executați o versiune mai veche de instrumentul Exchange, Dezinstalați-l și apoi instalați noua versiune.

Noua versiune a instrumentul Exchange include următoarele îmbunătățiri:
  • De extracție de fus orar și calendarul procesele de actualizare sunt accelerat uzinei.
  • Interfața cu utilizatorul pentru instrumentul de configurare este mai mult impecabilă și intuitiv.
  • Capacitatea de a actualiza săli de conferințe și de resurse cutiile poștale este încorporat acum în instrumentul de configurare.
  • Capacitatea de a actualiza cutiilor poștale ale utilizatorilor este încorporat acum în instrumentul configura?ie.
  • Un document depanare este acum incluse cu Instrumentul Exchange, și este integrat în instrumentul de configurare.
  • Algoritmul de extrac?ie fus orar și tratarea erorilor capabilitățile sunt îmbunătățite.
  • Procesul de logare este mai ușor de utilizat.

Risc de execută instrumentul Exchange

Când executați instrumentul Exchange, există un risc care nu pot fi actualizate rezervările cu o singură instanță corect. De exemplu, rezervările singură instanță care a fost un utilizator a creat după sistemul de operare actualizat mai se actualizeze corect.

Pentru a reduce acest risc, utilizați una dintre următoarele metode:
  • Reducerea intervalul dintre momentul în care actualizați computerele client și timpul că actualizați poștală calendare.
  • În cazul în care computerele în organizarea au fost actualizate o lungă perioadă de timp în urmă, utilizați Actualizează numai întâlnirile recurente SetareaSetările complexe.

    De obicei, oamenii nu crea rezervările cu o singură instanță mai multe luni în avans. Prin urmare, dacă DST actualizări instalate mai multe luni înainte, cele mai multe dintre reuniunile singură instanță care cad în perioada de DST extinsă va au fost create utilizând noul Regulile de tranziție pentru ora de vară. Aceste întâlniri nu trebuie să fie actualizate.
  • Dacă știți exact data când toate computerele client au fost actualizate, utilizați Sistem de operare Patch data SetareaSetările complexe. Dacă este specificată o dată, singură instanță Rezervările care au fost create după această dată nu sunt actualizate prin schimb instrument.
Notă Dacă executați instrumentul Outlook sau instrumentul Exchange pe un client computerul care execută Windows Vista și executați instrumentul pentru cutiile poștale unde fusul orar local este ora Standard a Noii Zeelande, trebuie să executați instrumentul o doua oară la sau după 1 ianuarie 2008. Pentru mai multe informații, consultați cunoscute" problemele"secțiune.

Opțiuni pentru a actualiza cutii poștale

Următorul tabel listează cinci opțiuni pe care le puteți utiliza pentru a actualiza cutiile poștale ale utilizatorilor să utilizați reguli de fus orar DST 2007.
Reduceți tabelulMăriți tabelul
OpțiuneaProContra
Distribuie instrumentul Outlook pentru fiecare utilizator, și apoi instrui utilizatorii să actualizeze singuri cutiile poștale. Această opțiune permite evitarea riscului care este asociat cu execută instrumentul Exchange. Este dificil de a garanta că toți utilizatorii vor executa instrumentul Outlook corect ?i într-un timp util mod.

Utilizatorii care nu au Outlook va fi imposibil de executat Instrumentul Outlook.

Trebuie să facă un efort de învățământ suplimentare a diminua confuzie pentru utilizatori.
Executați instrumentul Exchange împotriva utilizatorilor toate afectați și serverele. Această opțiune oferă o experiență raționalizate pentru utilizatori. Există riscul asociat cu execută instrumentul Exchange, ca descrisă în secțiunea „riscul de execută instrumentul Exchange".
Executați instrumentul Exchange pentru a actualiza numai rezervările periodice. Permite utilizatorilor actualizare singură instanță numiri în cutiile lor poștale utilizând instrumentul Outlook. Există mai puține riscuri de rezervări cu o singură instanță se actualizează incorect. Contra de execută instrumentul Outlook sunt combinat cu contra de execută instrumentul Exchange.
Executați instrumentul Exchange nici instrumentul Outlook. Solicitați utilizatorilor să examineze calendarele lor și să re-book numiri în funcție de necesități. Acest lucru opțiunea să evite riscul asociat cu execută instrumentul Exchange. Dacă toți utilizatorii re-book afectate toate rezervările, unele calendaristice elemente va fi o oră dezactivat în timpul perioadei de DST extinsă.

Trebuie să vă a face un efort suplimentar educaționale să diminueze confuzie pentru utilizatorii.
Distribuie instrumentul Outlook pentru fiecare utilizator, și apoi instrui utilizatorii să actualizeze singuri cutiile poștale. Apoi, utilizați modul de extrac?ie fusul orar al instrumentul Exchange pentru a determina dacă utilizatorii se execută instrumentul Outlook.

Dacă utilizatorii nu se execută instrumentul Outlook, administratorul poate executați instrumentul Exchange.
Această opțiune reduce riscul de utilizatori nu execută instrumentul în timp util, și să evite riscul asociat cu execută instrumentul Exchange. Acest lucru nu este o opțiune, dacă utilizatorii sunt execută Microsoft Office Outlook 2007.

Cum să instalați instrumentul Exchange

Instrumentul Exchange Calendar Update Tool este disponibil pentru descărcare în formă de un fișier executabil cu auto-extragere (Msextmz.exe). Acest instrument este disponibil pentru descărcare de la centrul de descărcări Microsoft:

Reduceți imagineaMăriți imaginea
Descărcare
Descărcare Pachetul Exchange Calendar Update Tool acum.

O mașină virtuală este creat pentru a vă ajuta să Instala?i ?i utiliza?i instrumentul Exchange. Virtual machine este bazat pe Microsoft Ferestre a servi 2003, Outlook 2007, Microsoft Office Excel 2007 și Microsoft Serviciu Cuvînt 2007. Virtual machine funcționează în ambele Microsoft Virtual PC 2004 în Microsoft Virtual a servi 2005 R2.

Pentru mai multe informații despre virtual machine pentru instrumentul Exchange Calendar Update, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
933185O mașină virtuală este disponibil pentru a vă ajuta să implementați ora de vară 2007 calendaristic actualizări într-o organizație Exchange
Pentru mai multe informații despre cum să descărcați suport Microsoft fișierele, faceți clic pe următorul număr de articol pentru a vedea articolul în Microsoft Baza de cunoștințe:
119591 Cum se obțin fișierele suport Microsoft de la serviciile online
Microsoft a scanat acest fișier pentru a detecta viruși. Microsoft a utilizat cel mai mult curent software-ul de detectare a virusului care era disponibil la data care fișierul a fost înregistrată. Fișierul este stocat pe servere securizate care ajută la prevenirea orice modificări neautorizate aduse fișierului.

Limbile care sunt acceptate de instrumentul Exchange

Instrumentul Exchange este disponibil numai în limba engleză. Instrumentul va rula doar pe un computer englez (nouă).

Versiuni de Exchange Server care sunt compatibile cu instrumentul Exchange

Instrumentul Exchange poate actualiza cutiile poștale de pe următoarele versiuni de Exchange Server:
  • Microsoft Exchange Server 2007 Curaj a redacta
  • Microsoft Exchange Server 2007 edi?ie Standard
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange 2000 Server Enterprise Edition
  • Microsoft Exchange 2000 Server Standard Edition

Sisteme de operare care sunt acceptate de instrumentul Exchange

Instrumentul Exchange va rula pe versiunile pe 32 de biți din următoarele sisteme de operare:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Ce trebuie făcut înainte de a executa instrumentul Exchange

Instalarea actualizărilor

Înainte să executați instrumentul Exchange, asigurați-vă că clientul și serverul computerele sunt actualizate corect. Pentru aceasta, instalați actualizarea Windows DST pe clienti si pe servere. Pentru mai multe informații, faceți clic pe următorul număr de articol pentru a vedea articolul în Baza de cunoștințe Microsoft:
942763Decembrie 2007 actualizare cumulativă de fus orar pentru sistemele de operare Microsoft Windows

Dacă executați Microsoft Exchange Server 2003 Service Pack 2 (SP2), instalați una sau ambele din următoarele actualizări, ca corespunzătoare pentru organizația dvs.:
  • Actualizare 911829
  • Actualizare 924334
Pentru mai multe informații despre aceste actualizări, faceți clic pe următoarele numere de articol pentru a vedea articolele în baza de cunoștințe Microsoft:
911829Primiți un mesaj de eroare când încercați să efectuați orice activități de editare sau trebuie să faceți clic pe pentru a activa cadrul de compunere în Outlook Web Access
924334 Forma compune mesaj nu mai răspunde după ce instalați Internet Explorer 7.0 și controlul S/MIME la un client Outlook Web Access în Exchange Server 2003
Dacă utilizatorii sunt în Ierusalim, centrale Brazilian sau America de Sud E. fus orar, vă rugăm să citiți orientările în următorul articol din baza de cunoștințe Microsoft:

943390 Unele elemente de calendar Outlook se resetează incorect când utilizați instrumentul Time Zone Data Update Tool Outlook pentru a ajusta pentru modificările orei de vară în anumite fusuri orare

Verificați cerințele de sistem

Trebuie să executați instrumentul Exchange numai pe un computer care următoarele condiții sunt adevărate:
  • Computerul are Microsoft Office Outlook 2003 Service Pack 2 (SP2) sau Microsoft Office Outlook 2007 instalat.
  • Computerul are Outlook Time Zone Data Tool instalat.
  • Microsoft.NET Framework versiunea 2.0 este instalat pe computerul client.
Nu executați instrumentul Exchange pe un computer care execută Exchange Server sau instrumentele de gestionare Exchange System. Dacă încercați să instalați instrumentul Exchange pe un computer care execută Exchange Server sau schimbul Instrumente de gestionare a sistemului, primiți următorul mesaj de eroare:
Imposibil de instalat Microsoft Exchange Calendar Update Tool cu Microsoft Exchange.

Verificați permisiunile și alte cerințe de utilizator

Verificați că sunt adevărate următoarele condiții:
  • Administra Information Store permisiunile pentru fiecare schimb Date mesaj server (MDB) sunt actualizate.
  • Trimite ca permisiunile pentru toate cutiile poștale sunt actualizat.
  • Sunt complet permisiuni de acces pentru cutie poștală pentru toate cutiile poștale actualizat.
  • Sunt acordate permisiuni de local administrator pe computer care se execută instrumentul Exchange.

Despre script-ul "Acordarea permisiunea de cutie poștală"

Puteți utiliza scriptul GrantMailboxPermission.vbs e?antion pentru acordarea un utilizator de domeniu acces deplin cutie poștală și trimite ca permisiunile la toate cutiile poștale.

Acest script poate fi rulat numai de către un Server Exchange administrator pe un computer care execută Exchange 2000 Server sau în Exchange A servi 2003. Acest script nu se execută pe un computer care execută Exchange Serverul 2007. Cu toate acestea, se poate utiliza Exchange Management Shell pentru a acorda permisiunile necesare.

Codul pentru script-ul .vbs este furnizată în Secțiunea „referințe". Următorul tabel descrie două moduri în care acest lucru se execută scriptul.
Reduceți tabelulMăriți tabelul
ModulComandaDescriere
Adăuga CScript GrantMailboxPermission.vbs –add Domain_Name \ Nume_utilizator File_Name Această comandă acordă Domain_Name \ Nume_utilizator utilizator acces deplin cutie poștală și a trimite ca permisiunile pentru cutiile poștale ale utilizatorilor, care sunt listate în intrare Fișier.

Fișierul de intrare trebuie să fie un fișier text care conține moștenirea numele de domenii din cutiile poștale ale utilizatorilor. Aceste denumiri trebuie să fie delimitată de transport Întoarcere + linie de furaje (CRLF).

Script-ul generează un Fișier GrantMailboxPermission.log. Acest fișier este un record de cutiile poștale care au fost procesate. Prima linie de fișierul jurnal este Domain_Name \ Nume_utilizator user cine este acordată acces. Nu ștergeți acest fișier. Acest fișier este utilizat în modul de eliminare.

Dacă un explicită "nega" acces este asociată utilizatorului, script-ul jurnalele informațiile într-un fișier numit "GrantMailboxPermission.err." The script-ul nu va acorda sau a modifica permisiunea.

Dacă utilizatorul este parte un grup de securitate care a fost asociat "nega" acces, script-ul acordă Permisiuni de acces la cutia poștală și trimite ca depline. Cu toate acestea, utilizatorul va fi imposibil de pentru a face log on la cutia poștală. Toate erorile vor fi logat Fișier GrantMailboxPermission.err.
Eliminare CScript GrantMailboxPermission.vbs –removeAceastă comandă elimină accesul complet cutie poștală și trimite ca permisiunile pentru cutiile poștale care sunt listate în GrantMailboxPermission.log Fișier din Domain_Name \ Nume_utilizator utilizator. The Domain_Name \ Nume_utilizator utilizatorul este specificat în Fișier GrantMailboxPermission.log.
Note
  • Când executați acest script pe computerul pe care se execută Exchange Server, script-ul întoarce o perioadă caracter (.) când script-ul cu succes procesele de un utilizator. Script-ul întoarce semnul exclamării caracter (!), atunci când script-ul nu a procesat cu succes un utilizator.
  • Imposibil de fișierul de ieșire din modul de extrac?ie fusul orar folosit ca un fișier de intrare pentru acest script. Pentru a crea fișierul de intrare pentru acest script-ul, lipiți conținutul din fișierul de ieșire fus orar extrac?ie modul în Not ă, salvați conținutul ca un nou document, iar apoi utilizați noul document ca fișierul de intrare.

Cum se utilizează instrumentul Exchange

Pentru a utiliza instrumentul Exchange, porniți Exchange Calendar Update Instrument de configurare (Msextmzcfg.exe). Acest program va ajuta cu întreaga procesul de actualizare calendare.

Rulați orar procesului de extragere

Pentru a actualiza calendarele cutie poștală, trebuie să determinați fusul orar al calendarele. Procesul de extracție fus orar analizează proprietățile și numiri calendarelor cutia poștală pentru a determina zonele lor timp. Pentru a executa procesului de extragere a zonei de timp, urmați acești pași:
  1. În pagina de bun venit, faceți clic pe Următorul.

    Notă Pagina de bun venit vă introduce instrumentul de configurare și discută despre permisiunile necesare pentru a executa instrumentul. Pagina, de asemenea, furnizează un link la acest articol.
  2. Specificați setările pentru instrumentul de configurare. Noi recomanda că alocați cel puțin 200 de megaocteți (MO) de spa?iu-disc la înregistrarea în jurnal.

    Dacă vă doriți să modificați setările implicite, faceți clic peSetările complexe. Pentru mai multe informații despre avansat setări, consultați tabelul care urmează această procedură.
  3. Selectați servere de schimb în Active Directory locale directorul serviciului de pădure pe care doriți să actualizați. Apoi, faceți clic peUrmătorul pentru a porni procesul de extracție fusul orar.

    Notă Dacă ați efectuat deja fus orar extragere, puteți sări această etapă făcând clic pe Skip.

    Observați că un statut bara, un link la Jurnalul de ieșire, și un afișaj în timp real a fusului orar sunt afișate procesului de extragere. După fusul orar este procesului de extragere complet, faceți clic pe Următorul.

    În cazul în care s-au întâlnit erori, un se afișează legătura la documentul de depanare.
  4. Configurați Cutiile poștale cu nici un moment Zone pagină și apoi faceți clic pe Următorul pentru a scana calendaristic elemente.

    Notă Dacă instrumentul găsește utilizatorii care nu au Proprietăți nivel cutie poștală care indică lor fus orar, instrumentul scanează reale întâlniri și rezervări în interiorul cele calendare pentru a determina fusul orar. Aveți posibilitatea să specificați numărul de elemente de calendar prin care doriți instrumentul de configurare pentru a scana. The mai mare numărul de elemente pe care le specificați, mai scanarea va lua.
  5. În Rezolva necunoscut fusul orar afișat Nume pagina, instrumentul vă solicită să harta fusuri orare care instrumentul nu nu recunoaște într-un sistem de operare cunoscut fus orar. După aceasta, faceți clic peUrmătorul
  6. Dacă instrumentul de configurare găsește utilizatorii care au mai multe timp zone, vi se solicită să rezolva?i manual conflictul specificând unul fus orar cu care să actualizați calendarul utilizatorului. După aceasta, faceți clic peUrmătorul.
  7. În Salvați poștală DNs cu timpul nerezolvate Zone pagina, orice utilizatori rămase, care încă mai au nici un fus orar informa?iile sau care încă mai au informații contradictorii de fus orar sunt înregistrate în un fișier jurnal de separată. Faceți clic pe Următorul.
Procesul de extracție fus orar este acum completă. Lista de utilizatorii și de fusuri orare extrase este situat în fișierul de ieșire (Output.txt) în directorul de instalare.

Setările complexe

Tabelul următor descrie setările avansate care Aveți posibilitatea să configurați în pasul 2 al procedura anterioară.
Reduceți tabelulMăriți tabelul
SetareaFuncționalitateaScenariuConsiderațiiAplicabilitate
Actualizează numai întâlnirile recurenteAcest lucru modificați setarea actualizări numai întâlnirile recurente care sunt afectate de DST. Rezervările singură instanță care cad în perioada de DST extinsă nu sunt actualizate indiferent dacă acestea trebuie să fie actualizate.Dacă calculatoare în organizarea au fost actualizate de mult timp în urmă, utilizați această setare.

De obicei, oamenii să nu creeze rezervările cu o singură instanță multe luni în avans. Prin urmare, dacă actualizările DST au fost instalate mai multe luni înainte, cele mai multe dintre reuniunile singură instanță care se încadrează în DST extins perioada va au fost create utilizând noile reguli de tranziție DST. Acestea reuniuni nu trebuie să fie actualizate.
Dacă un utilizator a creat o singură instanță reuniți mai multe luni în avans, această întâlnire nu se actualizează dacă această setare este specificate.Această setare se aplică la toate cutiile poștale, la Conferința toate camere, și la toate calendarele de utilizator.
Sistem de operare Patch instalare DataAceastă setare specifică că singură instanță rezervări care sunt create sau actualizat la data specificată nu sunt actualizat.Dacă știți data exactă când au fost toate computerele client actualizat, utilizați această setare.

Când procedați astfel, întâlnirile care sunt creat după ce este instalat update nu se actualizează. Aceste întruniri cădea în conformitate cu noile reguli de fus orar.
Această setare este eficientă doar atunci când computerele client au fost toate actualizate în mai puțin de 24 de ore, și atunci când nu există penetrarea mare de actualizare. (Există penetrare mare atunci când procentul de calculatoare în organizația care au fost actualizate este în mare intervalul de 90 la sută.)

În plus, administratorii pot specifica doar una actualiza data. Întâlniri care sunt create în fusuri orare care să corespundă specifice actualizează și să specifice seturi de timp zone trebuie să fie actualizate.

Implicarea pentru săli de conferințe este care doar actualizate conferință Camerele sunt în zonele de timp specifice.

Implicarea pentru utilizator cutiile poștale este că, dacă SuppressExchange Setarea sau SuppressAll setare nu este specificat, doar cutiile poștale de utilizator care apar?in timpul specifice zonelor sunt actualizate.
Această setare se aplică toate cutiile poștale, toate sălile de conferință, și toate calendarele de utilizator.
SuppressExchange și MaxDepthAceste setări cauza toate numirile în o calendarul de utilizator care sunt afectate de modificarea DST să fie actualizate indiferent de Dacă utilizatorul este organizator de acele elemente de calendar.

Dacă utilizatorul este organizator de un element de calendar, actualizările nu se trimit la participanți care au de căsuțe poștale Exchange. Actualizările sunt trimise la participanți care nu dispun de schimb cutiile poștale.

The MaxDepth Setarea specifică nivelul de expansiune lista de distribuție care este efectuat pentru a determina care participanți au de căsuțe poștale Exchange și participanți care nu.
Utiliza?i această setare dacă nu doriți ca utilizatorii de schimb pentru a primi actualizări de întâlnire la organizatori pentru întâlniri care sunt afectate de perioada de DST extinsă.

The SuppressExchange setarea este mai bună decât SuppressAll setare dacă organizația are ne-Exchange Serverul calendaristic sisteme și dacă întâlniri sunt programate pentru a include participanți care fie în exteriorul organizației.
Sunt trimise nu updates de întâlnire, cu excep?ia utilizatorilor non-Exchange. Prin urmare, pentru a face sigur că copii ale aceleia?i întâlniri sunt actualizate pentru toți participanții posibil, fiecare cutie poștală din organizația trebuie actualizate.

Această condi?ie poate crește în mod semnificativ numărul de cutiile poștale care trebuie să fie actualizate. Prin urmare, poate fi ori de prelucrare a crescut.

Atunci când listele de distribuire mari, imbricate sunt pe participantul lista, este un proces costisitor pentru a determina participanți pentru o întâlnire și pentru a determina dacă aceste participanții au căsuțe poștale Exchange. Dacă specificați acest lucru Setarea și setați o valoare ridicată pentru MaxDepth parametru, o sarcină importantă poate fi pus în domeniu controlere.
Această setare se aplică numai pentru cutiile poștale ale utilizatorilor.
SuppressAllAceastă setare determină toate rezervări în calendar utilizatorului care sunt afectate de DST schimba pentru a fi actualizate indiferent dacă utilizatorul este organizator de aceste calendar elemente.

În cazul în care utilizatorul este organizator de un element de calendar, actualizările sunt nu a trimis participanților.
Utilizați această setare dacă nu dori?i participanți să primi actualizări de întâlnire de la organizatorii de întâlniri care sunt afectate perioada de DST extinsă.Nici o întâlnire actualizările sunt trimise. Prin urmare, a face sigur că copii ale aceleia?i întâlniri sunt actualizate pentru toți participanții posibil, fiecare cutie poștală din organizația trebuie actualizată.

Această condi?ie poate crește în mod semnificativ numărul de cutii poștale, care trebuie să fie actualizate. Prin urmare, poate fi mărită ori de prelucrare.

Participanți care nu au face de cutii poștale Exchange nu primesc actualizări. Numirile acestora nu poate fi actualizate, în func?ie de sistemul de poștă electronică pe care acestea sunt difuzate ?i funcție acțiunile efectuate de administrator de lor ia.
Această setare se aplică numai pentru cutiile poștale ale utilizatorilor.

Actualiza săli de conferință și cutiile poștale de resurse

Trebuie să actualizați săli de conferință și cutiile poștale de resurse pentru a evita rezervări în conflict. Pentru aceasta, urmați acești pași:
  1. Pe Specificați resursă și o sală de conferințe Calendare pagină, tastați sau lipiți lista de alias-uri de săli de conferințe în organizația dumneavoastră. Faceți clic pe Rezolva pentru a valida pseudonime, apoi faceți clic pe Următorul.
  2. Pe Rezolva fusuri orare pentru resursă și Calendare sala de conferințe pagina, instrumentul vă solicită să manual Specificați fusul orar pentru o sala de conferinte, sala de conferințe să nu au un fus orar. Face acest lucru, și apoi faceți clic pe Următorul.
  3. Se afișează pagina un memento pentru a vă reaminti că instrumentul este pe cale să actualizeze calendarele. Faceți clic pe Următorul.
  4. Observați că faceți log o bara de stare, un link la ieșire, și un sunt afișate în timp real de afișare de ieșire a instrumentului. Faceți clic peUrmătorul.

    Dacă erorile sunt întâlnite, un link la document de depanare este afișată în partea de jos a acestei pagini.

Actualizați calendarul de cutie poștală de utilizator

Pentru aceasta, urmați acești pași:
  1. Pe Setări pentru căsuța poștală a utilizatorului de actualizare Calendare pagină, configurați setările pentru actualizare.

    Dacă nu ați specificat SuppressExchange sauSuppressAll Setări complexe, selectați fusuri orare care sunt afectate de DST. În caz contrar, selectați toate fusurile orare.

    Faceți clic peUrmătorul.
  2. Se afișează pagina un memento pentru a vă reaminti că instrumentul este pe cale să actualizeze calendarele. Faceți clic pe Următorul.
  3. Observați că faceți log o bara de stare, un link la ieșire, și un sunt afișate în timp real de afișare de ieșire a instrumentului. După actualizare este complet, faceți clic pe Următorul.

    Dacă erorile sunt întâlnite, o link la documentul depanare este afișat în partea de jos a acestui pagina.
  4. Faceți clic pe Finisaj.

Instrumentul Exchange log dosar și subdirectoarele

Fișierele jurnal

Instrumentul Exchange creează următoarele fișiere jurnal în directorul de instalare:
  • Output.txt

    Acest fișier conține o listă a tuturor cutiilor poștale ale utilizatorilor care au fost extrase împreună cu informațiile de fus orar.
  • TimeZoneExtraction.log

    Acest jurnal conține produc?ia combinată a fusului orar procesul de extracție pentru toate serverele.
  • ResourceUpdate.log

    Acest jurnal conține datele de ieșire ale procesul de actualizare pentru sălile de conferințe și pentru cutiile poștale de resurse.
  • UserUpdate.log

    Acest jurnal conține produc?ia combinată de utilizator cutie poștală update proces pentru toate serverele.
  • CalendarScan.log

    Acest jurnal conține produc?ia combinată de calendar a scanda proces pentru toate serverele.
  • ConflictUsers.txt

    Acest jurnal conține o listă de utilizatori care au contradictorii fusuri orare. De exemplu, proprietățile cutiei poștale utilizatorilor indică faptul că ei fac parte din mai multe fusuri orare.
  • NonExistent.txt

    Acest jurnal conține o listă de utilizatori care au nici un fus orar informații.

Subdirectoare

Instrumentul Exchange creează subdirectoare următoarele în directorul de instalare:
  • Resursă

    Acest lucru este subdirectorul lucru pentru procesul de actualizare pentru sălile de conferințe și pentru cutiile poștale de resurse. Acest director conține următoarele fișiere:
    • Msextmz.log

      Acest lucru este fișierul de ieșire din instrumentul Exchange pentru procesul de actualizare.
    • Errors.txt

      Acest fișier conține lista de cutii poștale.
    • Processed.txt

      Acest fișier conține lista de cutii poștale, care au fost actualizat cu succes.
    Notă Toate subdirectoare de lucru conțin aceste fișiere.

    The Subdirectorul resursă conține, de asemenea, subdirectorul următoarele:
    • Fișiere de jurnal

      Acest subdirector conține jurnalele de actualizare pentru fiecare cutie poștală care a fost actualizat cu succes. Fiecare actualizare jurnal trebuie să conțină o listă de întâlniri care au fost actualizate.
  • Server_Name

    Există un subdirector pentru fiecare server la care s-a efectuat procesul de extracție fus orar sau o actualizare a calendarului. Aceste subdirectoare conține subdirectoare următoarele:
    • CalendarScan

      Acest lucru este subdirectorul lucru pentru scanarea calendaristic procesul.
    • Extras

      Acest lucru este subdirectorul lucru pentru fusul orar procesului de extragere.
    • Actualizare

      Acest lucru este subdirectorul lucru pentru căsuța poștală a utilizatorului procesul de actualizare. Acesta conține subdirectorul următoarele:
      • Fișiere de jurnal

        Acest subdirector conține jurnalele de actualizare pentru fiecare cutie poștală care a fost actualizat cu succes. Fiecare actualizare jurnal trebuie să conțină o listă de întâlniri care au fost actualizate.

Ce să fac după ce executați instrumentul Exchange

După ce terminați execută instrumentul Exchange împotriva tuturor Exchange serverele din mediul dumneavoastră, aplicați actualizările Exchange Server DST corespunzătoare. Următoarea listă este organizat de versiune Exchange Server și serviciu pachet nivel. Instalați actualizările pentru versiunea de Exchange Server în Ordinul.

Schimb de Server 2007
940006 Descrierea Update Rollup 4 pentru Exchange Server 2007
Pachetul de actualizare 4 pentru Exchange Server 2007 include remedierile DST următoarele:
  • 937656 Întâmpinați probleme în Outlook Web Access pentru Exchange 2007 după ora de vară (DST) începe în Noua Zeelandă, în 2007
  • 932561 Rezervările care sunt trimise la o organizație Exchange la alta utilizând Exchange 2007 pot fi incorecte cu o oră dacă este o organizație în orar din Australia de Vest
Schimbul de a servi 2003 SP2
926666 Actualizare pentru modificările orei de vară în 2007 pentru Exchange 2003 Service Pack 2
931915 Actualizare pentru modificările orei de vară în Newfoundland în 2007 pentru Exchange Server 2003 Service Pack 2
929895 Rezervările trimise între organizații diferite Exchange Server pot fi incorecte cu o oră când una dintre organizații este în orar din Australia de Vest
937653 Vă confruntați cu unul sau mai multe probleme în Exchange Server 2003 după perioada de ora de vară pentru Noua Zeelandă modificări în 2007
Schimb de Server 2003 SP1
940123 Apar probleme în Exchange 2003 Service Pack 1 după ora de vară (DST) începe în Noua Zeelandă, în 2007

Probleme cunoscute

  • Întâlnirile recurente care sunt create în Outlook Web Access nu sunt actualizate de instrumentul Exchange

    Dacă instalați actualizările Exchange Server pe Serverul Exchange înainte de a vă actualiza cutiile poștale, recurente întâlnirile care sunt creat în Outlook Web Access nu sunt actualizate de instrumentul Exchange.

    Pentru a rezolva această problemă, eliminați actualizările Exchange Server, executați Instrument de schimb, și apoi reinstala actualizările Exchange Server pe schimbul serverul.
  • Exchange 2007 trebuie repornit după ce executați instrumentul Exchange

    Pentru a afișa corect elementele din calendar, trebuie să reporniți serviciile Exchange după ce executați instrumentul Exchange pentru Outlook Web Access în Exchange 2007.
  • Nu se poate instala instrumentul Exchange

    Instrumentul Exchange nu este instalat cu succes dacă există oricare dintre următoarele chei de registry:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    În acest scenariu, primiți următorul mesaj de eroare Când încercați să instalați instrumentul Exchange:
    Serverul Exchange Instrument resetarea calendar nu poate fi instalat cu această versiune de Microsoft Outlook.
    Pentru a soluționa această problemă, ștergeți aceste chei registry, instalați instrumentul Exchange, și apoi restabiliți registry chei.

    Importante Această secțiune, metoda sau activitate conține pași care-ți spun cum să modificați registry-ul. Cu toate acestea, pot apărea probleme grave dacă modificați registru incorect. Prin urmare, asigurați-vă că urmați acești pași cu atenție. Pentru o protecție sporită, rezervă de registry, înainte de a modifica aceasta. Apoi, restabiliți registry dacă apare o problemă. Pentru mai multe informații despre modul de copii de rezervă și restaurați registry, faceți clic pe următorul articol număr pentru a vedea articolul în baza de cunoștințe Microsoft:
    322756 Cum la spre spate sus și restaurarea registry în Windows
  • Există o limită privind numărul de cutii poștale, care pot fi prelucrate pe server

    În modul utilizator listă și în modul de extrac?ie fus orar, Msextmz.exe poate procesa numai 65.535 cutiile poștale de pe un server. Dacă serverul are nu sunt prelucrate mai mult decât 65.535 cutiile poștale, unele cutii poștale.
  • Calendarele de foldere publice nu sunt actualizate

    Instrumentul Exchange nu actualizează Public Folder calendare. Pentru informații despre cum se actualizează un calendar de Public Folder, consultați documenta?ia pentru instrumentul Outlook.
  • Aveți posibilitatea să executați instrumentul Outlook și instrumentul Exchange în același mediu

    Dacă executați instrumentul Exchange pe o cutie poștală care are deja actualizate de instrumentul Outlook sau invers, vă confruntați cu nici o latură efectele. Cu toate acestea, dacă executați instrumentul Exchange, nu este nevoie pentru ca utilizatorii să executați instrumentul Outlook separat.
  • Memento-uri non-întâlnire apar mai târziu decât se preconiza

    Non-întâlnire memento-uri pentru cutiile poștale care sunt actualizate de instrumentul Exchange nu se actualizează dacă Outlook nu are conectat la cutia poștală în modul Online. În această situație, memento-uri apar o oră mai târziu așteptat.

    Dacă Outlook nu are conectat în modul Online, trebuie să Ajustați înștiințările incorecte pentru numiri calendaristic care instrumentul Outlook găsește. În plus, folderul de căutare memento-uri nu există în cutia poștală. De aceea, instrumentul nu actualizează elementele de poștă electronică, persoane de contact sau alte înștiințări.

    De exemplu, instrumentul nu actualizează memento-ul pe un element de poștă electronică pentru a urmări la un moment dat în viitor. Instrumentul, de asemenea, nu actualizează memento pe un element de activitate care are un memento.
  • Primiți un mesaj de eroare: „Imposibil de instalat deoarece versiunile anterioare ale 'Microsoft Exchange Calendar Update Tool' au fost detectate. Vă rugăm să dezinstalați-le și executați din nou acest setup"

    Dacă ați instalat anterior Exchange Calendar Update Instrumentul versiunea 1.0, tu trebuie să dezinstalați această versiune înainte să instalați Exchange Calendarul Update Tool versiunea 2.0.

    Instrumentul Exchange Calendar Update Tool versiunea 1.0 a fost distribuit ca un fișier executabil cu auto-extragere care conținea două pachete .msi (Msextmz.msi ?i Msextmzcfg.msi). Trebuie să dezinstalați ambele pachete înainte de a instala versiunea 2.0 de instrumentul Exchange.

    Dacă vă încă probleme când instalați instrumentul Exchange, versiunea 2.0 încercați să reinstalați apoi dezinstalarea versiunea 1.0 a instrumentul Exchange. Face Acest lucru utilizând pachete .msi în loc utilizând Adăugarea sau eliminarea Programe caracteristica din panoul de Control. Apoi, reporniți computerul, și apoi instalați versiunea 2.0 de instrumentul Exchange.

    Dacă această procedură nu nu work, extras binare direct din pachetele .msi.
  • Când se execută instrumente de actualizare Outlook sau Exchange, rezervările sunt de off cu o oră pe cutiile poștale unde fusul orar local este ora Standard a Noii Zeelande

    Acest comportament apare atunci când următoarele scenarii sunt adevărat:
    • Executați instrumente de actualizare Outlook sau Exchange pe un computerul care execută Windows Vista.
    • Fusul orar local al cutiilor poștale care sunt actualizat este ora Standard a Noii Zeelande.
    Pentru a soluționa această problemă, executați Outlook sau Instrumente de actualizare schimb împotriva a doua oară la sau după ianuarie cutiile poștale 1, 2008.

    Acest comportament se produce deoarece Windows Vista mânere fusul orar face informații diferit decât alte versiuni de Windows. Dacă nu executați Outlook sau Exchange actualizare instrumente din nou la sau după 1 ianuarie 2008, toate numiri în evenimentul DST al doilea va fi dezactivat cu o oră. Al doilea DST Evenimentul include datele la 16 martie 2008 prin 6 aprilie 2008.

    Dacă nu vă doriți să așteptați până la 1 ianuarie 2008 pentru a actualiza rezervările în DST doua eveniment, aveți posibilitatea să executați instrumente de actualizare Outlook sau Exchange de pe un computer care este executați Windows XP sau Windows Server 2003.
  • O dată că este în formatul MM/DD/YYYY este schimbat la formatul M/DD/YYYY

    Setați Sistem de operare Patch data opțiunea în schimb Instrument Update calendar. Când efectuați aceasta, instrumentul Exchange Calendar Update Tool nu func?ionează corect. Această problemă apare deoarece formatul de dată MM/DD/YYYY este schimbat la M/DD/YYYY.

    În plus, un mesaj de eroare care seamănă cu următorul mesaj de eroare se înregistrează în Jurnalul de eroare:
    [28/02/2008 7: 10: 21 AM] [776]: wmain: Imposibil de citit configura?ia - eroare 0x80070057.
    Această problemă se produce din cauza o setare incorectă opțiune din următoarea secțiune din probă cutiile poștale.serverulFișier .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 
    
    Observați că linia de "SystemPatchDate" conține data "2/28/08." Această dată trebuie să fie în format DD/MM/YYYY.

    Pentru a soluționa această problemă, nu folosiți Sistem de operare Patch Data opțiune.

REFERINȚE

Script-ul "Acordarea permisiunea de cutie poștală"

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

Proprietă?i

ID articol: 941018 - Ultima examinare: 19 octombrie 2011 - Revizie: 1.0
SE APLICĂ LA:
  • 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
Cuvinte cheie: 
kbhowto kbinfo kbmt KB941018 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, nu de un traducător. Deoarece Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, toate articolele din Baza noastră de cunoștințe vor fi disponibile în limba dvs. nativă. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, precum în cazul în care un vorbitor străin poate face greșeli vorbind limba dvs. nativă. Compania Microsoft nu este responsabilă pentru nicio inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții săi. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol:941018

Trimite?i feedback

 

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