Outlook 2003 errore durante l’apertura di più cassette condivise in Exchange 2010

Scenario: Saltuariamente client Outlook 2003 installati su XP configurati per gestire la cassetta postale dell’utente più alcune cassette condivise restituiscono l’errore “Unable to display the folder. The information store could not be opened.” tentando di aprire una cassetta postale condivisa oltre la prima, mentre il tentativi di aprire la prima casetta postale condivisa dell’elenco non da problemi.

Il motivo è legato a come l’accesso alle cassette postali condivise viene gestito e descritto nella KB979690 – An error occurs when an Exchange server 2003 user tries to open more than one delegate mailbox of Exchange Server 2010 in Outlook 2003:

“Exchange Server 2003 mailboxes use the Activity Directory service as the source for directory information. Outlook 2003 relies on the Directory Referral mechanism to retrieve directory information. However, Exchange Server 2010 does not support the Directory Referral mechanism. In the scenario that is described in “Symptoms,” Exchange Server 2010 requires the Outlook clients to retrieve directory information by using Exchange Address Book Service together with the constructed ExchangeLegacyDN attribute. However, Exchange Server 2003 does not recognize the constructed ExchangeLegacyDN attribute. Therefore, the error problem occurs.”

Sebbene la KB979690 non sia riferita esplicitamente allo scenario in esame indica espressamente che nel processo di accesso alle cassette condivise è coinvolto il servizio Exchange Address Book di Exchange 2010.

clip_image002

Andando ad eseguire alcune verifiche sul server il servizio risultava effettivamente non avviato e la causa era probabilmente dovuta al fatto che durante la notte il server aveva installato alcuni aggiornamenti riguardanti il .NET Framework automaticamente eseguendo poi il riavvio, ma probabilmente le operazioni di posta installazione avevano bloccato il servizio.

Riavviando il servizio e chiudendo e riaprendo Outlook 2003 sui client il problema si è risolto.

Per gestire in maniera automatica questo tipo di problematiche è possibile schedulare sul server circa 30/60 minuti dopo l’ora in cui avviene l’installazione automatica degli aggiornamenti (per default 03.00 AM) uno script PowerShell Start-MSExchangeAB.ps1 che tenta l’avvio del servizio MSExchangeAB se non in esecuzione:

$service = Get-Service -Name MSExchangeAB
if ($service.Status -ne “Started”){
Start-Service $service.Name
}

Quindi è possibile schedulare un’operazione pianificata che richiama il file Start- MSExchangeAB.cmd che non fa altro che eseguire lo script Start-MSExchangeAB.ps1:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe C:\Scripts\Start-MSExchangeAB.ps1