Por Eduardo Tavares de Almeida

Um caso interessante que tivemos esses dias era o Outlook 2010, no qual, somente em cache mode, não era possível descartar lembretes de compromissos. A mensagem abaixo aparecia incessantemente deixando o usuário louco.

image

Caso utilizasse o OWA ou o mesmo cliente no modo Online, o problema não ocorria.

Realizando mais troubleshooting, abrimos o MFCMAPI enquanto o Outlook estava em cache mode.

Tome muito cuidado ao utilizar essa ferramenta, pois você terá acesso direto ao Store.

Na maquina onde já tinha o Outlook instalado e o perfil do usuário criado, abrimos o MFCMAPI até a pasta Reminders, como vemos nas telas a seguir.

image

image

image

Quando clicávamos em Dismiss na tela do lembrete, víamos que a mensagem era apagada da pasta Reminder (acima), mas em segundos ela era recriada e aparecia a janela do lembrete novamente.

Olhando um dos atributos PR_LAST_MODIFICATION_TIME e PR_LAST_MODIFIER_NAME, tinha os mesmos valores que as mensagens anteriores indicando que a alteração não replicada ao servidor.

image

Vendo a pasta Sync Issues, a mensagem abaixo era gravada, confirmando que a mensagem de Dismiss não era replicada para o servidor.

----------------------
Prioridade: Alta
11:14:41 Versão 14.0.5138 do Sincronizador
11:14:41 Sincronizando Caixa de Correio ‘Usuario’
11:14:41 Sincronizando alterações locais na pasta 'Calendário'
11:14:41 Carregando para o servidor ‘contoso.com’
11:14:41 Erro ao sincronizar mensagem 'Teste'
11:14:41                 [0-0]
11:14:41 A mensagem cuja sincronização falhou foi movida para 'Falhas Locais'. Assunto da mensagem -> 'Teste'. Essa mensagem só pode ser exibida na pasta offline.
11:14:41 Erro ao sincronizar mensagem ‘Compromisso – Ligar para Fulado’
11:14:41                 [0-0]
11:14:41 A mensagem cuja sincronização falhou foi movida para 'Falhas Locais'. Assunto da mensagem -> ‘Compromisso – Ligar para Fulado’. Essa mensagem só pode ser exibida na pasta offline.
11:14:41 Concluído
----------------------

Para descobrir o que estava ocorrendo na replicação, usamos algumas ferramentas como log do Outlook (Em file => Options => Advanced => Enable troubleshooting logging)e Advanced ETW tracing seguindo o kb 2260527

How to enable Advanced RPC Logging for Outlook 2010 in an Exchange environment http://support.microsoft.com/kb/2260527

Para ler os eventos o arquivo é necessário uma ferramenta interna, mas em ambos os logs, o que vimos era os eventos de “Reminder(s) dismissed”, tentativa de replicar e posteriormente um “Calendar item change notification” avisando que tinha um evento novo no servidor e era replicado para o cliente.

Habilitamos o iDNA trace utilizando a ferramenta tttracer como uma forma avançada de debugging e com isso vimos o status de 0x80070005 – Acesso Negado e provavelmente seria quando tentamos criar o Named Properties.

Abrindo o ADSIEDIT.msc, vimos que o Everyone tinha permissão na Organização como no exemplo abaixo, mas a permissão estava para ser aplicada somente para esse objeto, não herdando até a base de dados do usuário.

image

Alteramos para ser aplicado nesse objeto e nos filhos como no exemplo abaixo e o problema acabou.

image

Mais referências sobre Named Properties podem ser encontradas no artigo abaixo:

How to configure quota settings for named properties and for replica identifiers in Exchange Server 2003 and in Exchange Server 2007 http://support.microsoft.com/?kbid=820379

Named Properties, X-Headers, and You http://blogs.technet.com/b/exchange/archive/2009/04/06/3407221.aspx

Confused About Named Properties Quotas in Exchange 2003 and Exchange 2007? Join the Club! http://blogs.technet.com/b/exchange/archive/2010/07/29/3410545.aspx