Impossibile inviare messaggi di posta elettronica da un dispositivo mobile o da una cassetta postale condivisa in Exchange 2000 Server e Exchange Server 2003

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

In questa pagina

Sintomi

Quando si tenta di inviare un messaggio di posta elettronica di Microsoft Exchange 2000 Server o in Microsoft Exchange Server 2003, è possibile inviare messaggi di posta elettronica messaggio. Inoltre, potrebbe essere visualizzato uno dei seguenti messaggi di errore o uno dei seguenti rapporti di mancato recapito (NDR).

Messaggi di errore

  • Accesso negato
  • Non si dispone di autorizzazioni sufficienti Per eseguire questa operazione su questo oggetto. Contatto per la cartella o del sistema amministratore.
  • Messaggio non in elenco Errore
  • MAPI_E_NO_ACCESS -2147024891
  • Impossibile inviare il messaggio di posta per l'utente nomeutente (HRESULT: -2147024891) interruzione dell'utente nomeutente. (Errore di protezione- Impossibile accedere alla cassetta postale degli utenti.)
  • Risorsa non Trovato
Nota Viene visualizzato il messaggio di errore "Accesso negato" o "risorsa messaggio di errore non trovato"da Microsoft Outlook Web Access quando è connessi come un delegato account.

Rapporti di mancato recapito

  • Non si dispone dell'autorizzazione necessaria per inviare il messaggio al destinatario. Per assistenza, rivolgersi all'amministratore di sistema.
  • Impossibile inviare il messaggio utilizzando la cassetta postale. È possibile eseguire non dispone dell'autorizzazione per l'invio del messaggio per conto dell'utente specificato.

Prodotti interessati

Questo problema è noto riguarda il terzo seguente prodotti:
  • Research In Motion (RIM) BlackBerry Enterprise Server (BES)
  • Buona Wireless GoodLink di tecnologia di messaggistica
Questo problema può interessare anche personalizzata MAPI o dati di collaborazione Objects (CDO)-applicazioni che inviano messaggi di posta elettronica.

Altri prodotti di terze parti che utilizzano gli account di servizio per l'invio di messaggi di posta elettronica possono anche interessati. Se si esegue un prodotto di terze parti è interessato da questa il problema, si consiglia di contattare il fornitore per informazioni sulla risoluzione di questo problema.

Tuttavia, è stato confermato che il terzo seguente i prodotti non sono interessati da questo problema:
  • Cisco Unity di messaggistica unificata
  • Ricerca Suite di migrazione per Exchange
  • L'utilità Microsoft ExMerge per Exchange

Cause

Questo problema può verificarsi se una delle seguenti condizioni è true:
  • Non si dispone delle autorizzazioni per l'invio di messaggi di posta elettronica come il proprietario della cassetta postale nell'account che si utilizza per inviare messaggi di posta elettronica messaggio.
  • In esecuzione Microsoft Exchange 2000 Server Service Pack 3 (SP3) con una versione del file Store. exe è uguale a o successiva alla versione 6619.4. Versione 6619.4 prima è stata resa disponibile nel seguente Microsoft Articolo della Knowledge Base:
    915358 È disponibile un hotfix per modificare il comportamento dell'autorizzazione accesso completo alle cassette postali in Exchange 2000 Server
  • Esecuzione di Microsoft Exchange Server 2003 SP1 con una versione del file Store. exe è uguale o successiva alla versione 7233.51.
  • Esecuzione di Exchange Server 2003 SP2 con una Store. exe versione del file è uguale a o versione successiva alla versione 7650.23. Versione 7650.23 Innanzitutto è stata resa disponibile nel seguente Microsoft Knowledge Base articolo:
    895949 Modifica di comportamento dell'autorizzazione "Invia come" in Exchange 2003
    Questa modifica non è inclusa in Exchange Server 2003 SP2. Se si esegue la versione Exchange Server 2003 SP1 del file Store. exe che include la modifica e l'aggiornamento a Exchange Server 2003 SP2, è necessario installare la versione di Service Pack 2 di questo aggiornamento rapido per mantenere il nuovo comportamento. Questa modifica verrà inclusa in Microsoft Exchange Server 2003 SP3.

PROBLEMI DI PROTEZIONE

Prima le versioni del file Store. exe che figurano nell'elenco di Sezione, concedere l'autorizzazione di accesso completo alle cassette postali è consentito implicitamente "causa" autorizzazione per l'invio come proprietario della cassetta postale. Ciò significava che un altro account ha l'accesso completo alle cassette postali autorizzazione può inviare messaggi di posta elettronica che sembravano come sono stati inviati dal proprietario della cassetta postale.

Molti Microsoft Exchange i clienti hanno richiesto che l'autorizzazione Invia come essere separato dalla versione completa Autorizzazione di accesso delle cassette postali per due motivi seguenti:
  • Per scoraggiare lo spoofing di posta elettronica.
  • Per assicurarsi che messaggi di posta elettronica inviati da un delegato può sempre essere chiaramente distinguibili dai messaggi di posta elettronica inviati il proprietario effettivo della cassetta postale.
Tutte le nuove versioni dell'archivio di Exchange verranno ora richiede esplicitamente l'autorizzazione Invia come per l'invio di messaggi di posta elettronica come proprietario della cassetta postale. Tuttavia, di seguito sono elencate le tre eccezioni requisito:
  • L'account del proprietario della cassetta postale non richiede esplicita Invia come autorizzazioni per la propria cassetta postale.
  • L'Account esterno associato di una cassetta postale non richiedere autorizzazioni esplicite.
  • Un account delegato che dispone di accesso completo alle cassette postali autorizzazione non richiede autorizzazioni esplicite.
Per ulteriori informazioni su queste eccezioni, vedere più" Sezione "Informazioni".

Risoluzione

Tutti gli account che vengono concesso l'accesso parziale o completo a una cassetta postale, ad eccezione di quelli menzionati nella sezione "Cause", devono ora essere concesso esplicitamente l'autorizzazione Invia come per l'account del proprietario della cassetta postale per inviare posta elettronica come proprietario della cassetta postale. Inclusi gli account di servizio di applicazione di eseguire funzioni quali l'invio di messaggi di posta elettronica per gli utenti di dispositivi mobili.

L'autorizzazione Invia come si applica l'identità di un oggetto utente di Active Directory, non al contenuto delle cassette postali che vengono memorizzati in un database. Di conseguenza, è necessario concedere l'autorizzazione Invia come all'account di servizio su ogni oggetto utente proprietario di una cassetta postale. Quando vengono inviati messaggi di posta elettronica, non vengono inviati da un database o cassetta postale specifica, ma da un utente. L'utente può essere proprietario della cassetta postale o qualsiasi altro account che disponga dell'autorizzazione Invia come.

Non è possibile concedere l'autorizzazione Invia come su un server che esegue Exchange Server o su un oggetto di database e ottenere l'effetto di concedere l'autorizzazione Invia come per tutte le cassette postali nel database. Concessione dell'autorizzazione Invia come su un oggetto di database di Exchange fornisce l'autorizzazione per il database stesso. L'autorizzazione viene ereditata da tutte le cassette postali nel database. Tuttavia, esso non concedere l'autorizzazione per gli utenti che dispongono di autorizzazioni Invia come e che dispongono di cassette postali nel database.

Nota Concessione dell'autorizzazione Ricevi come su un database di Exchange è il equivalente funzionale di concedere l'autorizzazione di accesso completo alle cassette postali per tutti cassette postali nel database. Questo è diverso da quello di invio Come autorizzazione.

Come concedere le autorizzazioni Invia come per un account

Concedere in modo esplicito un altro account l'autorizzazione per l'invio di una cassetta postale proprietario, attenersi alla seguente procedura:
  1. Avviare la gestione di Active Directory Users and Computers console.
  2. Nel Visualizzazione menu, assicurarsi che ilFunzionalità avanzate opzione è selezionata. Se questa opzione non è selezionata, la pagina di protezione non sarà visibile per l'account utente oggetti.
  3. Aprire le proprietà dell'account utente che possiede il cassetta postale.
  4. Scegliere il Protezione scheda.
  5. Se l'account non è già nell'elenco gruppo o utente i nomi, aggiungere l'account deve disporre dell'autorizzazione Invia come per questo utente.
  6. Nel Autorizzazioni Selezionare il Consentono di "Invia come" autorizzazione per l'account appropriato.
  7. Fare clic su OK.
  8. Riavviare il servizio Archivio informazioni di Microsoft Exchange il server di Exchange interessato.
Nota Se non si riavvia l'archivio informazioni di Microsoft Exchange servizio, il servizio Archivio informazioni di Microsoft Exchange aggiornerà la memorizzare nella cache le autorizzazioni per creare il nuovo autorizzazioni effettive in base al valore impostato nella seguente sottochiave del Registro di sistema:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

Nome valore: Mailbox Cache Age Limit
Tipo di valore: REG_DWORD
Radice: decimale
Dati valore: Il limite di età della cache informazioni delle cassette postali in minuti.
Il valore predefinito per questa voce del Registro di sistema è 120 minuti (due ore). Se si modifica questa voce del Registro di sistema, è necessario riavviare Microsoft Servizio Archivio informazioni di Exchange.

Nota Se si impostano i valori di timeout su un valore molto basso, può sulle prestazioni del server.

Come concedere l'autorizzazione Invia come per più account

Alla fine di questo articolo che eseguirà la ricerca un dominio del servizio Active Directory per gli account che dispongono dell'autorizzazione di accesso completo alle cassette postali senza l'autorizzazione Invia come per una cassetta postale viene fornito un esempio di script. Queste sono le caratteristiche di un account di servizio o risorsa che saranno interessati da questa modifica protezione. Lo script è in grado di generare un file di esportazione che è possibile esaminare, modificare e quindi reimportare per concedere l'autorizzazione Invia come per gli account che richiedono tale autorizzazione.

È inoltre possibile concedere l'autorizzazione Invia come mediante ereditarietà su ogni oggetto utente in un dominio Active Directory o in un contenitore. Se si concede l'autorizzazione Invia come da questo metodo, è possibile concedere autorizzazioni per gli oggetti che non si intendeva. Inoltre, si potrebbero perdere le autorizzazioni per gli oggetti che vengono spostati dal contenitore. Di conseguenza, questo metodo non è consigliato e potrebbe avere implicazioni di protezione che devono essere considerate con attenzione prima di implementarlo.

Se si concede l'autorizzazione Invia come utilizzando questo metodo, è possibile che gli account che hanno ereditato l'autorizzazione Invia come diventeranno invisibili allo script che fa riferimento alla fine dell'articolo. Per l'elaborazione di questi account utilizzando lo script in un secondo momento, è necessario rimuovere prima l'autorizzazione Invia come ereditata.

Per concedere l'autorizzazione Invia come per un singolo account su tutti gli account utente in un dominio di Active Directory o un contenitore utilizzando l'ereditarietà, attenersi alla seguente procedura:
  1. Avviare la gestione di Active Directory Users and Computers console.
  2. Nel Visualizzazione menu, assicurarsi che ilFunzionalità avanzate opzione è selezionata. Se questa opzione non è selezionata, la pagina di protezione non sarà visibile per dominio e contenitore oggetti.
  3. Aprire le proprietà del dominio o del contenitore, quindi Fare clic sulla pagina di protezione.
  4. Fare clic su Avanzate.
  5. Se l'account che richiede l'autorizzazione non è elencato, Fare clic su Aggiungere, quindi selezionare l'account. In caso contrario, fare doppio clic su l'account per la modifica.
  6. Nel Si applica a Fare clic suOggetti utente.
  7. Concedere l'autorizzazione Invia come account.
  8. Fare clic su OK fino a quando non è stato chiuso e salvato tutte le modifiche.

Regole speciali per gli account protetti da adminSDHolder

Se si utilizza lo script per concedere l'autorizzazione Invia come per un proprietario di cassetta postale è anche un amministratore di dominio, l'autorizzazione Invia come non sarà efficacia. È consigliabile che non della cassetta postale abilitare gli account utente che dispone dei diritti di amministratore di dominio o che sono protetti da adminSDHolder.

L'oggetto adminSDHolder è un modello per gli account che dispongono di ampi diritti amministrativi di Active Directory. Per evitare un'elevazione involontaria dei privilegi, qualsiasi account protetto dall'oggetto adminSDHolder deve disporre di autorizzazioni che corrispondono a quelli elencati nell'oggetto adminSDHolder stesso.

Se si modificano i diritti o le autorizzazioni sull'oggetto adminSDHolder per un account protetto, un'attività in background annullerà la modifica entro alcuni minuti. Ad esempio, se si concede l'autorizzazione Invia come su un oggetto di amministratore di dominio per un account di servizio applicativo, l'attività in background verrà automaticamente revocare l'autorizzazione.

Di conseguenza, è possibile concedere l'autorizzazione Invia come a un account di servizio di applicazione per un account protetto dall'oggetto adminSDHolder , a meno che non si modifica l'oggetto adminSDHolder . Se si modifica l'oggetto adminSDHolder , si modificherà le autorizzazioni di accesso per tutti gli account protetti. È consigliabile modificare l'oggetto adminSDHolder solo dopo un'analisi completa delle implicazioni di protezione che possono verificarsi con la modifica.

Per associare una cassetta postale con un account che è protetto dall'oggetto adminSDHolder , attenersi alla seguente procedura:
  1. Avviare la gestione di Active Directory Users and Computers console.
  2. Nel Visualizzazione menu, assicurarsi che ilFunzionalità avanzate opzione è selezionata. Se questa opzione non è selezionata, la pagina di protezione non sarà visibile per gli oggetti account utente.
  3. Creare un account utente ordinario che funga dalla cassetta postale proprietario.
  4. Assegnare all'account utente ordinario una cassetta postale di Exchange Server.
  5. Aprire le proprietà dell'account del proprietario della cassetta postale.
  6. Nel Impostazioni avanzate di Exchange casella, concedere il Autorizzazione di accesso alla cassetta postale completa per amministratore protetto account.
  7. Nella pagina Protezione concedere l'autorizzazione Invia come per il account amministratore protetto.
  8. Fare clic su OK Per chiudere le proprietà del oggetto proprietario di cassetta postale.
  9. Pulsante destro del mouse l'oggetto account del proprietario della cassetta postale e quindi Fare clic su Disabilita Account Per disattivare l'account per tutti gli accessi.
Per ulteriori informazioni su protetti da adminSDHolder gli account, fare clic sui numeri degli articoli della Microsoft Knowledge Base riportato di seguito:
907434"Invia come" diritto viene rimosso da un oggetto utente dopo aver configurato il diritto "Invia come" in Active Directory Users e Computers snap-in Exchange Server
318180 Thread AdminSDHolder influisce sui membri transitivi dei gruppi di distribuzione
817433 Le autorizzazioni delegate non sono disponibili e l'ereditarietà viene disattivata automaticamente
306398 l' Oggetto AdminSDHolder influisce sulla delega del controllo per gli account amministratore precedenti

Attività speciali per BlackBerry Enterprise Server

Attività 1: Assicurarsi che BlackBerry Enterprise Server è in esecuzione come account separati, univoci

Assicurarsi che BlackBerry Enterprise Server è in esecuzione con un Separare account creato appositamente per le attività amministrative. Da impostazione predefinita, questo account è denominato "BESAdmin".

Se si dispone di una separata conto per l'amministrazione di BlackBerry Enterprise Server, passare all'attività 2.

Se non si dispone di un conto separato, è possibile creare un conto separato. Quindi, utilizzare questo account per eseguire attività amministrative. Per istruzioni su come effettuare questa operazione se si esegue BlackBerry Enterprise Server 4.0 o BlackBerry Enterprise Server 4.1, vedere la Guida all'installazione di BlackBerry Enterprise Server.  Per istruzioni su come effettuare questa se si esegue BlackBerry Enterprise Server 3.6, vedere l'installazione di BlackBerry Enterprise Server 2000/2003 e la Guida introduttiva.

Operazione 2: Assicurarsi che l'account del servizio BlackBerry Enterprise Server disponga delle autorizzazioni appropriate

Verificare che l'account del servizio BlackBerry Enterprise Server le autorizzazioni appropriate.

Nota Se l'account è in un dominio, assicurarsi che l'account è un membro del gruppo Domain Users. In un controller di dominio, l'account deve essere membro del gruppo Administrators.
  1. BlackBerry Enterprise Server, attenersi alla seguente procedura:
    1. Assicurarsi che l'account sia un membro locale Gruppo Administrators.
    2. Assegnare "Accesso locale" e "Accesso come servizio" autorizzazioni all'account.
  2. Le autorizzazioni di amministratore di concedere Exchange solo visualizzazione al livello di gruppo amministrativo. A tale scopo, attenersi alla seguente procedura:
    1. In Gestore di sistema di Exchange destro del mouse, il primo Exchange Server nome del gruppo amministrativo e quindi fare clic su Delegato Controllo.
    2. Si noti che il servizio BlackBerry Enterprise Server account è elencato con il ruolo di amministratore di Exchange solo visualizzazione.
  3. Concedere "Invia come," "Ricevi come" e "amministrare le informazioni Archivio"autorizzazioni a livello di server per ogni server di Exchange. Per eseguire In questo caso, attenersi alla seguente procedura:
    1. In Gestore di sistema di Exchange destro del mouse, il primo Exchange Server nome del gruppo amministrativo e quindi espandere il Server gruppo.
    2. Il pulsante destro di un server di Exchange, fare clic su Proprietà, quindi fare clic su Protezione.
    3. Nel riquadro superiore selezionare l'organizzazione di BlackBerry Account di servizio del server. Nel riquadro inferiore assicurarsi che il "Invia come", "Ricevi come" e "Amministrazione dell'archivio informazioni" autorizzazioni sono impostate su Consentire.
    4. Ripetere i passaggi 3b e 3c per ogni scambio Server.
  4. Concedere "Invia come," "Ricevi come" e "amministrare le informazioni Archivio"autorizzazioni per l'archivio delle cassette postali. A tale scopo, attenersi alla seguente procedura:
    1. In Gestore di sistema di Exchange destro del mouse, il primo Nome del gruppo amministrativo di Exchange e quindi espandere il Server gruppo.
    2. Espandere il primo gruppo archivio cassette postali, ciascuno destro archivio di cassette postali, fare clic su Proprietà, quindi fare clic su Protezione.
    3. Nel riquadro superiore selezionare l'organizzazione di BlackBerry Account di servizio del server. Nel riquadro inferiore assicurarsi che il "Invia come", "Ricevi come" e "Amministrazione dell'archivio informazioni" autorizzazioni sono impostate su Consentire.
    4. Ripetere i passaggi 4b e 4c per ogni archivio di cassette postali su ogni Exchange server.
  5. Nello snap-in Active Directory Users and Computers, attenersi alla seguente procedura:
    1. Pulsante destro del mouse dell'utente che si desidera aggiungere le autorizzazioni per e quindi fare clic su Proprietà.
    2. Nel Protezione scheda, aggiungere il Account del servizio blackBerry Enterprise Server e quindi fare clic per selezionare il Invia come casella di controllo.
Se non si eseguono Exchange Server 2003, vedere attività 3.

Attività 3: Cancellare la cache in BlackBerry Enterprise Server

Per cancellare la cache delle autorizzazioni nell'archivio di Exchange, riavviare i servizi correlati a Blackberry e riavviare le informazioni di Microsoft Exchange Archivio. Dopo aver riavviare l'archivio di Exchange, è necessario riavviare i servizi correlati a RIM Blackberry per concedere all'account "BESAdmin" appena aggiunto Invia come autorizzazione per l'archivio di Exchange.

Informazioni

Divisione delle autorizzazioni di accesso di Exchange cassette postali e cartelle tra i database di Active Directory e Microsoft Exchange. Tuttavia, entrambi i tipi di autorizzazioni vengono impostate nella console di gestione utenti di Active Directory, ma autorizzazioni differenti vengono memorizzate in due percorsi distinti.

In generale, Se un'autorizzazione viene impostata nella pagina protezione per un oggetto, è attivo Autorizzazione di directory. Se è impostato su Exchange Advanced Mailbox Rights pagina, è un'autorizzazione di database di Exchange.

L'attributo di Active Directory msExchMailboxSecurityDescriptor è una copia di backup di un sottoinsieme dei diritti di cassetta postale effettiva. Esso viene utilizzato internamente da Exchange per diversi scopi. Inoltre, l'attributo msExchMailboxSecurityDescriptor viene aggiornato in modo da corrispondere diritti effettivi correnti se gli amministratori utilizzano interfacce supportate per assegnare i diritti. Tuttavia, se l'attributo msExchMailboxSecurityDescriptor viene modificato direttamente da un amministratore, le modifiche non saranno propagate all'archivio di Exchange e le modifiche non avranno effetto. Non è garantito da sincronizzare con i diritti delle cassette postali. Si non utilizzare l'attributo msExchMailboxSecurityDescriptor per leggere o scrivere autorizzazioni cassetta postale.
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
310866Come impostare i diritti di cassetta postale Exchange Server 2003 ed Exchange 2000 Server su una cassetta postale esistente nell'archivio informazioni

L'autorizzazione di accesso completo alle cassette postali è un Autorizzazione dell'archivio di Exchange database. L'autorizzazione Invia come è attivo Autorizzazione di directory. Prima che le modifiche di file Store. exe di Exchange sono viene descritto in questo articolo, il sistema di Exchange non inviava notifiche l'impostazione per l'autorizzazione Invia come se il mittente disponeva già di accesso completo alle cassette postali autorizzazione.

L'inclusione dell'autorizzazione Invia come con il Completa dell'autorizzazione di accesso alle cassette postali ha consentito agli amministratori di server di Exchange di concedere a se stessi autorizzazioni Invia come effettive per qualsiasi cassetta postale su un server che amministrato. Da separazione dell'autorizzazione Invia come dall'autorizzazione accesso completo alle cassette postali Gli amministratori di Active Directory possono ora bloccare questo processo perché Invia come autorizzazione è un'autorizzazione di Active Directory e non un archivio di Exchange autorizzazione. Di conseguenza, il processo non è necessariamente sotto il controllo di Amministratori di Exchange.

Proprietari di cassette postali

Proprietario di cassetta postale è definito come l'account utente di Active Directory quale attributo msExchMailboxGUID esegue l'identificatore univoco globale (GUID) per una determinata cassetta postale. È consentito un solo account di un'intera foresta eseguire il GUID per una determinata cassetta postale. Se si tenta di impostare un secondo proprietario con il GUID stesso, Active Directory rifiuterà la modifica con un errore.

Quando si cassetta postale di abilitare un account o quando ci si connette un disconnessa cassetta postale a un account di Active Directory, il GUID di cassetta postale viene automaticamente impostata tale account. È raramente necessario o consigliato per gli amministratori impostare direttamente i GUID di cassetta postale.

Account esterni associati

Una configurazione comune, Exchange viene installato in un insieme di strutture di risorse. Un insieme di strutture risorsa è un insieme di strutture in una foresta diversa dagli account utente che dispongono di cassette postali nel sistema. Ciò presenta un problema perché l'attributo msExchMailboxGUID può essere impostata solo su oggetti nell'insieme di strutture di Exchange server.

Per risolvere questo problema è per abilitare un account nell'insieme di strutture di Exchange server. Quindi, è possibile collegare questa cassetta postale conto di un altro insieme di strutture o in un dominio di Microsoft Windows NT 4. È possibile Per eseguire questa operazione mediante la concessione dell'autorizzazione Account esterno associato. Una sola account può essere concessa l'autorizzazione di Account esterno associato. L'account vale a dire selezionata deve essere compreso tra un insieme di strutture diversi.

Quando si imposta l'associati Autorizzazione Account esterno, si scrive il valore del SID per l'esterno conto per l'attributo msExchMasterAccountSID del proprietario della cassetta postale. Di conseguenza, questo non è un autorizzazione a tutti, ma un modo pratico per controllare il valore dell'attributo msExchMasterAccountSID . Dopo aver impostato l'attributo msExchMasterAccountSID , l'account esterno che possiede il SID sarà possibile concedere l'accesso di Exchange come se fosse il proprietario effettivo della cassetta postale account.

Nota Questo vale solo per l'accesso di Exchange, non a tutti Accesso ad Active Directory. Inoltre, è necessario contrassegnare il proprietario della cassetta postale account come disattivato per gli accessi dopo aver impostato l'Account esterno associato autorizzazione in modo che tutte le autorizzazioni funzionino come previsto.
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
300456Le autorizzazioni client e le deleghe non persistono dopo l'assegnazione in Exchange 2000

Scenari di delega

Un delegato è un utente che ha ottenuto l'accesso parziale un'altra cassetta postale e il diritto di inviare messaggi di posta elettronica per conto di tale cassetta postale proprietario. In uno scenario tipico è quello di concedere l'accesso come delegato per un assistente amministrativo per il calendario di un dirigente. Il delegato può in genere leggere e aggiornare il calendario. Inoltre, il delegato può rispondere a eventuali messaggi di posta elettronica per conto del dirigente.

Per concedere Invia per conto di e delegare le autorizzazioni, è possibile utilizzare le due seguenti interfacce:
  • Sull'oggetto proprietario di cassetta postale, concedere l'Invia per conto dell'autorizzazione generale Exchange nella finestra di dialogo.
  • In Microsoft Office Outlook, utilizzare il Delegati Nella finestra di dialogo.
Entrambi questi metodi è impostato l'attributo publicDelegates della cassetta postale. Invia per conto dell'autorizzazione del proprietario della cassetta postale dispongano di tutti gli utenti che sono elencati in questo attributo. Quando tali delegati inviano un messaggio di posta elettronica contenente il nome del proprietario del Da casella di messaggio di posta elettronica viene inviato dal delegato e non da o come proprietario della cassetta postale. Il messaggio di posta elettronica Da casella viene visualizzato il seguente valore:
Nome del delegato> per conto diProprietario della cassetta postale>
In alcuni casi, potrebbe essere Impossibile impostare l'attributo publicDelegates in Outlook. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
329622 l'Autorizzazione "Invia per conto di" non è assegnato a un utente dopo la delega dell'accesso in Outlook

Se si concede l'accesso come delegato alla cassetta postale, il delegato può utilizzare l'autorizzazione Invia per conto di anche se non si concede l'accesso a una qualsiasi delle cartelle delle cassette postali. L'autorizzazione fondamentale di un delegato è l'autorizzazione Invia per conto di. Le autorizzazioni di accesso alle cartelle della cassetta postale sono distinte e devono essere concesse in aggiunta alle autorizzazioni di delega. In genere, i delegati utilizzano Outlook per accedere alle singole cartelle a cui si dispongono di autorizzazione. A tale scopo, fare clic su Apri nel File menu di Outlook e quindi fare clic su Cartella di altro utente.

In alternativa, i delegati possono aprire la cassetta postale inserendola come cassetta postale aggiuntiva nel Avanzate scheda della loro profili di Outlook. Questo metodo la cassetta postale venga visualizzato nella struttura di cartelle di Outlook del delegato. Inoltre, Questo metodo consente l'accesso a tutte le cartelle della cassetta postale per il quale un delegato ha concesso le autorizzazioni.

È possibile che il delegato a volte hanno l'autorizzazione Invia per conto di e altre volte il Autorizzazione Invia come. Per configurare un delegato con queste due autorizzazioni, attenersi alla seguente procedura:
  • Concedere al delegato l'autorizzazione di accesso completo alle cassette postali. In questo non può essere eseguita tramite Outlook. In alternativa, è necessario un amministratore di Active Directory questo scopo per l'account del proprietario della cassetta postale. Anche se si concedono autorizzazioni di proprietario in tutte le cartelle della cassetta postale, che non è la stessa autorizzazione la versione completa Autorizzazione di accesso delle cassette postali.
  • Non concedere al delegato l'autorizzazione Invia come. Se si concedere al delegato l'autorizzazione Invia come, tutti i messaggi di posta elettronica inviati da il delegato viene eseguito con l'autorizzazione Invia come. Il delegato sarà Nessun essere più in grado di utilizzare l'autorizzazione Invia per conto di.
In questo scenario, i delegati che si desidera utilizzare l'autorizzazione Invia per conto di devono accedere alle proprie cassette postali. Se i delegati sono risposta o l'inoltro di un messaggio di posta elettronica è già in uno del le cartelle, automaticamente il messaggio di posta elettronica verrà inviato per conto del proprietario. Se il i delegati si creano un nuovo messaggio di posta elettronica per conto dell'utente, è necessario immettere il proprio nome nel Da finestra di messaggio di posta elettronica deve essere inviato il per conto dell'utente.

Indipendentemente dal fatto i delegati aperto le cartelle o l'intera cassetta postale come cassetta postale secondaria, tutti i messaggi di posta elettronica che essi invio da parte dell'utente verrà utilizzate le invia per conto di autorizzazione, purché i propri cassetta postale è la cassetta postale principale per il profilo di Outlook corrente.

Quando i delegati di inviare un messaggio di posta elettronica come si, devono accedere al proprio cassetta postale utilizzando un profilo di Outlook distinto che viene visualizzata solo la cassetta postale. Posta elettronica i messaggi che i delegati inviano mentre sono connessi a questo profilo verrà inviato automaticamente da parte dell'utente.

Individuazione degli account che dispongono dell'autorizzazione di accesso completo alle cassette postali senza l'autorizzazione Invia come

Lo script di esempio descritto in questa sezione può cercare uno Dominio di Active Directory contemporaneamente per gli account utente in cui la cassetta postale piena È stata concessa l'autorizzazione di accesso a una cassetta postale senza l'autorizzazione Invia come.

Importante Prima di modificare le autorizzazioni, vedere il "Sui proprietari delle cassette postali con delegati" sezione.

Lo script ha tre modalità seguenti:
  • Esportazione È possibile creare un elenco di utenti che dispongono di accesso completo alle cassette postali autorizzazione ma non dell'autorizzazione Invia come. È quindi possibile esaminare questo elenco in Il blocco note o un altro editor per rimuovere tutti gli account che non si desidera avere l'autorizzazione Invia come.
  • Importazione È possibile importare un elenco di utenti che dispongono di accesso completo alle cassette postali autorizzazione alla quale deve inoltre essere concessa l'autorizzazione Invia come. Nota che si Impossibile utilizzare questo script per concedere l'autorizzazione di accesso completo alle cassette postali e il Autorizzazione Invia come. Ogni account deve già disporre di accesso completo alle cassette postali autorizzazione sia stata concessa l'autorizzazione Invia come.
  • SetAll È possibile concedere l'autorizzazione Invia come a tutti gli utenti del dominio che già dispongono dell'autorizzazione di accesso completo alle cassette postali per una determinata cassetta postale. A verrà generato il file di registro nello stesso formato di file di esportazione. Si tratta di equivalente in esecuzione le modalità di esportazione e importazione senza modificare il file di esportazione.
Nota In questo script non è presente alcuna funzione di annullamento.

Autorizzazioni necessarie per lo script

È necessario eseguire lo script mentre è connessi con un account amministrativo dallo stesso insieme di strutture che il proprietario della cassetta postale gli account sono di. Lo script potrebbe non funzionare con un account che disponga autorizzazioni amministrative tra insiemi di strutture. Lo script potrebbe anche non funzionare quando si avviata da una workstation che fa parte di una foresta diversa da quella dell'insieme di strutture a cui fanno parte gli account del proprietario di cassetta postale.

Questi dato le condizioni, è possibile eseguire lo script con più account amministrativi in un sessione di accesso singolo utilizzando il comando runas. exe . Questa procedura può essere utile se sono state segmentate le autorizzazioni di Active Directory e Exchange Server, e non si dispone di nessun singolo account possono amministrare tutto o in tutti i server di Exchange Domini di Active Directory. È possibile aprire un prompt dei comandi per eseguire lo script come ogni account amministrativi. Si consideri l'esempio riportato di seguito:
Runas /user: domain\account CMD.EXE
Nota Non è consigliabile eseguire contemporaneamente più copie dello script nello stesso dominio.

I campi nel file di esportazione sono come segue. I campi sono descritti nell'ordine in cui sono presentati nel file di esportazione.
  • Visualizzare il nome dell'account del proprietario della cassetta postale

    Possono esistere più di una riga nell'output del file Elenca lo stesso proprietario di cassetta postale. Questo comportamento si verifica quando più account di altri disporre delle autorizzazioni di accesso completo alle cassette postali per la stessa cassetta postale.
  • Nome di dominio e di accesso di un account che abbia le autorizzazioni di accesso completo alle cassette postali ma non dell'autorizzazione Invia come

    Lo stesso account venga riportato più volte nel il file di esportazione se l'account ha accesso a più cassette postali. Si tratta di potrebbe essere il caso di un account di servizio applicativo o di una persona che ha Consente di gestire più cassette postali delle risorse.
  • Visualizzare il nome di un account che dispone dell'autorizzazione di accesso completo alle cassette postali ma non dell'autorizzazione Invia come

    In questo campo viene fornito al Nome di accessocampo per facilitarne l'identificazione dell'account.
  • Stato delegato del proprietario della cassetta postale

    Se il proprietario della cassetta postale dispone di delegati, il valore del campo èDispone di delegati. Se il proprietario della cassetta postale non dispone di alcun delegati, il valore del campo è No Delegati.
  • Attivate o disattivato lo stato dell'account del proprietario della cassetta postale

    Questo campo è utile quando si desidera identificare risorse account o delle cassette postali tra insiemi di strutture. In genere, questi account sono disattivato.
  • Nome distinto completo dell'account del proprietario della cassetta postale

    Questo campo è utile quando si desidera identificare il dominio e il contenitore dell'account del proprietario della cassetta postale.
  • Nome distinto completo del database delle cassette postali del proprietario della cassetta postale

    In questo campo contiene il database, il gruppo di archiviazione, il il server e il gruppo amministrativo per la cassetta postale.
Nell'esempio riportato di seguito, l'utente che ha il nome di accesso "NoSendAs" dispone dell'autorizzazione di accesso completo alle cassette postali ma non invia come autorizzazione per la cassetta postale "Mailbox Owner":
"" "Mailbox Owner" "" "" "Domain\NoSendAs" "" "" "No inviare come utente" "" "" "Has Delegates" "" "" "Enabled" "" [altri campi omessi]

Configurazione della workstation amministrativa per lo script

Questo script utilizza le interfacce di gestione di Exchange per comunicare con i server di Exchange. Di conseguenza, questo script deve essere eseguito da un Exchange Server o da una workstation con l'amministratore di sistema di Exchange installato.

Modifica del file di esportazione

Il file di esportazione è formattato come testo normale Unicode in modo che set di caratteri di più lingue possono essere adattati. Alcuni editor di testo potrebbe non essere possibile visualizzare o modificare il file correttamente o il file venga salvato come ANSI o testo ASCII. Il blocco note per Windows Server 2003, Windows XP e Microsoft Windows 2000 è in grado di gestire correttamente testo Unicode file. Inoltre, Microsoft Office Excel è in grado di gestire correttamente testo Unicode file.

Il file di output è in un formato delimitato da tabulazione con triplo racchiudere tra virgolette i valori per ogni campo. Le virgolette triple vengono utilizzati per effettuare l'importazione e l'esportazione da Excel più deterministico. In Excel, le virgolette triple diventerà virgolette singole e sarà ripristinare triple quando il file viene salvato nuovamente come testo Unicode. Vedere le istruzioni seguenti per aprire e salvare un file di esportazione in correttamente Excel.

È inoltre possibile filtrare un file di esportazione senza utilizzare Excel mediante l'utilità Find. exe o Findstr. exe. Queste utilità sono incluso in Windows. Essi consentono di eseguire la ricerca di parole in un file e output solo le righe contenenti tali parole o solo le righe che non contengono queste parole. Ad esempio, se si desidera creare un elenco nel file di tutti i proprietari di cassette postali con delegati, utilizzare uno di questi comandi per creare un file che contiene solo le righe con la stringa "Has Delegates":
Find "Has Delegates" OriginalFile. txt > HasDelegates.txt

Findstr. exe /c: "Has Delegates" OriginalFile. txt > HasDelegates.txt
Ad esempio, si supponga di voler escludere tutti i proprietari delle cassette postali con delegati. Il parametro /V restituisce tutte le righe che non corrispondono a parole di ricerca. Si Potete utilizzare uno di questi comandi per generare un file che escluda tutti "dispone di Righe di delegati":
Find. exe "No Delegates" OriginalFile. txt > NoDelegates. txt

Find. exe /V "Has Delegates" OriginalFile. txt > NoDelegates. txt

Findstr. exe /c: "No Delegates" OriginalFile. txt > NoDelegates. txt

Findstr. exe /c: di /V "Has Delegates" OriginalFile. txt > NoDelegates. txt
È inoltre possibile utilizzare questi comandi per generare un file che elenca tutti i conti in cui un account di servizio applicativo è completo L'autorizzazione di accesso delle cassette postali ma non dispone dell'autorizzazione Invia come. L'opzione /I rende il comando senza maiuscole/minuscole:
Find. exe /I "domain\ServiceAccount" OriginalFile. txt > ServiceAccount. txt

Findstr. exe /I /c: "domain\ServiceAccount" OriginalFile. txt > ServiceAccount. txt
Nota Se si utilizza l'utilità Find. exe per generare un file filtrato, è necessario rimuovere le righe di intestazione che l'utilità Find. exe verrà creato nella parte superiore del file.

Scopo non utilizzare nomi di file con caratteri jolly (*. *) con Findstr. Se si utilizzano caratteri jolly, ogni riga nel file di output verrà premesso il nome del file. È necessario Esaminare attentamente il file di output dopo aver filtrato con Find. exe o Findstr. exe per verificare che il filtro acquisiti o escluso gli account che si lo scopo.

Nell'esempio riportato di seguito, l'utente che ha il nome di accesso "NoSendAs" dispone dell'autorizzazione di accesso completo alle cassette postali ma non invia come autorizzazione per la cassetta postale "Mailbox Owner".
"""Mailbox Owner""" """Domain\NoSendAs""" """No Send As User""" """Has Delegates""" """Enabled""" [additional fields omitted] 

Sui proprietari delle cassette postali con delegati

Un delegato che ha accesso completo alle cassette postali (noto anche come un "super delegato") in genere non dovrà essere concesse le autorizzazioni Invia come. Quando il registri di super delegato direttamente alla cassetta postale del proprietario della cassetta postale, il delegato possibile inviare come proprietario. Quando il delegato utilizza (funzionalità di delega di OutlookUlteriori Cassette postali da aprire o Aprire la cartella di altro utente), i messaggi vengono inviati per conto di proprietario.

Concedere l'autorizzazione Invia come a un super delegato solo se si desidera che il delegato sempre inviare come proprietario della cassetta postale e mai di inviare per conto di proprietario della cassetta postale. Si consiglia di eseguire la ricerca del file di esportazione per il testo "ha I delegati,"e quindi determinare se uno qualsiasi dei super i delegati che sono Nell'elenco sono effettivamente delegati della cassetta postale.

Solo super delegati elencati nel file di esportazione. Non dispone di delegati comuni l'autorizzazione di accesso completo alle cassette postali. Inoltre, quando si concede l'autorizzazione Invia come a un delegato comune, il delegato invia sempre come proprietario della cassetta postale. Questo vale anche quando il delegato comune non dispone dell'autorizzazione di accesso completo alle cassette postali. Se si concede le autorizzazioni Invia come a un delegato quando non si intendeva è facilmente possibile revocare l'autorizzazione in un secondo momento.

Come aprire un file di esportazione in Excel

  1. Avviare Excel prima di aprire il file di esportazione.
  2. Aprire il file in Excel come file di tipo testo. Verrà avviata l'importazione guidata testo.
  3. In Importazione guidata testo, modificare o accettare le seguenti operazioni impostazioni:
    • Tipo di dati originale: Delimitati
    • Inizia ad importare alla riga: 1
    • Origine file: Unicode (UTF-8)
    • Delimitatori: Solo per la scheda
    • Considera delimitatori consecutivi come uno: non contrassegnati
    • Qualificatore di testo: "(virgolette doppie)

Come salvare un file di esportazione dopo aver modificato il file in Excel

  1. Nel file di esportazione, fare clic su Salva con nome.
  2. Salvare il file utilizzando un nome diverso, in modo da conservare un copia non modificata del file originale.
  3. Fare clic su File, fare clic su Salva con nome, immettere un nome di file per salvare l'output e quindi fare clic su Testo Unicode nel Salva come tipo elenco.

Sintassi dello script

Si tratta di uno script di modalità di testo e deve essere eseguito in un comando richiesta di finestra, non dal Eseguire Nella finestra di dialogo. Per aprire un comando finestra di richiesta, fare clic su Avviare, fare clic su Eseguire, tipo CMD nel Apri casella e quindi scegliere OK.

Log degli errori e l'esportazione dei file verranno salvati il directory corrente del prompt dei comandi. È necessario disporre delle autorizzazioni necessarie per creare i file Questa directory. Per ottenere informazioni sulla riga di comando, immettere il seguente comando:
CSCRIPT AddSendAs.vbs
Per esportare gli utenti che dispongono dell'accesso completo alle cassette postali senza l'autorizzazione Invia come per un dominio, immettere il seguente comando:
CSCRIPT AddSendAs.vbs [domain controller name] ?Export
Example:
CSCRIPT AddSendAs.vbs CORP-DC-1 ?Export
Come verrà generato il file di esportazione "Send_As_Export_H_MM_SS. txt".

Per importare un file di esportazione modificato, immettere il seguente comando:
CSCRIPT AddSendAs.vbs [domain controller name] ?Import [filename]


Example:


CSCRIPT AddSendAs.vbs CORP-DC-1 ?Import "Send_As_Export_H_MM_SS.txt"

Come concedere l'autorizzazione Invia come per ogni cassetta postale nel dominio per tutti gli utenti che già dispongono dell'autorizzazione di accesso completo alle cassette postali per una cassetta postale

Nota Se si dispone di delegati che dispongono anche l'accesso completo alle cassette postali autorizzazione dell'organizzazione, non deve utilizzare la modalità SetAll. In caso contrario Utilizzare la modalità SetAll in questo caso, ai delegati verrà concessa Invia come autorizzazione. Questo comportamento può creare tutti i messaggi di posta elettronica inviati da utilizzare l'autorizzazione Invia come anziché Invia per conto dell'autorizzazione. È possibile correggere questo comportamento rimuovendo l'autorizzazione Invia come è stato erroneamente concedere al delegato:
CSCRIPT AddSendAs.vbs [domain controller name] ?SetAll


Example:


CSCRIPT AddSendAs.vbs CORP-DC-1 ?SetAll
Se si utilizza la modalità SetAll, sarà un file di esportazione generato Send_As_Export_H_MM_SS. È consigliabile salvare il file perché è è un record di tutti i conti sono stati modificati. Se si esegue il script, non produrrà lo stesso elenco di account perché il account sarebbero già stato concesso l'autorizzazione Invia come.

Gli errori che si verificano durante l'esecuzione di script sarà salvate il file Send_As_Errors_H_MM_SS. Il nome del file di errore corrisponderà timestamp ore_minuti_secondi del file di esportazione associato.

Modifiche dello script

Possono esservi account all'interno dell'organizzazione che dispone delle autorizzazioni per molti oggetti, ma non si desidera modificare le autorizzazioni. Per ridurre il dimensione del file di esportazione, è possibile filtrare questi account modificando la Variabile FMA_EXCLUSIVE_LIST presente nella parte superiore dello script. Da impostazione predefinita, questa variabile consente di elencare alcuni account che dovrebbero essere eliminati nel output dello script. È possibile aggiungere ulteriori account utilizzando il seguente formato.
& "<Domain\Name>" & OUTPUT_DELIMITER
Ad esempio, è possibile modificare il valore della variabile.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER
in modo che venga visualizzata come segue.
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER & "Mydomain\Service1" & OUTPUT DELIMITER
Questa modifica elimina la voce dell'account "Mydomain\Service1" nel il file di esportazione con "NT AUTHORITY\SELF" e "NT AUTHORITY\SYSTEM". Si noti che il valore Domain\Name viene tra maiuscole e minuscole e deve essere esattamente come accade o come avverrebbe nel file di esportazione.

È presente un altro variabile modificabile, FMA_EXCLUSIVE_EXSVC, con il valore predefinito "\Exchange "Servizi & OUTPUT_DELIMITER. "Exchange Services" è il nome di un account che vengono concesse autorizzazioni tramite Active Directory Connector in Exchange Server 5.5 e negli scenari di coesistenza e migrazione di Exchange 2000. Questo account è creato in più domini e risultare più volte nel file di esportazione se non è soppresso.

La variabile FMA_EXCLUSIVE_EXSVC accetta solo un account come valore. Il nome dell'account non è tra maiuscole e minuscole. L'account deve iniziare con un carattere di barra rovesciata (\) e non deve includere il dominio a cui appartiene l'account. L'account verrà eliminato per tutti domini in cui è contenuto.

Se è stata utilizzata la migrazione di terze parti strumenti o metodi di sincronizzazione delle directory, un altro account siano presenti in più domini è ampiamente concesse le autorizzazioni per le cassette postali degli utenti. In questo scenario, è possibile sostituire il nome dell'account "\Exchange Services".

Suggerimenti e avvertenze

  • Non eliminare i file di registro e di errore generati da lo script. Possono essere utili per la risoluzione dei problemi o l'annullamento delle modifiche in un secondo momento. Tenere presente che, non appena si dispone dell'autorizzazione Invia come a un account, non verranno registrato nel file di esportazione.
  • Se un database o un server di Exchange è inattivo, l'elaborazione dello script risulterà più lento. In tal caso, è possibile ordinare il file di esportazione per database e spostare le righe che sono associate a un database interrotto in un file diverso per versioni successive importazione.
  • Lo script Elimina l'output dei conti in cui l'accesso nome termina con "$" o il sistema operativo NT. Questi account di sistema non dovrebbe in genere è necessario inviare come autorizzazione e rimuoverli dal file di esportazione Consente di ridurre notevolmente le dimensioni.
  • Il file di esportazione deve essere in formato Unicode prima di poter essere importati. Se il file è stato accidentalmente salvato come testo ANSI, è possibile Per risolvere questo problema, il caricamento del file nel blocco note e salvarlo come Unicode testo.
  • Se un'importazione non funziona, risolvere i problemi con gli account di prova e una sola riga nel file di importazione. Si consiglia di configurare un test di account dispone di una cassetta postale su un server di Exchange in esecuzione e quindi concedere l'autorizzazione di accesso completo alle cassette postali a un altro account di prova. Non concedere l'autorizzazione Invia come all'account di prova.
  • Non vi è alcuna modalità di annullamento per questo script. Per rimuovere il Invia come autorizzazioni concesse con questo script, è necessario generare un altro script o rimuoverle manualmente. La modalità Annulla non è disponibile per evitare l'utilizzo di questo script per rimuovere le autorizzazioni Invia come per tutti gli utenti in un dell'organizzazione.
  • Lo script non gestisce correttamente un account che disponga stato concesso il controllo completo di un oggetto utente con accesso completo alle cassette postali. Controllo completo include l'autorizzazione Invia come, ma lo script esporterà i account come se non dispone dell'autorizzazione Invia come. Questo può aumentare la dimensione di il file di esportazione, ma non causa problemi viene generato dall'importazione del file e quindi ridondante concessione delle autorizzazioni Invia come a tali account.
  • Account di utente Active Directory che hanno distinti i nomi e che includono schede o virgolette doppie non corrispondenti non può essere elaborati da questo script. Lo script è in grado di elaborare correttamente un nome che sono incluse le virgolette doppie corrispondenti, ad esempio:
    "CN = First"Nickname"Last, DC = domain, DC = com"
  • Ogni versione di Excel supporta un limite per la linea di massima diversi. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
    120596I file di testo con dimensioni superiori a 65.536 righe non possono essere importati in Excel 97, Excel 2000, Excel 2002 ed Excel 2003
    Di seguito sono i limiti di riga per Excel 2003 ed Excel 2007:
    • Righe di Excel 2003: 65.536
    • Righe di Excel 2007: 1.048.576
    Se il file di output è maggiore di questi limiti, è necessario dividere il file in sezioni prima di caricarlo in Excel.
  • Il file Send_As_Errors verrà elencati gli account specifici in cui si è verificato un errore di lettura o di autorizzazioni di scrittura. Se altri conti nel dominio sono stati elaborati correttamente, questi account potrebbero essere in comune un elemento che impedisce l'esecuzione con loro lo script. I problemi comuni includono la seguenti:
    • Mancanza di autorizzazioni amministrative per visualizzare o impostare proprietà sugli account.
    • L'archivio di cassette postali di Exchange non è in esecuzione.
    • La workstation non è un membro dello stesso dominio.
    • L'account amministrativo utilizzato non è dalla stessa foresta.
Per eseguire questo script, copiare e incollare tutte le righe tra BEGIN SCRIPT ed END SCRIPT in un editor di testo come blocco note. Salvare lo script come AddSendAs. vbs. INIZIO DELLO SCRIPT.
Option Explicit

Dim OUTPUT_DELIMITER
OUTPUT_DELIMITER = """""""" & vbTab & """"""""

'Define exclusive list, if FMA is given to any user in this list, it's ignored.  If you 
'want to modify this list, please be sure to follow the same format. Every alias has to 
'have a OUTPUT_DELIMITER before and after it
Dim FMA_EXCLUSIVE_LIST
FMA_EXCLUSIVE_LIST = OUTPUT_DELIMITER & "NT AUTHORITY\SELF" & OUTPUT_DELIMITER & "NT AUTHORITY\SYSTEM" & OUTPUT_DELIMITER
Dim FMA_EXCLUSIVE_EXSVC
FMA_EXCLUSIVE_EXSVC = "\Exchange Services" & OUTPUT_DELIMITER

'Permission Type: Allow or Deny
const ACCESS_ALLOWED_OBJECT_ACE_TYPE  = 5
const ADS_ACETYPE_ACCESS_ALLOWED = &h0
const ADS_ACETYPE_ACCESS_DENIED = &h1

'Flags: Specifies Inheritance
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_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

'output file name
Const EXPORT_FILE = "Send_As_Export"
Const ERROR_FILE = "Send_As_Errors"

' script mode
const MODE_INVALID = -1 
const MODE_SETALL = 0
const MODE_EXPORT = 1
const MODE_IMPORT = 2
const SETALL = "-SETALL"
const EXPORT = "-EXPORT"
const IMPORT = "-IMPORT"

' argument index
Const ARG_INDEX_MODE = 1
Const ARG_INDEX_DC = 0
Const ARG_INDEX_FILENAME = 2

' column index in import/export file
Const COLUMN_INDEX_USERDISPLAYNAME = 0
Const COLUMN_INDEX_FMAALIAS = 1
Const COLUMN_INDEX_FMADISPLAYNAME = 2
Const COLUMN_INDEX_IFPUBLICDELEGATE = 3
Const COLUMN_INDEX_MAILBOXSTATUS = 4
Const COLUMN_INDEX_USERADSPATH = 5
Const COLUMN_INDEX_HOMEMDB = 6

Const EMPTYSTRING = ""
Const STRNO = "No Delegates"
Const STRYES = "Has Delegates" 
Const MIN_ARG = 2
Const INIT_ARRAY_SIZE = 100

' Microsoft Exchange 
Const EX_MB_SEND_AS_ACCESSMASK  = &H00100
Const EX_FULLMailbox_AccessMask = 1
Const MESO = "Microsoft Exchange System Objects"
Const EX_MB_SEND_AS_GUID = "{AB721A54-1E2F-11D0-9819-00AA0040529B}"

Const ForReading	= 1
Const ForWriting	= 2
Const ForAppending	= 8
Const TristateTrue	= -1
Const ADS_SCOPE_SUBTREE = 2

Dim objUser
Dim objSDMailBox
Dim objSDNTsecurity
Dim objDACLNTSD
Dim objNewACE

Dim sTrusteeAlias()
Dim sFMADeniedList
Dim sFMAExplicitAllow
Dim fACESendasFound
Dim dArraySize
Dim TotalACE
Dim i
Dim rootDSE
Dim conn
Dim objCommand
Dim objCmdDisplayName
Dim rsUsers
Dim FoundObject
Dim objFSO
Dim objfileImport
Dim objfileExport
Dim objfileError
Dim sImportFilePath
Dim cScriptMode
Dim dArgCount
Dim dArgExpected
Dim sDCServer
Dim sMailboxStatus
Dim sIfPublicDelegate
Dim sFMAUserDisplayName
Dim sExportFileName
Dim sErrorsFileName
Dim msPublicDelegates
Dim fError
Dim fOneError
Dim fFMAAllowed

On Error Resume Next
dArraySize = INIT_ARRAY_SIZE
ReDim Preserve sTrusteeAlias(dArraySize)

dArgCount = Wscript.Arguments.Count 
If ( dArgCount < MIN_ARG ) Then
	DisplaySyntax
End If

err.Clear
fError = False
fOneError = False
cScriptMode = MODE_INVALID
Select Case UCase(WScript.Arguments(ARG_INDEX_MODE))
	Case SETALL 
		cScriptMode = MODE_SETALL
		dArgExpected = ARG_INDEX_MODE + 1
	Case EXPORT 
		cScriptMode = MODE_EXPORT
		dArgExpected = ARG_INDEX_MODE + 1
	Case IMPORT 
		cScriptMode = MODE_IMPORT
		dArgExpected = ARG_INDEX_FILENAME + 1
	Case Else 
		cScriptMode = MODE_INVALID
End Select
If (cScriptMode = MODE_INVALID Or dArgCount <> dArgExpected) Then
	DisplaySyntax
End If

sDCServer = WScript.Arguments(ARG_INDEX_DC)

CreateOutputFiles

If ( cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT ) Then
	Dim sDomainContainer
	If (cScriptMode = MODE_SETALL) Then
		Dim strInput 
		WScript.StdOut.WriteLine("WARNING: If you continue, each account in the domain that has")
		WScript.StdOut.WriteLine("Full Mailbox Access permission for a given mailbox will also be")
		WScript.StdOut.WriteLine("granted permission to Send As the mailbox owner.")
		WScript.StdOut.WriteLine()
		WScript.StdOut.WriteLine("To preview the list of mailboxes before granting Send As,")
		WScript.StdOut.WriteLine("cancel this operation and use the -Export mode of this script.")
		WScript.StdOut.WriteLine()
		WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")
		strInput = WScript.StdIn.ReadLine()
		If (UCase(strInput) <> UCase("Y")) Then
			WScript.Quit
		End If	
	End If
	
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("""!"" indicates an error processing an object.")
	WScript.StdOut.WriteLine("     Check " & sErrorsFilename)
	WScript.StdOut.WriteLine("Starting...")
	WScript.StdOut.WriteLine()

	err.Clear	
	Set rootDSE = GetObject("LDAP://" & sDCServer & "/RootDSE")
	sDomainContainer = rootDSE.Get("defaultNamingContext")
	WScript.StdOut.WriteLine("Finding domain controller [ " & sDCServer & " ] for domain [ " & sDomainContainer & " ]")
	
	If (err.number <> 0) Then
		WScript.StdOut.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)
		objfileError.WriteLine("Failed to find the domain or domain controller, error:" & err.Description)
		WScript.Quit
	End If
			
	err.Clear	
	Set conn = CreateObject("ADODB.Connection")
	Set objCommand = CreateObject("ADODB.Command")
	conn.Provider = "ADSDSOObject"
	conn.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 objCommand.ActiveConnection = conn
	WScript.StdOut.WriteLine("Searching for mailbox owner user accounts in " & sDomainContainer)
	
	objCommand.CommandText  = "<LDAP://" & sDCServer & "/" & sDomainContainer & ">;(&(&(& (mailnickname=*) (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"
	objCommand.Properties("searchscope") = ADS_SCOPE_SUBTREE
	objCommand.Properties("Page Size") = 100
	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
		WScript.StdOut.WriteLine("Search for mailbox owners failed, error:" & err.Description)
		objfileError.WriteLine("Search for mailbox owners failed, error:" & err.Description)
		WScript.Quit
	End If

	If (rsUsers.RecordCount = 0) Then
		WScript.StdOut.WriteLine("No mailbox owner user accounts could be seen in " & sDomainContainer & ".")
		objfileError.WriteLine("No mailbox owner user accounts found in " & sDomainContainer & ".")
		fError = True		
	End If

	While Not rsUsers.EOF
		If (fOneError = True) Then
			WScript.StdOut.Write("!")
		Else
			WScript.StdOut.Write(".")
		End If
		fOneError = False
		
		'Skip any mailbox object in Microsoft Exchange System Objects container
		If (0 = Instr(rsUsers.Fields(0).Value, MESO)) Then
			err.Clear 
			Set objUser = GetObject(rsUsers.Fields(0).Value)
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to get user object: " & rsUsers.Fields(0).Value)
				objfileError.WriteLine("Error: " & err.Description)
				fError = True
				fOneError = True
				err.Clear
			End If
			Set objSDMailBox = objUser.MailboxRights
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to get mailbox rights: " & rsUsers.Fields(0).Value)
				objfileError.WriteLine("Error: " & err.Description)
				fError = True
				fOneError = True
				err.Clear
			End If
			Set objSDNTsecurity = objUser.ntSecurityDescriptor
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to get NTSD: " & rsUsers.Fields(0).Value)
				objfileError.WriteLine("Error: " & err.Description)
				fError = True
				fOneError = True
				err.Clear
			End If
			
			Set objDACLNTSD = Nothing
			If (objUser.AccountDisabled) Then
				sMailboxStatus = "Disabled"
			Else
				sMailboxStatus = "Enabled"
			End If

			'Query this user's publicDelegates list
			err.Clear 
			msPublicDelegates = objUser.Get("publicDelegates")
			If (err.number <> 0) Then
				'This user doesn't have publicDelegates list set
				sIfPublicDelegate = STRNO
				err.Clear
			Else
				sIfPublicDelegate = STRYES
			End If
			
			err.Clear 			
			FindAllFMAUsers objSDMailBox
			
			If (TotalACE > dArraySize) Then
			'Needs to allocate bigger size array
				dArraySize = TotalACE + 1
				ReDim Preserve sTrusteeAlias(dArraySize)
				FindAllFMAUsers objSDMailBox
			End If
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to query mailbox rights of user: " & rsUsers.Fields(0).Value)
				objfileError.WriteLine("Error: " & err.Description)
				err.Clear
				fError = True
				fOneError = True
			End If
			
			If TotalACE > 0 Then
				Set objDACLNTSD = objSDNTsecurity.DiscretionaryAcl

				For i = 0 to TotalACE - 1 Step 1
					
					'Check if we already have Send As ACE in NT security descriptor
					'If it exists, either allow or deny, we don't need to add send as to it 
					CheckSendAsACE objDACLNTSD, sTrusteeAlias(i)
					
					'Note: deny entries take precedence over allow entries. 
					'If there is FMA deny ACE, skip it even if we find FMA allow ACE 
					IfFMAAllowed(sTrusteeAlias(i) & OUTPUT_DELIMITER)
					If ((fFMAAllowed = True) And (fACESendasFound = 0)) Then
						If cScriptMode = MODE_SETALL Then
							Set objNewACE = CreateObject ("AccessControlEntry")
							objNewACE.AceFlags = 0 
							objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE
							objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 
							objNewACE.Flags = 1
							objNewACE.ObjectType = EX_MB_SEND_AS_GUID
							objNewACE.Trustee = sTrusteeAlias(i)

							objDACLNTSD.AddAce objNewAce
						End If
			
						'Query trustee(FMA user) to get its displayName
						Dim rsTrustee
						Dim objTrustee
						Dim dPosition
						Dim sAlias
					
						dPosition = inStr(1, sTrusteeAlias(i), "\")
						sAlias = mid(sTrusteeAlias(i), dPosition + 1)
				
						Set objCmdDisplayName = CreateObject("ADODB.Command")			
						Set objCmdDisplayName.ActiveConnection = conn
						objCmdDisplayName.CommandText  = "<LDAP://" & sDomainContainer & ">;(&(&(& (mailnickname=" & sAlias & ") (| (&(objectCategory=person)(objectClass=user)(msExchHomeServerName=*)) ))));adspath;subtree"
						objCmdDisplayName.Properties("searchscope") = ADS_SCOPE_SUBTREE
						objCmdDisplayName.Properties("Page Size") = 100
						objCmdDisplayName.Properties("Timeout") = 30 
						objCmdDisplayName.Properties("Chase referrals") = (ADS_CHASE_REFERRALS_SUBORDINATE Or ADS_CHASE_REFERRALS_EXTERNAL)
						
						Set rsTrustee = objCmdDisplayName.Execute				
						Set objTrustee = GetObject(rsTrustee.Fields(0).Value)
						
						If (err.number <> 0) Then
							'Failed to query FMA user's display name, use its alias
							sFMAUserDisplayName = sAlias							
						Else
							sFMAUserDisplayName = objTrustee.displayName							
						End If
	
						'output to export file
						err.Clear
						objfileExport.WriteLine ("""""""" & objUser.displayName & OUTPUT_DELIMITER & sTrusteeAlias(i) & OUTPUT_DELIMITER & sFMAUserDisplayName & OUTPUT_DELIMITER & sIfPublicDelegate & OUTPUT_DELIMITER & sMailboxStatus & OUTPUT_DELIMITER & rsUsers.Fields(0).Value & OUTPUT_DELIMITER & objUser.homeMDB & """""""")
						If (err.number <> 0) Then
							objfileError.WriteLine("User " & rsUsers.Fields(0).Value & " could not be added to the export file. You should set permissions manually for this user.")
							objfileError.WriteLine("Error: " & err.Description)
							err.Clear
							fError = True
							fOneError = True
						End If
						Set objCmdDisplayName = Nothing
						Set rsTrustee = Nothing
						Set objTrustee = Nothing
					End If
				Next
					
				If cScriptMode = MODE_SETALL Then
					err.Clear
					objSDNTsecurity.DiscretionaryAcl = objDACLNTSD
					objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )
					objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL
					objUser.SetInfo
					If (err.number <> 0) Then
						objfileError.WriteLine("Failed to update ADSI for user: " & rsUsers.Fields(0).Value)
						objfileError.WriteLine("Error: " & err.Description)
						err.Clear
						fError = True
						fOneError = True
					End If
				End If

				TotalACE = 0
				Set objSDMailbox = Nothing
				Set objSDNTsecurity = Nothing
				Set objUser = Nothing
				Set objDACLNTSD = Nothing
			End If
		
		End If	
		rsUsers.MoveNext
	Wend
End If

If (cScriptMode = MODE_IMPORT) Then
	Dim sOneRow
	Dim sArraySplit
	Dim objUserItem
	Dim UserPath
	Dim objUserSD
	Dim objUserDACL
	Dim fNeedToAddSendAs
	
	sImportFilePath = WScript.Arguments(ARG_INDEX_FILENAME)

	WScript.StdOut.WriteLine("If you continue, each account listed in " & sImportFilePath)
	WScript.StdOut.WriteLine("that has Full Mailbox Access permission for a given mailbox")
	WScript.StdOut.WriteLine("will also be granted permission to Send As the mailbox owner.")
	WScript.StdOut.WriteLine()
	WScript.StdOut.Write("Press Y to continue or any other key to cancel: ")
	strInput = WScript.StdIn.ReadLine()
	If (UCase(strInput) <> UCase("Y")) Then
		WScript.Quit
	End If	
	WScript.StdOut.WriteLine("Starting...")
	WScript.StdOut.WriteLine()

	UserPath = EMPTYSTRING	
	err.Clear	
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	Set objfileImport = objFSO.OpenTextFile(sImportFilePath, ForReading, False, TristateTrue)
	If (err.number <> 0) Then
		WScript.StdOut.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)
		objfileError.WriteLine("Failed to open import file " & sImportFilePath & ", error:" & err.Description)
		WScript.Quit
	End If	

	fNeedToAddSendAs = False
	Do While objfileImport.AtEndOfStream <> True
		If (fOneError = True) Then
			WScript.StdOut.Write("!")
		Else
			WScript.StdOut.Write(".")
		End If
		fOneError = False

		err.Clear
		sOneRow = objfileImport.ReadLine
		sArraySplit = Split(sOneRow , OUTPUT_DELIMITER)
		If (err.number <> 0) Then
			objfileError.WriteLine("Failed to parse one row: " & sOneRow )
			objfileError.WriteLine("Error: " & err.Description)
			err.Clear
			fError = True
			fOneError = True
		End If
		
		If (UserPath <> sArraySplit(COLUMN_INDEX_USERADSPATH)) Then
			'A new user
			If (fNeedToAddSendAs = True ) Then
				'update existing user
				err.Clear 
				objSDNTsecurity.DiscretionaryAcl = objDACLNTSD
				objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )
				objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL
				objUser.SetInfo
				If (err.number <> 0) Then
					objfileError.WriteLine("Failed to update permissions for user: " & UserPath)
					objfileError.WriteLine("Error: " & err.Description)
					fError = True
					fOneError = True
				End If
			End If
						
			fNeedToAddSendAs = False
			Set objUser = Nothing
			Set objSDNTsecurity = Nothing
			Set objDACLNTSD = Nothing

			UserPath = sArraySplit(COLUMN_INDEX_USERADSPATH)
			err.Clear 
			Set objUser = GetObject(UserPath)
			Set objSDNTsecurity = objUser.ntSecurityDescriptor  
			Set objDACLNTSD = objSDNTsecurity.DiscretionaryACL			
			If (err.number <> 0) Then
				objfileError.WriteLine("Failed to get user object: " & UserPath)
				objfileError.WriteLine("Error: " & err.Description)
				err.Clear
				fError = True
				fOneError = True
			End If
		End If
	
		'Add newACE   Do we need this check?
		CheckSendAsACE objDACLNTSD, sArraySplit(COLUMN_INDEX_FMAALIAS)
		If (fACESendasFound = 0) Then
			Set objNewACE = CreateObject ("AccessControlEntry")
			objNewACE.AceFlags = 0 
			objNewACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE
			objNewACE.AccessMask = EX_MB_SEND_AS_ACCESSMASK 
			objNewACE.Flags = 1
			objNewACE.ObjectType = EX_MB_SEND_AS_GUID
			objNewACE.Trustee = sArraySplit(COLUMN_INDEX_FMAALIAS)

			objDACLNTSD.AddAce objNewACE
			fNeedToAddSendAs = True			
		End If
	Loop
	
	If (fNeedToAddSendAs = True ) Then
		'update the last user
		err.Clear 
		objSDNTsecurity.DiscretionaryAcl = objDACLNTSD
		objUser.Put "ntSecurityDescriptor", Array( objSDNTsecurity )
		objUser.SetOption ADS_OPTION_SECURITY_MASK, ADS_SECURITY_INFO_DACL
		objUser.SetInfo
		If (err.number <> 0) Then
			objfileError.WriteLine("Failed to update permissions for user: " & UserPath)
			objfileError.WriteLine("Error: " & err.Description)
			fError = True
		End If
	End If

End If 

objFSO.Close
objfileImport.Close
objfileExport.Close
objfileError.Close

Set objFSO = Nothing
Set objfileImport = Nothing
Set objfileExport = Nothing
Set objfileError = Nothing
Set objCommand = Nothing
Set conn = Nothing

WScript.StdOut.WriteLine()
If (fError = True) Then
	WScript.StdOut.WriteLine("Finished with one or more errors. See " & sErrorsFilename)
Else
	WScript.StdOut.WriteLine("Finished successfully. No errors were encountered.")
End If

Function FindAllFMAUsers (objSD)
Dim objACL
Dim objACE
Dim intACECount
Dim strIndent
Dim dAccessMaskBit
Dim dPosition
Dim sUserAlreadyFound

	On Error Resume Next
	err.Clear
	TotalACE = 0
	sFMADeniedList = EMPTYSTRING
	sFMAExplicitAllow = EMPTYSTRING
	sUserAlreadyFound = OUTPUT_DELIMITER
	intACECount = 0
	Set objACL = objSD.DiscretionaryAcl
	intACECount = objACL.AceCount

	If intACECount Then
		' Open discretionary ACL (DACL) data.
		For Each objACE In objACL		
			
		dPosition = inStr(1, objACE.Trustee, "$")
		If ((0 = Instr(UCase(objACE.Trustee & OUTPUT_DELIMITER), UCase(FMA_EXCLUSIVE_EXSVC))) And (0 = Instr(sUserAlreadyFound, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (0 = Instr(FMA_EXCLUSIVE_LIST, OUTPUT_DELIMITER & objACE.Trustee & OUTPUT_DELIMITER)) And (dPosition <> Len(objACE.Trustee)) And ((objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0) And ((objACE.AceType = ADS_ACETYPE_ACCESS_ALLOWED) Or (objACE.AceType = ACCESS_ALLOWED_OBJECT_ACE_TYPE) )) Then
			If (TotalACE < dArraySize) Then
				sTrusteeAlias(TotalACE) = objACE.Trustee
				sUserAlreadyFound = sUserAlreadyFound & objACE.Trustee & OUTPUT_DELIMITER
			End If
			TotalACE = TotalACE + 1	
			If ((objACE.AceFlags And ADS_ACEFLAG_INHERITED_ACE) = 0) Then
				'Keep a list who explictly set FMA at mailbox level
				sFMAExplicitAllow = sFMAExplicitAllow & objACE.Trustee & OUTPUT_DELIMITER			
			End If
		ElseIf (( (objACE.AccessMask And EX_FULLMailbox_AccessMask) <>0 ) And (objACE.AceType = ADS_ACETYPE_ACCESS_DENIED)) Then
			'Keep a list who denied FMA, use OUTPUT_DELIMITER as demiliter, 
			'include both inherited and explicit set at mailbox level
			sFMADeniedList = sFMADeniedList & objACE.Trustee & OUTPUT_DELIMITER			
		End If
		Next
	End If

	Set objACL = Nothing
End Function

Function CheckSendAsACE (objDiscretionaryACL, sTAlias)
Dim objACE
Dim intACECount

	err.Clear 
	fACESendasFound = 0
	intACECount = objDiscretionaryACL.AceCount

	If intACECount Then
		For Each objACE In objDiscretionaryACL	
			err.Clear 
			If ( (objACE.Trustee = sTAlias) And (objACE.ObjectType = EX_MB_SEND_AS_GUID) ) Then
				fACESendasFound = 1
			End If
			If (err.number <> 0) Then
				objfileError.WriteLine("Could not read permissions for this user: " & sTAlias)
				objfileError.WriteLine("Error: " & err.Description)
				err.Clear
				fError = True
				fOneError = True
			End If			
		Next			
	End If	
End Function

Function IfFMAAllowed(sTrustee)
	'FMA allow ACE has been found. Assume it's true
	fFMAAllowed = True
	
	If ( (0 <> Instr(sFMADeniedList, sTrustee)) And (0 = Instr(sFMAExplicitAllow, sTrustee))	) Then
		'If Denied ACE is found, and no explicit allow FMA 
		fFMAAllowed = False
	End If 
End Function

Function CreateOutputFiles
	Dim sTimeArray
	Dim sTimeShort
	Dim sTime
	
	err.Clear
	sTime = Time
	sTimeShort = Split(sTime, " ")
	sTimeArray = Split(sTimeShort(0), ":")

	Set objFSO = CreateObject("Scripting.FileSystemObject")
	sErrorsFileName = ERROR_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"
	Set objfileError = objFSO.OpenTextFile(sErrorsFileName, ForWriting, True, TristateTrue)

	If (cScriptMode = MODE_SETALL Or cScriptMode = MODE_EXPORT)	Then
		sExportFileName = EXPORT_FILE & "_" & sTimeArray(0) & "_" & sTimeArray(1) & "_" & sTimeArray(2) & ".txt"
		Set objfileExport = objFSO.OpenTextFile(sExportFileName, ForWriting, True, TristateTrue)	
	End If
	
	If err.number <> 0 Then
		WScript.StdOut.WriteLine("Unable to create export or error files: " & err.Description)
		objfileError.WriteLine("Unable to create export or error files: " & err.Description)
		fError = True
		fOneError = True
		WScript.Quit	
	End If

End Function

Function DisplaySyntax
	WScript.StdOut.WriteLine("Syntax:")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("Export accounts with Full Mailbox Access that do not have Send As permission:")
	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Export")
	WScript.StdOut.WriteLine("         NOTE: The list will be saved to Send_As_Export_HH_MM_SS.txt")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("Grant Send As to all accounts listed in an export file:")
	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -Import ""filename.txt""")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("Grant Send As to all accounts in the domain with Full Mailbox Access:")
	WScript.StdOut.WriteLine("     CSCRIPT """ & WScript.ScriptName & """ DOMAIN_CONTROLLER -SetAll")
	WScript.StdOut.WriteLine("         NOTE: Accounts will be listed in Send_As_Export_HH_MM_SS.txt")
	WScript.StdOut.WriteLine()
	WScript.StdOut.WriteLine("For all modes, errors are saved to Send_As_Errors_HH_MM_SS.txt")

	WScript.Quit	
End Function
SCRIPT DI FINE

Microsoft fornisce esempi di programmazione solo scopo illustrativo e senza alcuna garanzia espressa o implicita. Questo include, ma non limitato a, le garanzie implicite di commerciabilità o idoneità per uno scopo particolare. In questo articolo presuppone la conoscenza del linguaggio di programmazione in questione e gli strumenti utilizzati per creare ed eseguire il debug di procedure. Gli esperti Microsoft possono spiegare la funzionalità di una particolare procedura. Tuttavia, non modificherà questi esempi per fornire funzionalità aggiuntive o creare procedure atte a soddisfare specifiche esigenze.

Per ulteriori informazioni sul supporto le opzioni disponibili da Microsoft, visitare il seguente Web Microsoft sito:
http://support.microsoft.com/default.aspx?scid=fh;[LN];CNTACTMS
I prodotti di terze parti citati in questo articolo sono forniti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia espressa o implicita, sulle prestazioni o all'affidabilità di questi prodotti.

Proprietà

Identificativo articolo: 912918 - Ultima modifica: martedì 8 maggio 2012 - Revisione: 1.0
Le informazioni in questo articolo si applicano a:
  • Microsoft Exchange 2000 Server Standard Edition
  • Microsoft Exchange 2000 Enterprise Server
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
Chiavi: 
kbtshoot kbpending kbbug kbprb kbmt KB912918 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: 912918
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