Infra - Exchange Server

Adicionando imagens a Global Address List e utilizando no Outlook

Com este tutorial mostramos como gerenciar imagens para os usuários do Active Directory e como utilizar este procedimento de foma prática no Microsoft Outlook.

por Anderson Patricio



Autor: Anderson Patricio / Rodrigo Rodrigues

Overview

Nesta tutorial estaremos mostrando como podemos utilizar alguns cmdlets introduzidos no Exchange Server 2010 para carregar imagens ao Active Directory e tais figuras são utilizadas nativamente no Exchange Server 2010 e Microsoft Outlook. Alguns pontos são importantes para serem validados antes de iniciarmos este processo, tais como:

  • Formato da figura é JPEG e a extensão pode ser JPG ou JPEG
  • Limite para o tamanho é 10KB
  • Não esqueça que este 10KB vai para a replicação do Active Directory, se tiveres uma rede muito grande é bom dar uma validada na replicação e uma boa prova de conceito é recomendada

Solução

O processo para habilitar o recurso de imagem no Active Directory é super simples, primeiramente habilitamos a replicação do atributo responsável pela imagem para os catálogos globais e depois só devemos importar. Todos os passos são descritos abaixo.

Alterando o Schema...

O primeiro passo como vimos anteriormente é configurar o atributo que possui a figura

  1. Logado em um Domain Controller
  2. Vá em Start, Run e digite regsrv32 schmmgmt.dll e clique em OK

  1. A mensagem de registro da dll deve ser mostrado, tal como a figura abaixo

  1. Vá novamente em Start, Run e digite mmc e clique em OK
  2. Clique em File e depois em Add/Remove Snapin...
  3. Selecione Active Directory Schema e clique no botão Add >, feito isso clique em OK

  1. Expanda Active Directory Schema [<Server-Name>]
  2. Clique em Attributes
  3. Localize o atributo thumbnailPhoto e dê um duplo clique no mesmo
  4. Marque a opção Replicate this attribute to the Global Catalog como mostrado abaixo

Importando uma figura para o usuário do Active Directory..

Agora que já temos a informação sendo replicada para os Global Catalog, podemos estar importando uma figura para um único usuário, através da seguinte sintaxe:

Import-RecipientDataProperty -Identity <Mailbox> -Picture -FileData ([Byte[]]$(Get-Content -path <Caminho da figura> -Encoding Byte -ReadCount 0))

Onde:

<Mailbox>: Nome da Mailbox do usuário, podemos estar utilizando Get-Mailbox para saber tal informação

<Caminho da Figura>: Caminho onde encontrar a figura pode ser o caminho completo e/ou somente o nome da figura (caso esteja no mesmo diretório) e também deve conter a extensão. Exemplos: anderson.jpg, lidi.jpg

Sabendo disso, podemos facilmente carregar o arquivo C:\Photos\Anderson.JPG para o usuário Anderson, como mostrado na figura abaixo:

Analisando a importação da figura para o atributo ThumbnailPhoto...

Todo o processo deste tutorial é em cima do mesmo atributo, depois de carregarmos uma foto podemos ver nas propriedades do usuário que o atributo possui dados, ou seja, nosso processo alterou o atributo do usuário em questão. O segundo passo é fazer o teste utilizando o Outlook.

Testando...

A forma mais simples de testar é estar logado com o usuário que recebeu a importação da imagem, e clicar no Office Button que leva para a página inicial do Outlook onde podemos configurar contas, e para a nossa surpresa a foto do usuário já aparece ali.

Visto que temos a informação no Active Directory, se pedirmos propriedades de um usuário que possui a figura carregada também veremos a foto, como mostrado abaixo.

O mesmo também se aplica a mensagens do mesmo.

Alterando vários usuários ao mesmo tempo...

Criamos um script aqui no AndersonPatricio.org para permitir o carregamento de figuras para um ou mais usuários de uma forma mais simples. O script pode ser baixado do seguinte endereço: http://msmvps.com/blogs/andersonpatricio/pages/script-uploadphoto-ps1.aspx

A script é baseado no caminho C:\Photos para localizar as fotos, caso você tenha um caminho diferente apenas troque a variável $DefaultPhotoPath do script para o seu ambiente. O script também testa o tamanho da foto e o caminho, se tudo estiver certo ele continua a operação.

Importando apenas um usuário...

Apenas rode UploadPhoto.ps1 <nome-do-usuário>

Importando todos usuários de um diretório...

Adicionamos uma funcionalidade chamado -all ao script que basicamente lê todos os arquivos .JPG do diretório padrão (C:\Photos), e baseado no nome do arquivo carrega para o usuário do Active Directory.

Importante: Arquivo e usuário do AD devem possuir o mesmo nome. Por exemplo usuário Anderson deve ter um arquivo chamado anderson.jpg para ocorrer a importação.

A sintaxe é super simples, basta rodar UploadPhoto.ps1 -all

Testando o script...

Colocamos a foto da garota propaganda do site e também a que arruma as figuras do mesmo :) no diretório photos e rodamos o comando acima (UploadPhoto.ps1 -all), feito isso também podemos visualizar a mesma na Global Address List como mostrado abaixo.

Como também quando clicamos com o botão direito no usuário utilizando o Outlook 2010.

Conclusão

Com este tutorial mostramos como gerenciar imagens para os usuários do Active Directory e como utilizar este procedimento de foma prática no Microsoft Outlook.

Anderson Patricio

Anderson Patricio - Trabalha com informática desde 1995, é consultor Microsoft em projetos de Active Directory, Exchange e ISA pela Quattuor Informática em Porto Alegre.
Certificações: MCSE +M +S 2003, MCSE +M +S 2000, MCSA +M +S 2003, MCSA +M +S 2000
Blog: http://spaces.msn.com/members/andersonpatricio/