Al momento sei offline in attesa che la connessione Internet venga ristabilita

Come affrontare l'ora legale utilizzando lo strumento di aggiornamento del calendario Exchange

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 941018
INTRODUZIONE
Ora legale è un sistema per impostare gli orologi anticipo in modo che alba e tramonto si verificano in un'ora successiva. L'effetto è più legale alla sera. Molti paesi osservano l'ora legale. La maggior parte di questi paesi ha le proprie regole e regolamenti per quando l'ora legale inizia e termina.

Le date dell'ora legale (DST) cambiano di anno in anno. Gli utenti di Microsoft Outlook è necessario aggiornare il calendario di Outlook ogni volta che cambiano le regole dell'ora legale. Le date tra le precedenti regole dell'ora legale e le regole dell'ora legale corrente vengono definite in questo articolo per "periodo di ora legale esteso".

In questo articolo vengono descritte le azioni che è possibile adottare per gli elementi di calendario indirizzo di Outlook che si verificano durante il periodo dell'ora legale esteso. In questo articolo descrive anche le azioni da prendere per aggiornare gli elementi di calendario memorizzati in Microsoft Exchange Server secondo le regole dell'ora legale nuove. La soluzione presentata in questo articolo riguarda lo strumento di aggiornamento calendario di Microsoft Exchange ("lo strumento Exchange").

Per ulteriori informazioni su come preparare le modifiche dell'ora legale 2007 (ora legale 2007) per tutti i prodotti Microsoft interessati, visitare il seguente sito Web Microsoft: Il governo russo ha adottato una legge per annullare l'ora legale (DST) nel 2011. Per ulteriori informazioni, visitare il seguente sito Web Microsoft: Per ulteriori informazioni in russo, visitare il seguente sito Web Microsoft:
Informazioni

Informazioni sullo strumento di Exchange

Dopo aver installato gli aggiornamenti dell'ora legale per Microsoft Windows, tutti gli appuntamenti precedenti che si verificano durante i periodi di modifica dell'ora legale verranno visualizzati correttamente come un'ora in corso. Questo vale per gli appuntamenti ricorrenti e a istanza singola. È necessario l'aggiornamento tali appuntamenti verranno visualizzati correttamente in Outlook, Microsoft Office Outlook Web Access e applicazioni basate su Collaboration Data Objects (CDO).

Outlook fornisce uno strumento denominato lo strumento di aggiornamento dati di fuso orario per Microsoft Office Outlook ("lo strumento di Outlook"). Questo strumento consente agli utenti di aggiornare i propri calendari.

Per ulteriori informazioni sullo strumento di aggiornamento dati di fuso orario, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:
931667 Come affrontare le modifiche all'ora legale nel 2007 utilizzando lo strumento di aggiornamento dati di fuso orario per Microsoft Office Outlook
Lo strumento di aggiornamento del calendario di Exchange ("lo strumento Exchange") consente di evitare le difficoltà che gli amministratori nella distribuzione dello strumento di Outlook ampiamente a tutti gli utenti e di garantire che ogni utente esegue lo strumento di Outlook correttamente.

Descrizione generale dello strumento di Exchange

Lo strumento di Exchange è costituito da due file eseguibili distinti. Questi file sono descritti nella tabella seguente.
Nome del file Descrizione
Msextmz.exe Questo file eseguibile consente di estrarre informazioni sul fuso orario dalle cassette postali su un server che esegue Exchange Server. Questo file eseguibile aggiorna anche i calendari delle cassette postali per un elenco di utenti specificato.
Msextmzcfg.exe Questo file eseguibile è uno strumento di configurazione che esegue la maggior parte dei passaggi coinvolti nell'aggiornamento di un server di Exchange Server.

Sulla nuova versione dello strumento di Exchange

In base al feedback dei clienti, una nuova versione dello strumento di Exchange è stata rilasciata il 13 agosto 2007. In questo articolo si riferisce alla nuova versione dello strumento di Exchange. Se si esegue una versione precedente dello strumento di Exchange, disinstallarlo e installare la nuova versione.

La nuova versione dello strumento di Exchange include i seguenti miglioramenti:
  • L'estrazione del fuso orario e il calendario aggiornare processi aresped di fourfold.
  • L'interfaccia utente per lo strumento di configurazione è morestreamlined e intuitivo.
  • La possibilità di aggiornare resourcemailboxes e sale conferenze è ora incorporata nello strumento di configurazione.
  • La possibilità di aggiornare le cassette postali degli utenti è ora incorporata in strumento di theconfiguration.
  • Un documento sulla risoluzione dei problemi è ora incluso con lo strumento theExchange ed è integrato nello strumento di configurazione.
  • Consente di migliorare la handlingcapabilities di errore e algoritmo estrazione fuso orario.
  • Il processo di registrazione è più semplice da usare.

Rischio di esecuzione dello strumento di Exchange

Quando si esegue lo strumento di Exchange, esiste il rischio che gli appuntamenti a istanza singola non possono essere aggiornati correttamente. Ad esempio, a istanza singola appuntamenti che un utente creato dopo che è stato aggiornato il sistema operativo può essere aggiornato in modo non corretto.

Per ridurre questo rischio, utilizzare uno dei seguenti metodi:
  • Ridurre l'intervallo tra il tempo che si updateclient i computer e il momento di aggiornare i calendari di cassetta postale.
  • Se sono stati aggiornati i computer dell'organizzazione un timeago lungo, utilizzare l'impostazione di Solo aggiornamento riunioni ricorrenti nelleImpostazioni avanzate.

    In genere fanno le persone non appuntamenti a istanza di createsingle numero di mesi in anticipo. Pertanto, se il DSTupdates sono stati installati molti mesi prima, la maggior parte del calo a istanza singola meetingsthat al periodo dell'ora legale esteso sarà stata creata utilizzando le regole di transizione newDST. Non sono necessario aggiornare tali riunioni.
  • Se si conosce la data esatta dell'aggiornamento di tutti i computerswere di client, utilizzare l'impostazione della Data di Patch del sistema operativo nelleImpostazioni avanzate. Se viene specificata una data, single-instanceappointments che sono stati creati dopo tale data non vengono aggiornati per la Exchangetool.
Nota Se si esegue lo strumento di Outlook o lo strumento di Exchange su un computer client che esegue Windows Vista e si esegue lo strumento con cui il fuso orario è ora solare Nuova Zelanda le cassette postali, è necessario eseguire lo strumento una seconda volta o dopo il 1 gennaio 2008. Per ulteriori informazioni, vedere la sezione "Problemi noti".

Opzioni per aggiornare le cassette postali

Nella tabella seguente sono elencate le cinque opzioni che è possibile utilizzare per aggiornare le cassette postali degli utenti per utilizzare le regole di fuso orario dell'ora legale 2007.
Opzione Professionisti Svantaggi
Distribuire lo strumento di Outlook a ciascun utente e chiedere quindi agli utenti di aggiornare le proprie cassette postali. Questa opzione consente di evitare il rischio associato all'esecuzione dello strumento di Exchange. È difficile garantire che tutti gli utenti verranno eseguito lo strumento di Outlook correttamente e in modo tempestivo.

Gli utenti che non dispongono di Outlook non potranno eseguire lo strumento di Outlook.

È necessario effettuare un ulteriore sforzo educativo per ridurre la confusione per gli utenti.
Eseguire lo strumento di Exchange per tutti i utenti e i server. Questa opzione offre agli utenti un'esperienza semplificata. Esiste un rischio associato con l'esecuzione dello strumento di Exchange, come descritto nella sezione "Rischio di eseguire lo strumento di Exchange".
Eseguire lo strumento di Exchange per aggiornare solo gli appuntamenti ricorrenti. Consentire agli utenti di aggiornare gli appuntamenti a istanza singola nelle proprie cassette postali utilizzando lo strumento di Outlook. Il rischio è inferiore di appuntamenti a istanza singola in modo non corretto da aggiornare. Svantaggi dell'esecuzione dello strumento di Outlook vengono combinati con i contro dell'esecuzione dello strumento di Exchange.
Eseguire lo strumento di Exchange né lo strumento di Outlook. Chiedere agli utenti di esaminare i calendari e Rubrica nuovamente gli appuntamenti come necessario. Questa opzione consente di evitare il rischio associato all'esecuzione dello strumento di Exchange. A meno che non tutti gli utenti Rubrica nuovamente tutti i appuntamenti, alcuni elementi del calendario sarà un'ora disattivato durante il periodo dell'ora legale esteso.

È necessario effettuare un ulteriore sforzo educativo per ridurre la confusione per gli utenti.
Distribuire lo strumento di Outlook a ciascun utente e chiedere quindi agli utenti di aggiornare le proprie cassette postali. Quindi, utilizzare la modalità di estrazione del fuso orario dello strumento di Exchange per determinare se gli utenti sono in esecuzione lo strumento di Outlook.

Se gli utenti non sono in esecuzione lo strumento di Outlook, l'amministratore può eseguire lo strumento di Exchange.
Questa opzione riduce il rischio che utenti non in esecuzione lo strumento in modo tempestivo ed evita il rischio associato all'esecuzione dello strumento di Exchange. Non è un'opzione, se gli utenti utilizzano Microsoft Office Outlook 2007.

Come installare lo strumento di Exchange

Lo strumento di aggiornamento calendario di Exchange è disponibile per il download sotto forma di un file eseguibile autoestraente (Msextmz.exe). Questo strumento è disponibile per il download da Microsoft Download Center:

DownloadDownload del pacchetto di strumento di aggiornamento del calendario di Exchange.

Per installare e utilizzare lo strumento di Exchange viene creata una macchina virtuale. La macchina virtuale è basata su Microsoft Windows Server 2003, Outlook 2007, Microsoft Office Excel 2007 e Microsoft Office Word 2007. La macchina virtuale funziona in entrambi Microsoft Virtual PC 2004 e in Microsoft Virtual Server 2005 R2.

Per ulteriori informazioni su virtual machine per lo strumento di aggiornamento calendario di Exchange, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:
933185 Una macchina virtuale è disponibile per la distribuzione dell'ora legale 2007 gli aggiornamenti del calendario in un'organizzazione di Exchange
Per ulteriori informazioni su come scaricare i file di supporto Microsoft, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:
119591 Come ottenere file di supporto Microsoft dai servizi online
Microsoft ha analizzato questo file per individuare eventuali virus. Microsoft ha utilizzato il software antivirus più recente disponibile alla data in cui il file è stato registrato. Il file è archiviato in un server con protezione avanzata che impedisce modifiche non autorizzate al file.

Lingue supportate dallo strumento di Exchange

Lo strumento di Exchange è disponibile solo in lingua inglese. Lo strumento verrà eseguito solo su un computer inglese (Stati Uniti).

Versioni di Exchange Server compatibili con lo strumento di Exchange

Lo strumento di Exchange è possibile aggiornare le cassette postali per le seguenti versioni di 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

Sistemi operativi supportati dallo strumento di Exchange

Lo strumento di Exchange verrà eseguite nelle versioni a 32 bit dei sistemi operativi seguenti:
  • Microsoft Windows Server 2003
  • Microsoft Windows XP
  • Windows Vista

Operazioni da eseguire prima di eseguire lo strumento di Exchange

Installare gli aggiornamenti

Prima di eseguire lo strumento di Exchange, assicurarsi che i computer client e server vengono aggiornati correttamente. A tale scopo, è necessario installare l'aggiornamento dell'ora legale di Windows sul client e sul server. Per ulteriori informazioni, fare clic sul seguente numero di articolo per visualizzare l'articolo della Microsoft Knowledge Base:
942763 Aggiornamento cumulativo dei fusi orari del dicembre 2007 per i sistemi operativi Microsoft Windows

Se si esegue Microsoft Exchange Server 2003 Service Pack 2 (SP2), è necessario installare uno o entrambi dei seguenti aggiornamenti, come appropriato per l'organizzazione:
  • Aggiornamento 911829
  • Aggiornamento 924334
Per ulteriori informazioni su questi aggiornamenti, fare clic sui numeri per visualizzare gli articoli della Microsoft Knowledge Base:
911829 Messaggio di errore quando si tenta di eseguire attività di modifica o è necessario fare clic per attivare il frame di composizione in Outlook Web Access
924334 Il modulo di scrittura dei messaggi si blocca dopo l'installazione di Internet Explorer 7.0 e il controllo S/MIME in un client di Outlook Web Access in Exchange Server 2003
Se gli utenti si trovano all'interno di Gerusalemme, Brasile centrale o il fuso orario E. Sud America, leggi le istruzioni nell'articolo della Microsoft Knowledge Base riportato di seguito:

943390 Alcuni elementi del calendario di Outlook sono riassegnati in modo non corretto quando si utilizza lo strumento di aggiornamento dati di Outlook fuso orario per regolare le modifiche dell'ora legale in determinate aree geografiche

Verificare i requisiti di sistema

È necessario eseguire lo strumento di Exchange solo su un computer per il quale sono vere le seguenti condizioni:
  • Il computer dispone di Microsoft Office Outlook 2003 Service Pack2 (SP2) o Microsoft Office Outlook 2007 installato.
  • Il computer ha la Toolinstalled di dati di Outlook fuso orario.
  • Microsoft.NET Framework versione 2.0 è installato nel computer client.
È possibile eseguire lo strumento di Exchange in un computer che esegue Exchange Server o gli strumenti di gestione del sistema di Exchange. Se si tenta di installare lo strumento di Exchange in un computer che esegue Exchange Server o gli strumenti di gestione del sistema di Exchange, viene visualizzato il seguente messaggio di errore:
Strumento di aggiornamento del calendario di Microsoft Exchange non può essere installato con Microsoft Exchange.

Verificare le autorizzazioni e altri requisiti utente

Verificare che le seguenti condizioni sono vere:
  • Amministrazione dell'archivio informazioni vengono aggiornate le autorizzazioni per ogni database Exchange Server dei messaggi (MDB).
  • Autorizzazioni Invia come per tutte le cassette postali areupdated.
  • Autorizzazioni di accesso alle cassette postali complete per tutte le cassette postali areupdated.
  • Le autorizzazioni di amministratore locale sono concessi sul computerthat sono in esecuzione lo strumento di Exchange.

Relative allo script "Concedi autorizzazioni cassetta postale"

Per concedere le autorizzazioni utente di accesso completo alle cassette postali e Invia come per tutte le cassette postali di un dominio, è possibile utilizzare lo script di esempio GrantMailboxPermission.vbs.

Questo script può essere eseguito solo da un amministratore di Exchange Server in un computer che esegue Exchange 2000 Server o Exchange Server 2003. Impossibile eseguire questo script su un computer che esegue Exchange Server 2007. Tuttavia, è possibile utilizzare Exchange Management Shell per concedere le autorizzazioni necessarie.

Nella sezione "Riferimenti" viene fornito il codice dello script vbs. Nella tabella seguente vengono descritte le due modalità in cui viene eseguito questo script.
Modalità Comando Descrizione
Aggiungere CScript GrantMailboxPermission.vbs: aggiungere Nome_dominio \ Nome_utente Nome_file Questo comando consente di concedere il Nome_dominio \ Nome_utente accesso completo alle cassette postali e Invia come autorizzazioni utente per le cassette postali degli utenti elencati nel file di input.

Il file di input deve essere un file di testo che contiene i nomi di dominio legacy di cassette postali degli utenti. Tali nomi devono essere delimitati da un ritorno a capo + avanzamento riga (CRLF).

Lo script genera un file GrantMailboxPermission.log. Questo file è un record delle cassette postali che sono stati elaborati. La prima riga del file di log è il Nome_dominio \ Nome_utente utente che ha concesso l'accesso. Non eliminare questo file. Questo file viene utilizzato in modalità di rimozione.

Se all'utente viene assegnato un accesso esplicito "Nega", lo script registra le informazioni in un file denominato "GrantMailboxPermission.err". Lo script non verrà concedere o modificare l'autorizzazione.

Se l'utente fa parte di un gruppo di protezione che è stato assegnato "Nega" l'accesso, lo script concede le autorizzazioni di accesso completo alle cassette postali e Invia come. Tuttavia, l'utente sarà Impossibile accedere alla cassetta postale. Tutti gli errori verranno registrati nel file GrantMailboxPermission.err.
Rimuovere CScript GrantMailboxPermission.vbs: rimuovereQuesto comando consente di rimuovere le autorizzazioni di accesso completo alle cassette postali e Invia come per le cassette postali elencate nel file GrantMailboxPermission.log dal Nome_dominio \ Nome_utente utente. Il Nome_dominio \ Nome_utente utente è specificato nel file GrantMailboxPermission.log.
Note
  • Quando si esegue questo script nel computer in cui è runningExchange Server, lo script restituisce un carattere punto (.) quando il scriptsuccessfully elabora un utente. Quando lo script non elabora correttamente un utente, lo script restituisce un pointcharacter di punto esclamativo (!).
  • Il file di output della modalità di estrazione del fuso orario non delibera come file di input per questo script. Per creare il file di input per thisscript, incollare il contenuto dell'estrazione del fuso orario modalità output file intoNotepad, salvare il contenuto come un nuovo documento e quindi utilizzare il nuovo documento come file di input.

Come utilizzare lo strumento di Exchange

Per utilizzare lo strumento di Exchange, avviare lo strumento di configurazione di aggiornamento (Msextmzcfg.exe) di un calendario di Exchange. Questo programma sarà possibile con l'intero processo di aggiornamento dei calendari.

Eseguire il processo di estrazione del fuso orario

Per aggiornare i calendari delle cassette postali, è necessario determinare il fuso orario dei calendari. Il processo di estrazione del fuso orario esamina le proprietà e gli appuntamenti dei calendari delle cassette postali per determinare i fusi orari. Per eseguire il processo di estrazione del fuso orario, attenersi alla seguente procedura:
  1. Pagina di benvenuto, fare clic su Avanti.

    Nota La pagina di benvenuto viene presentato il anddiscusses strumento di configurazione delle autorizzazioni necessarie per eseguire lo strumento. La pagina alsoprovides un collegamento a questo articolo.
  2. Specificare le impostazioni per lo strumento di configurazione. Werecommend di allocare almeno 200 megabyte (MB) di tologging di spazio su disco.

    Se si desidera modificare le impostazioni predefinite, fare clic suImpostazioni avanzate. Per ulteriori informazioni sui advancedsettings, vedere la tabella che segue questa procedura.
  3. Selezionare i server di Exchange nella foresta del servizio Active Directorydirectory locale che si desidera aggiornare. Quindi, fare clic suAvanti per avviare il processo di estrazione del fuso orario.

    Nota Se è già stata eseguita estrazione del fuso orario, è possibile skipthis passaggio facendo clic su Ignora.

    Si noti che un controllo statusbar, un collegamento per il log di output e una visualizzazione in tempo reale del processo di zoneextraction ora vengono visualizzati. Dopo aver iscomplete processo estrazione il fuso orario, fare clic su Avanti.

    Se si riscontrano errori, viene visualizzato alink al documento sulla risoluzione dei problemi.
  4. Configurare la pagina di cassette postali con TimeZones No e quindi fare clic su Avanti per eseguire la scansione calendaritems.

    Nota Se lo strumento rileva che gli utenti che non dispongono di cassette postali livello propertiesthat indicare il fuso orario, lo strumento analizza appointmentsinside e riunioni effettivi tali calendari per determinare il fuso orario. È possibile specificare gli elementi di calendario numberof attraverso il quale si desidera che lo strumento di configurazione per la scansione. Thelarger il numero di elementi che specificano, più tempo richiederà l'analisi.
  5. Nella pagina risoluzione fuso orario sconosciuto displaynames , verrà richiesto per eseguire il mapping di fusi orari che riconoscono il molto strumento a un fuso orario di sistema operativo. Una volta fatto questo, fare clic suAvanti
  6. Se lo strumento di configurazione rileva che gli utenti che dispongono di aree multipletime, richiesto di risolvere manualmente il conflitto specificando unica zona con cui aggiornare il calendario dell'utente. Una volta fatto questo, fare clic suAvanti.
  7. Nella pagina Salva cassetta postale DNs con TimeZones non risolti , gli utenti rimanenti ancora non installato alcun zoneinformation tempo o che hanno ancora tempo in conflitto sono informazioni di zona registrati ina separano file di registro. Fare clic su Avanti.
Il processo di estrazione del fuso orario è stato completato. L'elenco di utenti e dei fusi orari estratti si trova nel file di output (output. txt) nella directory di installazione.

Impostazioni avanzate

Nella tabella seguente vengono descritte le impostazioni avanzate che è possibile configurare nel passaggio 2 della procedura precedente.
ImpostazioneFunzionalitàScenarioConsiderazioniApplicabilità
Aggiornare solo le riunioni ricorrentiQuesta impostazione aggiorna solo le riunioni ricorrenti che sono interessate dalla modifica dell'ora legale. Appuntamenti a istanza singola che rientrano nel periodo dell'ora legale esteso non vengono aggiornati indipendentemente dal fatto di aggiornata.Se il computer dell'organizzazione sono stati aggiornati molto tempo fa, è necessario utilizzare questa impostazione.

In genere, persone non creare appuntamenti a istanza singola molti mesi di anticipo. Pertanto, se gli aggiornamenti dell'ora legale sono stati installati molti mesi prima, la maggior parte delle riunioni a istanza singola che rientrano nel periodo di ora legale esteso sarà stata creata utilizzando le nuove regole di transizione all'ora legale. Non sono necessario aggiornare tali riunioni.
Se un utente viene creato una numero di mesi in anticipo di riunione a istanza singola, questa riunione non viene aggiornata se si specifica questa impostazione.Questa impostazione si applica a tutte le cassette postali, a tutte le sale conferenze e a tutti i calendari dell'utente.
Data di installazione Patch sistema operativoQuesta impostazione specifica che gli appuntamenti a istanza singola creati o aggiornati dopo la data specificata non vengono aggiornati.Se si conosce la data esatta in cui sono stati aggiornati tutti i computer client, utilizzare questa impostazione.

Quando si esegue questa operazione, riunioni creati dopo l'installazione dell'aggiornamento non vengono aggiornate. Queste riunioni rientrano nell'ambito di nuove regole di fuso orario.
Questa impostazione è efficace solo quando i client sono stati aggiornati entro meno di 24 ore e quando è presente una penetrazione elevata dell'aggiornamento. (Esiste penetrazione elevata quando la percentuale di computer dell'organizzazione che sono stati aggiornati è compreso nell'intervallo di alta 90 percento).

Inoltre, gli amministratori possono specificare la data di un solo aggiornamento. Riunioni creati in fusi orari corrispondenti a specifici aggiornamenti e a insiemi specifici di fusi orari devono essere aggiornati.

L'implicazione per sale conferenza è che aggiornate solo le conferenze locali si trovano in fusi orari specifici.

L'implicazione per le cassette postali degli utenti è se l'impostazione di SuppressExchange o SuppressAll non è specificato, vengono aggiornati solo cassette postali degli utenti che appartengono ai fusi orari specifici.
Questa impostazione si applica a tutte le cassette postali, a tutte le sale conferenze e a tutti i calendari dell'utente.
SuppressExchange e MaxDepthQueste impostazioni determinano tutti gli appuntamenti nel calendario dell'utente che sono interessati dalla modifica dell'ora legale per l'aggiornamento anche quando l'utente è l'organizzatore di tali elementi di calendario.

Se l'utente è l'organizzatore di un elemento del calendario, gli aggiornamenti non vengono inviati ai partecipanti che dispongono di cassette postali di Exchange. Gli aggiornamenti vengono inviati ai partecipanti che non dispongono di cassette postali di Exchange.

L'impostazione MaxDepth specifica il livello di espansione della lista di distribuzione che viene eseguito per determinare quali partecipanti hanno cassette postali di Exchange e i partecipanti non li richiedono.
Utilizzare questa impostazione se non si desidera che gli utenti di Exchange per ricevere gli aggiornamenti della riunione da Organizer per riunioni sono interessati da un lungo periodo di ora legale.

L'impostazione di SuppressExchange è migliore rispetto all'impostazione di SuppressAll se l'organizzazione dispone di sistemi di calendario di Exchange Server non - e riunioni sono pianificate per includere i partecipanti che sono esterni all'organizzazione.
Nessuna riunione inviate, tranne che per gli utenti non di Exchange. Pertanto, per assicurarsi che le copie della stessa riunione vengono aggiornate per tutti i possibili partecipanti, devono essere aggiornata tutte le cassette postali dell'organizzazione.

Questa condizione potrebbe aumentare notevolmente il numero di cassette postali che devono essere aggiornate. Di conseguenza, i tempi di elaborazione possono essere aumentati.

Quando le liste di distribuzione di grandi dimensioni, nidificati sono in elenco partecipanti, è un processo costoso per determinare i partecipanti a una riunione e per determinare se i partecipanti dispongono di cassette postali di Exchange. Se si specifica questa impostazione e si imposta un valore elevato per il parametro MaxDepth , può essere messi un carico significativo sui controller di dominio.
Questa impostazione si applica solo alle cassette postali degli utenti.
SuppressAllQuesta impostazione fa sì che tutti gli appuntamenti nel calendario dell'utente che sono interessati dalla modifica dell'ora legale per l'aggiornamento anche quando l'utente è l'organizzatore di tali elementi di calendario.

Se l'utente è l'organizzatore di un elemento del calendario, gli aggiornamenti non vengono inviati ai partecipanti.
Utilizzare questa impostazione se non si desidera che i partecipanti di ricevere aggiornamenti delle riunioni da Organizer per riunioni che interessa il periodo dell'ora legale esteso.Nessuna riunione inviate. Pertanto, per assicurarsi che le copie della stessa riunione vengono aggiornate per tutti i possibili partecipanti, devono essere aggiornata tutte le cassette postali dell'organizzazione.

Questa condizione potrebbe aumentare notevolmente il numero di cassette postali che devono essere aggiornate. Di conseguenza, i tempi di elaborazione possono essere aumentati.

I partecipanti che non dispongono di cassette postali di Exchange non ricevono aggiornamenti. Agli appuntamenti potrebbero non essere aggiornati, a seconda del sistema di posta elettronica sono in esecuzione e a seconda delle azioni che accetta l'amministratore.
Questa impostazione si applica solo alle cassette postali degli utenti.

Sale riunioni di aggiornamento e di cassette postali delle risorse

È necessario aggiornare le sale riunioni e le cassette postali delle risorse per evitare conflitti di prenotazione. A tale scopo, attenersi alla seguente procedura:
  1. Nella pagina specificare risorse e conferenza RoomCalendars , digitare o incollare l'elenco degli alias di roomsin di conferenza dell'organizzazione. Fare clic su risolvere per convalidare gli alias e quindi fare clic su Avanti.
  2. Nella pagina risolvere fusi per andConference risorse calendari Room , verrà richiesto per manuallyspecify il fuso orario per una sala riunioni se la sala conferenze non nothave un fuso orario. Eseguire questa operazione e quindi fare clic su Avanti.
  3. Viene visualizzata una pagina di promemoria per ricordare all'utente che toolis l'aggiornamento di calendari. Fare clic su Avanti.
  4. Si noti che vengono visualizzate una barra di stato, un collegamento al Registro di output e visualizzazione in fase di areale dell'output dello strumento. Fare clic suAvanti.

    Se si verificano errori, viene visualizzato un collegamento al documento di thetroubleshooting nella parte inferiore della pagina.

Aggiornare il calendario della cassetta postale utente

A tale scopo, attenersi alla seguente procedura:
  1. Nella pagina impostazioni per l'aggiornamento MailboxCalendars utente , configurare le impostazioni per l'aggiornamento.

    Se si non sono state specificate le impostazioni diSuppressAll avanzata o di SuppressExchange , selezionare i fusi orari che areaffected da ora legale. In caso contrario, selezionare tutti i fusi orari.

    Fare clic suAvanti.
  2. Viene visualizzata una pagina di promemoria per ricordare all'utente che toolis l'aggiornamento di calendari. Fare clic su Avanti.
  3. Si noti che vengono visualizzate una barra di stato, un collegamento al Registro di output e visualizzazione in fase di areale dell'output dello strumento. Dopo aver iscomplete update, fare clic su Avanti.

    Se si verificano errori, alink al documento sulla risoluzione dei problemi viene visualizzato nella parte inferiore di thispage.
  4. Fare clic su Fine.

File di registro dello strumento di Exchange e le sottodirectory

File di registro

Lo strumento di Exchange crea i seguenti file di registro nella directory di installazione:
  • Txt

    Questo file contiene un elenco di tutti i thatwere di cassette postali utente estratto con le informazioni sul fuso orario.
  • TimeZoneExtraction.log

    Questo registro contiene l'output combinato del processo di zoneextraction di tempo per tutti i server.
  • ResourceUpdate.log

    Questo registro contiene l'output del processo di aggiornamento per sale riunioni e per le cassette postali delle risorse.
  • UserUpdate.log

    Questo registro contiene l'output combinato del processo di aggiornamento usermailbox per tutti i server.
  • CalendarScan.log

    Questo registro contiene l'output combinato del processo calendarscan per tutti i server.
  • ConflictUsers.txt

    Questo registro contiene un elenco di utenti che dispongono di aree di conflictingtime. Proprietà delle cassette postali degli utenti, ad esempio, indicare che theybelong a più fusi orari.
  • NonExistent.txt

    Questo registro contiene un elenco di utenti che non dispongono di alcun zoneinformation tempo.

Sottodirectory

Lo strumento di Exchange crea le seguenti sottodirectory nella directory di installazione:
  • Risorsa

    Questa è la sottodirectory di lavoro per il processo di aggiornamento per le sale riunioni e per le cassette postali delle risorse. Questo directorycontains i seguenti file:
    • Msextmz.log

      Si tratta del file di output dello strumento di Exchange per il processo di aggiornamento.
    • Errors. txt

      Questo file contiene l'elenco delle cassette postali.
    • Processed.txt

      Questo file contiene l'elenco delle cassette postali sono state aggiornate.
    Nota Tutte le sottodirectory di lavoro contengono questi file.

    TheResource sottodirectory contiene anche le sottodirectory seguente:
    • File di registro

      Questa sottodirectory contiene i registri di aggiornamento per ciascuna cassetta postale è stata aggiornata correttamente. Ogni registro di aggiornamento deve contenere un elenco di riunioni che sono stati aggiornati.
  • Nome_server

    Non vi è una sottodirectory per ogni serveron che l'estrazione del fuso orario di elaborazione o è stato eseguito un aggiornamento del calendario.Queste sottodirectory contengono le seguenti sottodirectory:
    • CalendarScan

      Si tratta di sottodirectory di lavoro per il processo di digitalizzazione del calendario.
    • Estrarre

      Si tratta di sottodirectory di lavoro per il processo di estrazione del fuso orario.
    • Aggiornamento

      Si tratta di sottodirectory di lavoro per il processo di aggiornamento delle cassette postali utente. Contiene la sottodirectory seguente:
      • File di registro

        Questa sottodirectory contiene i registri di aggiornamento per ciascuna cassetta postale è stata aggiornata correttamente. Ogni registro di aggiornamento deve contenere un elenco di riunioni che sono stati aggiornati.

Cosa fare dopo aver eseguito lo strumento di Exchange

Al termine dell'esecuzione dello strumento di Exchange su tutti i server di Exchange nell'ambiente, è necessario applicare gli aggiornamenti dell'ora legale per Exchange Server appropriati. Nell'elenco seguente è organizzata dal livello di Exchange Server versione e il service pack. Installare gli aggiornamenti per la versione di Exchange Server.

Exchange Server 2007
940006 Descrizione dell'aggiornamento cumulativo 4 per Exchange Server 2007
Aggiornamento cumulativo 4 per Exchange Server 2007 include le seguenti correzioni dell'ora legale:
  • 937656 Si verificano problemi in Outlook Web Access per Exchange 2007 dopo l'ora legale (DST) di avvio in Nuova Zelanda 2007
  • 932561 Gli appuntamenti inviati da un'organizzazione di Exchange a un altro utilizzando Exchange 2007 potrebbero non essere corretti di un'ora se un'organizzazione è nel fuso orario dell'Australia occidentale
Exchange Server 2003 SP2
926666 Aggiornamento per le modifiche dell'ora legale nel 2007 relativo a Exchange 2003 Service Pack 2
931915 Aggiornamento per le modifiche dell'ora legale in Terranova nel 2007 per Exchange Server 2003 Service Pack 2
929895 Gli appuntamenti vengono inviati tra diverse organizzazioni di Exchange Server potrebbero non essere corretti di un'ora quando una delle organizzazioni è nel fuso orario dell'Australia occidentale
937653 Che si verifichino uno o più problemi in Exchange Server 2003 dopo il periodo di ora legale nel 2007 per le modifiche della Nuova Zelanda
Exchange Server 2003 SP1
940123 Si verificano problemi di Exchange 2003 Service Pack 1 dopo l'ora legale (DST) viene avviato in Nuova Zelanda nel 2007

Problemi noti

  • Riunioni ricorrenti creati in Outlook Web Access non vengono aggiornate mediante lo strumento di Exchange

    Se si installano gli aggiornamenti di Exchange Server nel server di theExchange prima di aggiornare le cassette postali, riunioni ricorrenti che arecreated in Outlook Web Access non vengono aggiornati dallo strumento di Exchange.

    Per risolvere questo problema, rimuovere gli aggiornamenti di Exchange Server, eseguire lo strumento di theExchange e quindi reinstallare gli aggiornamenti di Exchange Server in Exchange il server.
  • Exchange 2007 deve essere riavviato dopo l'esecuzione dello strumento di Exchange

    Per visualizzare correttamente gli elementi del calendario, è necessario restartthe i servizi di Exchange dopo l'esecuzione dello strumento di Exchange per inExchange di Outlook Web Access 2007.
  • È possibile installare lo strumento di Exchange

    Lo strumento di Exchange non è installato correttamente esiste ifeither delle seguenti chiavi del Registro di sistema:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    In questo scenario, viene visualizzato la causa di errore riportato di seguito che si tenta di installare lo strumento di Exchange:
    Impossibile installare lo strumento Exchange ServerCalendar riassegnazione con questa versione di MicrosoftOutlook.
    Per ovviare a questo problema, eliminare queste chiavi del Registro di sistema, installare lo strumento di Exchange e quindi ripristinare le chiavi registrykeys.

    Importante Questa sezione, metodo o attività contiene passaggi su come modificare il Registro di sistema. Tuttavia, può causare seri problemi la modifica del Registro di sistema in modo non corretto. Pertanto, assicurarsi di seguire attentamente i passaggi. Per maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. Quindi, è possibile ripristinare il Registro di sistema se si verifica un problema. Per ulteriori informazioni su come eseguire il backup e ripristinare il Registro di sistema, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
    322756 Eseguire il backup e ripristino del Registro di sistema in Windows
  • Esiste un limite al numero di cassette postali che possono essere elaborati per ogni server

    In modalità utente elenco e nell'estrazione del fuso orario mode,Msextmz.exe è in grado di elaborare solo 65.535 cassette postali su un server. Se non vengono elaborati hasMore non il server di cassette 65.535 postali, alcune cassette postali.
  • Calendari di cartelle pubbliche non vengono aggiornati.

    Lo strumento di Exchange non aggiorna Foldercalendars pubbliche. Per informazioni su come aggiornare un calendario delle cartelle pubbliche, vedere la documentazione per lo strumento di Outlook.
  • È possibile eseguire lo strumento di Outlook e lo strumento di Exchange nello stesso ambiente

    Se si esegue lo strumento di Exchange su una cassetta postale che hasalready stata non aggiornata tramite lo strumento di Outlook o viceversa, che si verifichi alcun sideeffects. Tuttavia, se si esegue lo strumento di Exchange, non è necessario per gli utenti torun lo strumento di Outlook separatamente.
  • Promemoria non vengono visualizzati più tardi del previsto

    Non promemoria per le cassette postali che vengono aggiornati bythe Exchange strumento non vengono aggiornati se Outlook non è mai connessa in modalità in linea mailboxin. In questo caso, i promemoria vengono visualizzati un'ora successive thanexpected.

    Se Outlook non è mai connessa in modalità in linea, si mustadjust i promemoria per gli appuntamenti del calendario errati che il toolfinds di Outlook. Inoltre, la cartella di ricerca promemoria non esiste nella cassetta postale.Pertanto, lo strumento non aggiorna gli elementi di posta elettronica, contatti o altri promemoria.

    Ad esempio, lo strumento non aggiorna il promemoria su un messaggio di posta elettronica itemto di completamento in un momento in futuro. Inoltre, lo strumento non aggiorna thereminder su un elemento di attività con un promemoria.
  • Viene visualizzato un messaggio di errore: "Impossibile installare versioni precedenti di"Strumento di aggiornamento del calendario di Microsoft Exchange"sono stati rilevati. Disinstallare li ed eseguire nuovamente l'installazione"

    Se in precedenza è stato installato Exchange calendario UpdateTool versione 1.0, è necessario disinstallare questa versione prima di installare lo strumento di aggiornamento ExchangeCalendar versione 2.0.

    1.0 Toolversion aggiornamento calendario di Exchange è stato distribuito come file di un file eseguibile autoestraente che pacchetti MSI di containedtwo (Msextmz.msi e Msextmzcfg.msi). È necessario disinstallare bothpackages prima di installare la versione 2.0 dello strumento di Exchange.

    Se youstill problemi quando si installa la versione 2.0 dello strumento di Exchange, provare a reinstallare, quindi disinstallare la versione 1.0 dello strumento di Exchange. Dothis utilizzando pacchetti MSI anziché utilizzando la funzionalità Aggiungi o RemovePrograms nel Pannello di controllo. Quindi, riavviare il computer, andthen installare la versione 2.0 dello strumento di Exchange.

    Se funziona molto questa procedura, è necessario estrarre i file binari direttamente da pacchetti msi.
  • Quando si eseguono gli strumenti di aggiornamento di Outlook o Exchange, gli appuntamenti sono disattivati per un'ora su cassette postali in cui il fuso orario è ora solare Nuova Zelanda

    Questo comportamento si verifica quando il aretrue gli scenari seguenti:
    • È possibile eseguire gli strumenti di aggiornamento di Outlook o Exchange in un computer che esegue Windows Vista.
    • Il fuso orario delle cassette postali da aggiornare è ora solare Nuova Zelanda.
    Per ovviare a questo problema, è necessario eseguire il orExchange Outlook update strumenti contro le cassette postali una seconda volta o dopo il 1 gennaio 2008.

    Questo comportamento si verifica perché Windows Vista gestisce ora zoneinformation in modo diverso rispetto alle altre versioni di Windows. Se non si esegue theOutlook o strumenti di aggiornamento di Exchange nuovamente o dopo il 1 gennaio 2008, allappointments in un secondo evento DST sarà disattivato di un'ora. Il secondo DSTevent include le date dal 16 marzo 2008 il 6 aprile 2008.

    In caso di notwant di attesa fino al 1 gennaio 2008 per aggiornare gli appuntamenti nel secondo DSTevent, è possibile eseguire Outlook o Exchange aggiorna strumenti da un computer che isrunning Windows XP o Windows Server 2003.
  • Una data nel formato gg/MM/AAAA è modificata nel formato mm/aaaa

    È possibile impostare l'opzione Data di Patch del sistema operativo nello strumento di aggiornamento del calendario di Exchange. Quando si esegue questa operazione, lo strumento di aggiornamento calendario di Exchange non funziona correttamente. Questo problema si verifica perché il formato della data gg/MM/AAAA viene modificato in M/AAAA.

    Inoltre, nel log degli errori viene registrato un messaggio di errore analogo al seguente:
    [28/02/2008 7:10:21 AM][776]: wmain: Impossibile leggere la configurazione - errore 0x80070057.
    Questo problema si verifica a causa di un'impostazione dell'opzione corretta nella sezione delle cassette postali di esempio riportato di seguito.Serverfile 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 
    Si noti che la riga "SystemPatchDate" contiene la data "2/28/08". Questa data deve essere nel formato MM/GG/AAAA.

    Per ovviare a questo problema, non utilizzare l'opzione Data di Patch del sistema operativo .
Riferimenti

Lo script "Concedi autorizzazioni cassetta postale"

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

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 941018 - Ultima revisione: 12/22/2014 22:20:00 - Revisione: 2.0

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

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