Schon in früheren Exchange Versionen wurden Drittherstellertools eingesetzt um ein Foto in der Globalen Adressliste zu veröffentlichen und in diversen Clients anzuzeigen.

Exchange 2010 und Outlook 2010 können das mit Bordmitteln, das Bild wird dabei in der Active Directory gespeichert.

 ex1  ex2

Foto in Active Directory laden

Das Foto wird über die Exchange Management Shell importiert und zwar mit folgendem cmdlet.

Import-RecipientDataProperty -Identity user.name -Picture -FileData ([Byte[]]$(Get-Content -Path "C:\path\to\picture.jpg" -Encoding Byte -ReadCount 0))

Dieses cmdlet enkodiert das Bild und speichert die Daten im Active Directory Attribute “thumbnailPhoto”. Wenn man sich dieses Attribut jetzt ansieht (AC Users and Computers, ADSI Edit) dann sieht man die “Rohdaten”.

clip_image001

Achtung: Das Attribut “thumbnailPhoto” kann eine maximale Größe von 10k haben, das Bild sollte 96x96 Pixel messen um in Outlook optimal dargestellt zu werden.

Durch die Größenbeschränkung von 10k wird ein “überfüllen” der Active Direcotry verhindert, man sollte allerdings die Zunahme des Replikationstraffic bedenken wenn man GAL Fotos einführt, diese Zunahme ist temporär schließlich ändert man das Foto nicht täglich.

Damit ist das Foto zwar im Active Directory hinterlegt, allerdings ist in Outlook noch nichts davon zu sehen.

Schema Änderung

Dafür muss man eine kleine Schemaänderung durchführen, und zwar muss das Attribut “thumbnailPhoto” an den Globalen Catalog Server repliziert werden.

Dafür öffnet man das Active Directory Schema Snap-In in einer MMC und navigiert zum Attribut, in den Eigenschaften wird die Checkbox bei “Replicate this Attribute to the Global Catalog” gesetzt.

  1. Die schmmgmt.dll muss Registriert werden damit das Schema Snap-In zur Verfügung steht
    • In einer Administrativen CMD: “regsvr32 schmmgmt.dll”
  2. MMC öffnen (Start, Ausführen, mmc)
    • File, Add/Remove Snap-in…, Active Directory Schema
  3. Unter “Attributes” rechtsklick auf “thumbnailPhoto” und die oben genannte Checkbox setzen

image

Offline Address Book aktualisieren

Jetzt muss nur noch das Offline Adressbuch aktualisiert werden um das Ergebnis gleich zu sehen, alternativ kann man auch warten bis das automatisch geschieht (default: 5 Uhr). Das OAB kann einfach über folgendes cmdlet aktualisiert werden: 

Get-OfflineAddressBook | Update-OfflineAddressBook

Outlook lädt aktualisiert das Offlineadressbuch nur einmal in 24h also muss auch dort noch ein Download durchgeführt werden, dann ist das Foto schließlich sichtbar.

image

Hinweis: Das Offline Adressbuch wird durch die Fotos nicht größer, es wird nur ein Pointer auf das Foto im OAB gespeichert, nicht das Foto selbst. Das heißt allerdings auch dass ein Offline Client das Foto nicht sieht.

tom

This post has been migrated from our earlier blog based on BlogEngine.NET.