Come affrontare il passaggio all'ora legale utilizzando lo strumento di aggiornamento del calendario di Exchange

Traduzione articoli Traduzione articoli
Identificativo articolo: 941018 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

INTRODUZIONE

Ora legale Ŕ un sistema per impostare gli orologi in anticipo modo che si verificano Aurora e tramonto a un'ora successiva. L'effetto Ŕ pi¨ legale alla sera. Molti paesi osservano l'ora legale. Maggior parte di questi paesi hanno le proprie norme e regolamenti l'ora legale inizia e termina.

Possono modificare le date dell'ora legale (DST) dall'anno per anno. Necessario aggiornare Outlook relative agli utenti di Microsoft Outlook calendario ogni volta che cambiano le regole dell'ora legale. Le date tra il precedente Le regole dell'ora legale e le regole dell'ora legale corrente vengono definite nel presente articolo il "periodo dell'ora legale esteso".

In questo articolo vengono descritte le azioni che si pu˛ richiedere all'indirizzo elementi del calendario di Outlook che si verificano durante l'estesa Periodo dell'ora legale. In questo articolo descrive anche le azioni da prendere per aggiornare gli elementi del calendario memorizzati in Microsoft Exchange Server in base al le nuove regole dell'ora legale. La soluzione presentata in questo articolo prevede la Microsoft Exchange calendario Update Tool ("lo strumento Exchange").

Per ulteriori informazioni su come preparare le modifiche apportate all'ora legale in 2007 (DST 2007) per tutti i prodotti Microsoft interessati, visitare il seguente Sito Web Microsoft:
http://support.microsoft.com/gp/cp_dst
Il governo russo ha adottato nel 2011, un diritto per annullare l'ora legale (DST). Per ulteriori informazioni, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/gp/cp_dst#tab0
Per ulteriori informazioni in russo, visitare il seguente sito Web Microsoft:
http://support.microsoft.com/gp/cp_dst/RU#tab0

Informazioni

Informazioni sullo strumento di Exchange

Dopo avere installato gli aggiornamenti dell'ora legale per Microsoft Windows, tutti i vecchi gli appuntamenti che si verificano durante i periodi di modifica dell'ora legale sarÓ in modo non corretto visualizzato come un'ora in un secondo momento in corso. Ci˛ vale per entrambi ricorrente e appuntamenti a istanza singola. ╚ necessario aggiornare questi appuntamenti in modo che essi verranno visualizzati correttamente in Outlook, nel Microsoft Office Outlook Web Access e nelle applicazioni che si basano su Collaboration Data Objects (CDO).

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

Per ulteriori informazioni sull'aggiornamento dei dati di fuso orario Strumento, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo di Microsoft Articolo della Knowledge Base:
931667Come affrontare le modifiche apportate all'ora legale nel 2007 utilizzando lo strumento di aggiornamento dei dati di fuso orario per Microsoft Office Outlook
Lo strumento di aggiornamento del calendario di Exchange ("di Exchange strumento") consente di evitare le difficoltÓ che gli amministratori nella distribuzione lo strumento Outlook ampiamente a tutti gli utenti e di garantire che ciascun utente esegue il Lo strumento di Outlook correttamente.

Descrizione generale dello strumento di Exchange

Lo strumento di Exchange Ŕ costituito da due file eseguibili distinti. Questi Nella tabella seguente vengono descritti i file.
Riduci questa tabellaEspandi questa tabella
Nome del fileDescrizione
Msextmz.exe Questo file eseguibile estrae il fuso orario informazioni dalle cassette postali su un server che esegue Exchange Server. In questo file eseguibile vengono aggiornati anche i calendari di cassetta postale per un elenco specifico di utenti.
Msextmzcfg.exe Questo file eseguibile Ŕ una strumento di configurazione che consente di eseguire la maggior parte dei passaggi coinvolti nella l'aggiornamento di un server di Exchange Server.

Relativo alla nuova versione dello strumento di Exchange

In base al feedback dei clienti, Ŕ stato di una nuova versione dello strumento di Exchange rilasciato il 13 agosto 2007. In questo articolo si riferisce alla nuova versione del Strumento di Exchange. Se si esegue una versione precedente dello strumento di Exchange, Per disinstallare e installare la nuova versione.

La nuova versione di lo strumento di Exchange include i seguenti miglioramenti:
  • L'estrazione di fuso orario e i processi di aggiornamento del calendario sono possibile velocizzare fourfold.
  • L'interfaccia utente per lo strumento di configurazione Ŕ pi¨ semplice e intuitivo.
  • La possibilitÓ di aggiornare la risorsa e sale riunioni le cassette postali Ŕ ora incorporata nello strumento di configurazione.
  • La possibilitÓ di aggiornare le cassette postali degli utenti Ŕ ora incorporata nel strumento di configurazione.
  • Un documento sulla risoluzione dei problemi Ŕ ora incluso con il Lo strumento di Exchange e si Ŕ integrato nello strumento di configurazione.
  • L'algoritmo di estrazione del fuso orario e la gestione degli errori Consente di migliorare le funzionalitÓ.
  • Il processo di registrazione Ŕ pi¨ semplice da usare.

Rischio di eseguire lo strumento di Exchange

Quando si esegue lo strumento di Exchange, sussiste il rischio che appuntamenti a istanza singola non possono essere aggiornati correttamente. Ad esempio, appuntamenti a istanza singola che un utente creato quando il sistema operativo Ŕ stato aggiornato maggio venga aggiornato correttamente.

Per ridurre questo rischio, utilizzare uno dei i seguenti metodi:
  • Ridurre l'intervallo tra l'ora in cui si aggiorna i computer client e l'ora che si aggiorna il calendario della cassetta postale.
  • Se il computer dell'organizzazione sono stati aggiornati molto tempo fa, utilizzare il Aggiornare solo le riunioni ricorrenti l'impostazioneImpostazioni avanzate.

    In genere, non creare utenti appuntamenti a istanza singola molti mesi di anticipo. Di conseguenza, se l'ora legale gli aggiornamenti sono stati installati molti mesi prima, la maggior parte delle riunioni a istanza singola che cadono nel lungo periodo di ora legale sarÓ stata creata utilizzando il nuovo Regole di transizione dell'ora legale. Queste riunioni debbano essere aggiornati.
  • Se si conosce l'esatta data in cui tutti i computer client sono state aggiornate, utilizzare il Data di Patch del sistema operativo l'impostazioneImpostazioni avanzate. Se viene specificata una data, a istanza singola gli appuntamenti creati dopo tale data non vengono aggiornati mediante lo scambio strumento.
Nota Se si esegue lo strumento di Outlook o lo strumento di Exchange su un computer client computer che esegue Windows Vista e si esegue lo strumento contro le cassette postali Qualora il fuso orario Ora solare Nuova Zelanda, Ŕ necessario eseguire lo strumento di un seconda volta o dopo il 1 gennaio 2008. Per ulteriori informazioni, vedere la nota" "sezione relativa ai problemi.

Opzioni per l'aggiornamento delle cassette postali

Nella tabella seguente sono elencati cinque opzioni che Ŕ possibile utilizzare per l'aggiornamento cassette postali degli utenti di utilizzare le regole di fuso orario all'ora legale 2007.
Riduci questa tabellaEspandi questa tabella
OpzioneProfessionisti ITSvantaggi
Distribuire lo strumento di Outlook per ciascun utente e quindi indicare agli utenti di aggiornare le proprie cassette postali. Questa opzione consente di evitare il rischio che Ŕ associato con l'esecuzione dello strumento di Exchange. ╚ difficile garantire che tutti gli utenti verranno eseguito lo strumento di Outlook corretta ed una tempestiva modo.

Gli utenti che non dispongono di Outlook sarÓ in grado di eseguire il Strumento di Outlook.

╚ necessario effettuare un ulteriore sforzo educativo per ridurre la confusione per gli utenti.
Eseguire lo strumento di Exchange Server e utenti tutti gli interessati. Questa opzione fornisce un'esperienza semplificata per gli utenti. Sussiste il rischio associato con l'esecuzione dello strumento di Exchange, come descritti nella sezione "Rischio di esecuzione dello 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 viene aggiornato in modo errato. Sono svantaggi derivanti dall'uso di eseguire lo strumento di Outlook combinato con svantaggi derivanti dall'uso dell'esecuzione dello strumento di Exchange.
Eseguire lo strumento di Exchange nÚ lo strumento di Outlook. Chiedere agli utenti per esaminare i relativi calendari e re-book gli appuntamenti in base alle esigenze. In questo opzione si evita il rischio associato con l'esecuzione dello strumento di Exchange. A meno che non tutti gli utenti re-book interessati tutti gli appuntamenti, alcuni del calendario gli elementi 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 per ciascun utente e quindi indicare agli utenti di aggiornare le proprie cassette postali. Quindi, utilizzare la modalitÓ di estrazione del fuso orario del lo 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 consente di ridurre il rischio che utenti non esegue lo strumento in modo tempestivo e si evita il rischio associato con l'esecuzione dello strumento di Exchange. Questa non Ŕ un'opzione, se gli utenti esegue Microsoft Office Outlook 2007.

Come installare lo strumento di Exchange

Lo strumento di aggiornamento del calendario di Exchange Ŕ disponibile per il download nel forma di un file eseguibile autoestraente (Msextmz.exe). Questo strumento Ŕ disponibile per il download dall'area Download Microsoft:

Riduci l'immagineEspandi l'immagine
Download
Download il pacchetto di strumento di aggiornamento del calendario di Exchange a questo punto.

Una macchina virtuale viene creata per aiutarti installare e utilizzare lo strumento di Exchange. 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 in Microsoft Virtual Server 2005 R2.

Per ulteriori informazioni sulla macchina virtuale per lo strumento di aggiornamento del calendario di Exchange, scegliere il numero dell'articolo riportato di seguito per visualizzare l'articolo della Microsoft Knowledge Base:
933185Una macchina virtuale Ŕ disponibile per la distribuzione all'ora legale 2007 gli aggiornamenti del calendario in un'organizzazione di Exchange
Per ulteriori informazioni su come scaricare il supporto tecnico clienti Microsoft i file, fare clic sul numero dell'articolo riportato di seguito per visualizzare l'articolo di Microsoft Articolo della Knowledge Base:
119591 Come ottenere file di supporto Microsoft dai servizi in linea
Microsoft analizzati in questo file per individuare eventuali virus. Microsoft ha utilizzato al meglio anti-virus corrente che era disponibile alla data che il file Ŕ stato registrato. Il file viene salvato su server con protezione avanzata che consentono di impedire modifiche non autorizzate per il file.

Lingue supportate dallo strumento di Exchange

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

Versioni di Exchange Server che sono 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Ó eseguito sulle versioni a 32 bit dei seguenti sistemi operativi:
  • 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 il client e server i computer vengono aggiornati correttamente. A tale scopo, installare l'aggiornamento di Windows all'ora legale in i client e server. Per ulteriori informazioni informazioni, fare clic sul numero dell'articolo riportato di seguito per visualizzare il corrispondente articolo della Della Microsoft Knowledge Base:
942763Aggiornamento cumulativo dei fusi orari del dicembre 2007 per i sistemi operativi Microsoft Windows

Se si esegue Microsoft Exchange Server 2003 Service Pack 2 (SP2), installare uno o entrambi i seguenti aggiornamenti, come per l'organizzazione del caso:
  • Aggiornamento 911829
  • Aggiornamento 924334
Per ulteriori informazioni su questi aggiornamenti, fare clic sul numero dell'articolo riportato di seguito Per visualizzare gli articoli della Microsoft Knowledge Base:
911829Viene visualizzato un 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 all'interno di Gerusalemme, centrali Brasiliano o fuso orario e Sud America, leggere le indicazioni fornite nel articolo della Microsoft Knowledge Base riportato di seguito:

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

Verificare i requisiti di sistema

╚ necessario eseguire lo strumento di Exchange solo su un computer per il quale il le seguenti condizioni sono vere:
  • Il computer ha Microsoft Office Outlook 2003 Service Pack 2 (SP2) o Microsoft Office Outlook 2007 installato.
  • Il computer Ŕ lo strumento di dati di Outlook fuso orario installato.
  • Microsoft.NET Framework versione 2.0 viene installato nel computer client.
Non Ŕ possibile eseguire lo strumento di Exchange in un computer che esegue Exchange Server o gli strumenti di gestione di Exchange. Se si tenta di installare lo strumento di Exchange in un computer che esegue Exchange Server o lo scambio Strumenti di gestione del sistema, 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 gli altri requisiti utente

Verificare che le seguenti condizioni sono vere:
  • Gestire le autorizzazioni di archivio informazioni a ogni scambio Database dei messaggi server (MDB) vengono aggiornati.
  • Sono le autorizzazioni Invia come per tutte le cassette postali aggiornato.
  • Sono le autorizzazioni di accesso alla cassetta postale complete per tutte le cassette postali aggiornato.
  • Vengono concesse autorizzazioni di amministratore locale sul computer che esegue lo strumento di Exchange.

Relative allo script "Concessione dell'autorizzazione di cassette postali"

╚ possibile utilizzare lo script di esempio GrantMailboxPermission.vbs per concedere un utente di dominio completo alle cassette postali e le autorizzazioni Invia come a tutti cassette postali.

Questo script pu˛ essere eseguito solo da un Exchange Server amministratore a un computer che esegue Exchange 2000 Server o Exchange Server 2003. Questo script non pu˛ essere eseguito su un computer che esegue Exchange Server 2007. Tuttavia, Ŕ possibile utilizzare Exchange Management Shell per concedere il autorizzazioni necessarie.

Viene fornito il codice dello script vbs nel Sezione "Riferimenti". Nella tabella seguente vengono descritte le due modalitÓ in cui il esecuzione dello script.
Riduci questa tabellaEspandi questa tabella
ModalitÓComandoDescrizione
Aggiungi Indicazione CScript GrantMailboxPermission.vbs Nome_dominio \ USER_NAME File_Name Questo comando consente di concedere il Nome_dominio \ USER_NAME utente accesso completo alle cassette postali e le autorizzazioni Invia come per le cassette postali degli utenti sono elencati nell'input file.

Il file di input deve essere un file di testo che contiene le versioni precedenti nomi di dominio di cassette postali degli utenti. Tali nomi devono essere delimitati da trasporto Return + linea Feed (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 \ USER_NAME utente a cui Ŕ concesso accesso. Non eliminare questo file. Questo file viene utilizzato in modalitÓ di rimozione.

Se l'impostazione esplicita "Nega" l'accesso viene assegnato all'utente, lo script le informazioni vengono registrate in un file denominato "GrantMailboxPermission.err". Il lo script non verrÓ concedere o modificare le autorizzazioni.

Se l'utente fa parte un gruppo di protezione che Ŕ stato assegnato "Nega" l'accesso, concede lo script Autorizzazioni di accesso alle cassette postali e Invia come complete. Tuttavia, l'utente sarÓ in grado Per accedere alla cassetta postale. Tutti gli errori verranno registrati nel File GrantMailboxPermission.err.
Rimuovi Viene CScript GrantMailboxPermission.vbsQuesto comando rimuove l'accesso completo alle cassette postali e Invia come autorizzazioni per le cassette postali che figurano nell'elenco di GrantMailboxPermission.log dalla cartella Nome_dominio \ USER_NAME utente. Il Nome_dominio \ USER_NAME utente specificato nel File GrantMailboxPermission.log.
Note
  • Quando si esegue lo script nel computer in cui Ŕ in esecuzione Exchange Server, lo script restituisce un carattere punto (.) quando lo script Consente di elaborare correttamente un utente. Lo script restituisce un punto esclamativo Quando lo script non elabora correttamente un utente di caratteri (!).
  • Il file di output della modalitÓ di estrazione di fuso orario non pu˛ essere utilizzato come file di input per questo script. Per creare il file di input per questa creare uno script, incollare il contenuto del file di output di modalitÓ di estrazione di fuso orario in Il blocco note, salvare il contenuto come un nuovo documento e quindi utilizzare il nuovo documento come il file di input.

Come utilizzare lo strumento di Exchange

Per utilizzare lo strumento di Exchange, avviare l'aggiornamento del calendario di Exchange Strumento di configurazione (Msextmzcfg.exe). Questo programma consentirÓ l'intera 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 del i calendari. Il processo di estrazione del fuso orario esamina le proprietÓ e i appuntamenti dei calendari delle cassette postali per determinare i fusi orari. Per eseguire il ora il processo di estrazione di zona, attenersi alla seguente procedura:
  1. Nella pagina iniziale, fare clic su Successivo.

    Nota La pagina di benvenuto viene introdotto lo strumento di configurazione e vengono descritte le autorizzazioni necessarie per eseguire lo strumento. La pagina anche fornisce un collegamento al presente articolo.
  2. Specificare le impostazioni per lo strumento di configurazione. Abbiamo consiglia di assegnare almeno 200 megabyte (MB) di spazio su disco registrazione.

    Se si desidera modificare le impostazioni predefinite, fare clic suImpostazioni avanzate. Per ulteriori informazioni su Avanzate le impostazioni, vedere la tabella che segue questa procedura.
  3. Selezionare i server di Exchange in Active Directory locale foresta del servizio che si desidera aggiornare. Quindi, fare clic suSuccessivo Per avviare il processo di estrazione del fuso orario.

    Nota Se giÓ stato eseguito estrazione fuso orario, Ŕ possibile ignorare Questo passaggio facendo clic su Skip.

    Si noti che lo stato barra di un collegamento per il log di output e una visualizzazione in tempo reale del fuso orario vengono visualizzati il processo di estrazione. Dopo il fuso orario Ŕ il processo di estrazione al termine, fare clic su Successivo.

    Se si sono verificati errori, un viene visualizzato il collegamento al documento sulla risoluzione dei problemi.
  4. Configurare il Cassette postali non prevede alcun orario Zone pagina e quindi scegliere Successivo Per eseguire la scansione calendario elementi.

    Nota Se lo strumento rileva che gli utenti che non dispongono di proprietÓ a livello di cassetta postale che indicano il fuso orario, viene eseguita la scansione degli appuntamenti e riunioni effettive all'interno di quelle calendari per determinare il fuso orario. ╚ possibile specificare il numero degli elementi del calendario tramite la quale si desidera che lo strumento di configurazione per l'analisi. Il maggiore il numero di elementi specificato dall'utente, pi¨ tempo richiederÓ l'analisi.
  5. Nel Risoluzione schermo di fusi orari sconosciuti nomi pagina, verrÓ chiesto di eseguire il mapping di fusi orari che esegue lo strumento non in grado di riconoscere un fuso orario conosciuta del sistema operativo. Dopo questa operazione, fare clic suSuccessivo
  6. Se lo strumento di configurazione rileva che gli utenti che dispongono di pi¨ per i fusi, viene chiesto di risolverlo manualmente specificando una fuso orario con cui si desidera aggiornare il calendario dell'utente. Dopo questa operazione, fare clic suSuccessivo.
  7. Nel Salva DNs delle cassette postali con tempi non risolti Zone pagina, tutti gli altri utenti ancora non abbiano alcun fuso orario le informazioni o che dispongono ancora di informazioni sul fuso orario in conflitto vengono registrati nel un file di log separato. Fare clic su Successivo.
Il processo di estrazione del fuso orario Ŕ stato completato. L'elenco dei gli utenti e dei fusi orari estratti si trova nel file di output (output. txt) nella la directory di installazione.

Impostazioni avanzate

Nella tabella seguente vengono descritte le impostazioni avanzate che Ŕ possibile configurare nel passaggio 2 della procedura precedente.
Riduci questa tabellaEspandi questa tabella
ImpostazioneFunzionalitÓScenarioConsiderazioniCampo d'applicazione
Aggiornare le riunioni ricorrentiIn questo modificare impostazione aggiornamenti unicamente le riunioni ricorrenti che riguardano l'ora legale. Appuntamenti a istanza singola che rientrano nel lungo periodo di ora legale non sono aggiornati indipendentemente dal fatto deve essere aggiornati.Se i computer l'organizzazione sono stati aggiornati tanto tempo fa, utilizzare questa impostazione.

In genere, gli utenti non creare appuntamenti a istanza singola molti mesi di anticipo. Di conseguenza, se gli aggiornamenti dell'ora legale sono stati installati molti mesi prima, la maggior parte delle riunioni a istanza singola che possono essere suddivise nell'ora legale esteso periodo sarÓ stata creata utilizzando le nuove regole di transizione dell'ora legale. Questi le riunioni debbano essere aggiornati.
Se un utente ha creato un'istanza singola riunione molti mesi di anticipo, la riunione non viene aggiornata se questa impostazione Ŕ specificato.Questa impostazione viene applicata a tutte le cassette postali, per tutte le conferenze sale e a tutti i calendari di utente.
Installazione delle Patch del sistema operativo DataQuesta impostazione specifica che single-instance appuntamenti che vengono creati o aggiornati dopo la data specificata non Ŕ aggiornato.Se si conosce la data esatta quando sono stati tutti i computer client aggiornamento, utilizzare questa impostazione.

Quando tale funzione, le riunioni che sono create dopo l'installazione dell'aggiornamento non vengono aggiornati. Rientrano in queste riunioni con le nuove regole di fuso orario.
Questa impostazione Ŕ effettiva solo quando il i computer client sono stati tutti aggiornati all'interno di meno di 24 ore e non esiste penetrazione elevata dell'aggiornamento. (╚ disponibile la penetrazione elevata quando la percentuale dei computer all'interno dell'organizzazione che sono state aggiornate si trova in alto intervallo al 90%.)

Inoltre, gli amministratori possono specificare solo uno Data di aggiornamento. Riunioni che vengono create in fusi orari che corrispondono a Aggiorna e a specifici gruppi di time zone devono essere aggiornate.

Le implicazioni per le sale sono che aggiornate solo conferenza sale si trovano in fusi orari specifici.

Le implicazioni per l'utente le cassette postali Ŕ che, se il SuppressExchange l'impostazione o il SuppressAll impostazione non viene specificata, solo cassette postali degli utenti che appartengono allo specifico intervallo di tempo le zone vengono aggiornate.
Questa impostazione si applica a tutte le cassette postali, per tutte le sale conferenze e a tutti i calendari di utente.
SuppressExchange e MaxDepthQueste impostazioni consentono di tutti gli appuntamenti in un calendario dell'utente che sono interessati dalla modifica dell'ora legale per essere aggiornati indipendentemente Indica se l'utente Ŕ l'organizzatore di tali elementi di calendario.

Se il 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 Exchange cassette postali.

Il MaxDepth impostazione specifica il livello di espansione della lista di distribuzione viene eseguita per determinare quali partecipanti dispongono di cassette postali di Exchange e i partecipanti non lo sono.
Utilizzare questa impostazione se non si desidera che gli utenti di Exchange per ricevere gli aggiornamenti delle riunioni da Organizer per riunioni sono interessate da un lungo periodo di ora legale.

Il SuppressExchange impostazione Ŕ migliore di quella del SuppressAll nel caso in cui l'organizzazione ha non di Exchange Sistemi di calendario del server e se le riunioni vengono pianificate per includere i partecipanti che sono esterni all'organizzazione.
Vengono inviati gli aggiornamenti delle riunioni, ad eccezione di per gli utenti non di Exchange. Di conseguenza, per rendere sicuri che copia della stessa riunione vengono aggiornati per tutti i partecipanti possibili, tutte le cassette postali nell'organizzazione devono essere aggiornati.

Questa condizione potrebbe aumentare notevolmente il numero di cassette postali che devono essere aggiornate. Di conseguenza, potrebbero essere tempi di elaborazione Ŕ aumentato.

Quando le dimensioni, le liste di distribuzione nidificati sono sul partecipante elenco, Ŕ un processo costoso per determinare i partecipanti a una riunione e a determinare se i partecipanti dispongono di cassette postali di Exchange. Se si specifica questa l'impostazione e impostare un valore elevato per il MaxDepth parametro, un notevole carico pu˛ essere immessi nel dominio controller.
Questa impostazione viene applicata solo alle cassette postali degli utenti.
SuppressAllQuesta impostazione, tutti gli appuntamenti nel calendario dell'utente che sono interessati dall'ora legale cambiano in modo da aggiornati indipendentemente se l'utente Ŕ l'organizzatore di tali calendario elementi.

Se l'utente Ŕ l'organizzatore di un elemento del calendario, gli aggiornamenti sono non viene inviato ai partecipanti.
Utilizzare questa impostazione se non si desidera che i partecipanti ricevere gli aggiornamenti delle riunioni dagli organizzatori delle riunioni sono interessate dalla vulnerabilitÓ di periodo dell'ora legale esteso.Gli aggiornamenti delle riunioni vengono inviati. Di conseguenza, per rendere Verificare che le copie della stessa riunione vengono aggiornate per tutti i partecipanti possibili, Ŕ necessario aggiornare tutte le cassette postali dell'organizzazione.

╚ possibile che questa condizione aumenta significativamente il numero di cassette postali che devono essere aggiornate. Di conseguenza, i tempi di elaborazione possono essere aumentati.

Partecipanti che non venga sono effettuate le cassette postali di Exchange non ricevono gli aggiornamenti. Il mandato non pu˛ essere aggiornamento, in base al sistema di posta elettronica che sono in esecuzione e in base alla le azioni che accetta l'amministratore.
Questa impostazione viene applicata solo per le cassette postali degli utenti.

Aggiornamento per sale riunioni e cassette postali delle risorse

╚ necessario aggiornare sale riunioni e cassette postali delle risorse per evitare conflitto di prenotazione. A tale scopo, attenersi alla seguente procedura:
  1. Nel Specificare risorse e la sala riunioni Calendari Digitare o incollare l'elenco degli alias delle sale all'interno dell'organizzazione. Fare clic su Risolvere per convalidare gli alias e quindi fare clic su Successivo.
  2. Nel Risolvere i fusi orari per risorse e Calendari di sala conferenze pagina, verrÓ chiesto di manualmente Se non si verifica la sala conferenze, specificare il fuso orario per una sala riunioni disporre di un fuso orario. Eseguire questa operazione e quindi fare clic su Successivo.
  3. Viene visualizzata una pagina di promemoria per ricordare all'utente che lo strumento Ŕ l'aggiornamento di calendari. Fare clic su Successivo.
  4. Si noti che una barra di stato, un collegamento all'output della registrazione, e un visualizzazione in tempo reale dell'output dello strumento vengono visualizzati. Fare clic suSuccessivo.

    Se si verificano errori, un collegamento per il risoluzione dei problemi del documento viene visualizzato nella parte inferiore della pagina.

Aggiornare il calendario della cassetta postale utente

A tale scopo, attenersi alla seguente procedura:
  1. Nel Impostazioni per l'aggiornamento delle cassette postali utente Calendari pagina, configurare le impostazioni per l'aggiornamento.

    If non Ŕ stato specificato il SuppressExchange oppureSuppressAll le impostazioni avanzate, selezionare i fusi orari sono risentono dell'ora legale. In caso contrario, selezionare tutti i fusi orari.

    Fare clic suSuccessivo.
  2. Viene visualizzata una pagina di promemoria per ricordare all'utente che lo strumento Ŕ l'aggiornamento di calendari. Fare clic su Successivo.
  3. Si noti che una barra di stato, un collegamento all'output della registrazione, e un visualizzazione in tempo reale dell'output dello strumento vengono visualizzati. Al termine dell'aggiornamento al termine, fare clic su Successivo.

    Se si verificano errori, un nella parte inferiore di questo viene visualizzato il collegamento al documento sulla risoluzione dei problemi pagina.
  4. Fare clic su Fine.

Lo scambio di file registro dell'utilitÓ e le sottodirectory

File di registro

Lo strumento di Exchange crea i seguenti file di registro nel directory di installazione:
  • Output. txt

    Questo file contiene un elenco di tutte le cassette postali degli utenti che sono stati estratti con le informazioni sul fuso orario.
  • TimeZoneExtraction.log

    Questo registro contiene l'output combinato del fuso orario processo di estrazione per tutti i server.
  • ResourceUpdate.log

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

    Questo registro contiene l'output combinato dell'utente processo di aggiornamento delle cassette postali per tutti i server.
  • CalendarScan.log

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

    Questo registro contiene un elenco di utenti che hanno in conflitto fusi orari. Ad esempio, la proprietÓ delle cassette postali degli utenti indicano che essi appartengono a pi¨ fusi orari.
  • NonExistent.txt

    Questo registro contiene un elenco di utenti che non dispongono di alcun fuso orario informazioni.

Sottodirectory

Lo strumento di Exchange crea le seguenti sottodirectory nel 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. Questa directory contiene 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 che sono stati Aggiornamento completato.
    Nota Tutte le sottodirectory di lavoro contengono questi file.

    Il Sottodirectory risorsa contiene anche le sottodirectory seguente:
    • File di registro

      Questa sottodirectory contiene i registri di aggiornamento per ogni cassetta postale che sono state aggiornate. Ogni registro di aggiornamento deve contenere un elenco di riunioni sono state aggiornate.
  • Server_name

    Non vi Ŕ una sottodirectory per ogni server in cui Ŕ stato eseguito il processo di estrazione del fuso orario o di un aggiornamento del calendario. Queste sottodirectory contengono le seguenti sottodirectory:
    • CalendarScan

      Questa Ŕ la sottodirectory di lavoro per l'analisi del calendario processo.
    • Estrarre

      Questa Ŕ la sottodirectory di lavoro per il fuso orario processo di estrazione.
    • Aggiornamento

      Questa Ŕ la sottodirectory di lavoro per la cassetta postale dell'utente processo di aggiornamento. Sono presenti nella sottodirectory seguente:
      • File di registro

        Questa sottodirectory contiene i registri di aggiornamento per ogni cassetta postale che sono state aggiornate. Ogni registro di aggiornamento deve contenere un elenco di riunioni sono state aggiornate.

Che cosa fare dopo aver eseguito lo strumento di Exchange

Dopo aver eseguito lo strumento di Exchange in Exchange tutte le i server nel proprio ambiente, applicare gli aggiornamenti di Exchange Server DST appropriati. Nell'elenco che segue Ŕ organizzato per versione Exchange Server e service pack livello. Installare gli aggiornamenti per la versione di Exchange Server in ordine.

Exchange Server 2007
940006 Descrizione dell'aggiornamento cumulativo 4 per Exchange Server 2007
Include l'aggiornamento cumulativo 4 per Exchange Server 2007 le seguenti correzioni all'ora legale:
  • 937656 Dopo l'ora legale (DST) viene avviato in Nuova Zelanda nel 2007, si verificano problemi in Outlook Web Access per Exchange 2007
  • 932561 Gli appuntamenti che vengono inviati da un'organizzazione di Exchange a altro mediante l'utilizzo di Exchange 2007 potrebbero non essere corretti di un'ora se un'organizzazione Ŕ nel fuso orario dell'Australia occidentale
Exchange Server 2003 Service Pack 2
926666 Aggiornamento per le modifiche apportate all'ora legale nel 2007 relativo a Exchange 2003 Service Pack 2
931915 Aggiornamento per le modifiche apportate all'ora legale in Terranova nel 2007 per Exchange Server 2003 Service Pack 2
929895 Gli appuntamenti che vengono scambiati tra diverse organizzazioni di Exchange Server potrebbero essere errati di un'ora quando une delle organizzazioni Ŕ nel fuso orario dell'Australia occidentale
937653 Al termine del periodo di ora legale Nuova Zelanda modifiche nel 2007 che si verifichino uno o pi¨ problemi nel 2003 Exchange Server
Exchange Server 2003 SP1
940123 Si verificano problemi in Exchange 2003 Service Pack 1 dopo l'ora legale (DST) viene avviato in Nuova Zelanda nel 2007

Problemi noti

  • Le riunioni ricorrenti che vengono create in Outlook Web Access non vengono aggiornate dallo strumento di Exchange

    Se si installano gli aggiornamenti di Exchange Server nel Prima di aggiornare riunioni sono ricorrenti le cassette postali di Exchange server creato in Outlook Web Access non vengono aggiornati mediante lo strumento di Exchange.

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

    Per visualizzare correttamente gli elementi del calendario, Ŕ necessario riavviare i servizi di Exchange dopo aver eseguito lo strumento di Exchange per Outlook Web Access in Exchange 2007.
  • Non Ŕ possibile installare lo strumento di Exchange

    Lo strumento di Exchange non viene installato correttamente si verifica una delle seguenti chiavi del Registro di sistema:
    • HKEY_CLASS_ROOT\Outlook.Application.9
    • HKEY_CLASS_ROOT\Outlook.Application.10
    In questo scenario, viene visualizzato il seguente messaggio di errore Quando si tenta di installare lo strumento di Exchange:
    Exchange Server Lo strumento riassegnazione del calendario non pu˛ essere installato con questa versione di Microsoft In Outlook.
    Per aggirare questo problema, eliminare queste chiavi del Registro di sistema, installare lo strumento di Exchange e quindi ripristinare il Registro di sistema chiavi.

    Importante Questa sezione, metodo o attivitÓ sono contenute procedure attenersi alla procedura descritta per modificare il Registro di sistema. Tuttavia, pu˛ causare seri problemi se si modifica il Registro di sistema in modo non corretto. Assicurarsi pertanto di attenersi alla seguente procedura con attenzione. Per una 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 informazioni su come eseguire il backup e ripristinare il Registro di sistema, fare clic sul seguente articolo sul numero dell'articolo della Microsoft Knowledge Base:
    articolo 322756 Come eseguire il backup e ripristinare il Registro di sistema in Windows
  • C'Ŕ un limite al numero di cassette postali che possono essere elaborati per ogni server

    In modalitÓ elenco degli utenti e in modalitÓ di estrazione di fuso orario Msextmz.exe Ŕ in grado di elaborare solo 65.535 cassette postali su un server. Se il server ha pi¨ di 65.535 cassette postali, alcune cassette postali non vengono elaborate.
  • Calendari di cartelle pubbliche non vengono aggiornati.

    Lo strumento di Exchange non aggiorna la cartella pubblica calendari. 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 dispone di giÓ stato non aggiornato mediante lo strumento di Outlook o viceversa, si verifica nessun lato effetti. Tuttavia, se si esegue lo strumento di Exchange, non Ŕ necessario per gli utenti eseguire lo strumento di Outlook separatamente.
  • Promemoria della riunione non vengono visualizzati in un secondo momento rispetto al previsto

    Promemoria della riunione non per le cassette postali che vengono aggiornati da lo strumento di Exchange non vengono aggiornati se Outlook non Ŕ mai connessa alla cassetta postale in modalitÓ in linea. In questo caso, i promemoria vengono visualizzati un'ora successiva a quella previsto.

    Se Outlook non Ŕ mai connessa in modalitÓ in linea, Ŕ necessario regolare i promemoria per gli appuntamenti del calendario non corretti che lo strumento di Outlook Consente di trovare. Inoltre, la cartella di ricerca promemoria inesistente nella cassetta postale. Pertanto, lo strumento non aggiornare elementi di posta elettronica, contatti o altri promemoria.

    Ad esempio, lo strumento non viene aggiornato il promemoria per un elemento di posta elettronica per il follow-up in un momento nel futuro. Lo strumento non aggiornare anche il promemoria per un elemento di attivitÓ che dispone di un promemoria.
  • Viene visualizzato un messaggio di errore: "Impossibile installare le versioni precedenti di"Tool di aggiornamento del calendario di Microsoft Exchange"sono stati rilevati. Disinstallare li ed eseguire nuovamente l'installazione"

    Se in precedenza Ŕ stato installato Aggiornamento calendario Exchange Strumento per la versione 1.0, Ŕ necessario disinstallare questa versione prima di installare Exchange Calendario Update Tool versione 2.0.

    Strumento di aggiornamento del calendario di Exchange versione 1.0 Ŕ stato distribuito come file eseguibile autoestraente contenente due pacchetti. msi (Msextmz.msi e Msextmzcfg.msi). ╚ necessario disinstallare entrambi pacchetti prima di installare la versione 2.0 dello strumento di Exchange.

    Se si si verificano ancora 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. Scopo Ci˛ tramite pacchetti msi anzichÚ tramite il Aggiungere o rimuovere Programmi funzionalitÓ nel Pannello di controllo. Riavviare il computer, e quindi installare la versione 2.0 dello strumento di Exchange.

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

    Questo comportamento si verifica quando sono i seguenti scenari True:
    • ╚ possibile eseguire gli strumenti di aggiornamento di Outlook o Exchange in un computer che esegue Windows Vista.
    • Il fuso orario locale delle cassette postali in corso aggiornato Ŕ ora solare Nuova Zelanda.
    Per aggirare il problema, Ŕ necessario eseguire Outlook o Strumenti di aggiornamento Exchange contro le cassette postali di una seconda volta o dopo il gennaio 1, 2008.

    Questo comportamento si verifica perchÚ Windows Vista gestisce il fuso orario scopo di informazioni in modo diverso rispetto a quelle di altre versioni di Windows. Se non si esegue il Outlook o Exchange aggiorna strumenti nuovamente o successivamente al 1o gennaio 2008, tutti i gli appuntamenti nel secondo evento all'ora legale sarÓ entro un'ora. Il secondo dell'ora legale evento include le date dal 16 marzo 2008 il 6 aprile 2008.

    In caso contrario aspettare fino al 1o gennaio 2008 per aggiornare gli appuntamenti al secondo dell'ora legale evento, Ŕ possibile eseguire gli strumenti di aggiornamento di Outlook o Exchange da un computer in cui Ŕ con Windows XP o Windows Server 2003.
  • Una data nel formato gg/MM/aaaa viene modificata nel formato gg/mm/aaaa

    ╚ possibile impostare il Data di Patch del sistema operativo opzione nello scambio Strumento di aggiornamento del calendario. Al termine, lo strumento di aggiornamento del calendario di Exchange non funziona correttamente. Questo problema si verifica perchÚ il formato della data gg/MM/aaaa viene modificato in M/aaaa.

    Inoltre, un messaggio di errore analogo al messaggio di errore riportato di seguito viene registrato nel log degli errori:
    [28/02/2008 7: 10: 21 AM] [776]: wmain: non Ŕ riuscito a leggere la configurazione - errore 0x80070057.
    Questo problema si verifica a causa di un'impostazione dell'opzione corretta nella sezione delle cassette postali di esempio che segue.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 dovrebbe essere nel formato gg/MM/aaaa.

    Per aggirare il problema, non utilizzare il Patch del sistema operativo Data opzione.

Riferimenti

Lo script "Concessione dell'autorizzazione di cassette postali"

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Ó

Identificativo articolo: 941018 - Ultima modifica: mercoledý 19 ottobre 2011 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi:á
kbhowto kbinfo kbmt KB941018 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 941018
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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