Adicionando imagens a Global Address List do Exchange e utilizando no Outlook
Neste 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
- Logado em um Domain Controller
- Vá em Start, Run e digite regsrv32 schmmgmt.dll e clique em OK

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

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

- Expanda Active Directory Schema [<Server-Name>]
- Clique em Attributes
- Localize o atributo thumbnailPhoto e dê um duplo clique no mesmo
- 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:PhotosAnderson.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 Buttonque 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.
Comentários