Outlook 2010 Kullanıcı Fotolarının Exchange Management Shell Kullanarak Eklenmesi

Merhabalar,

Exchange 2010 ve Outlook 2010 ile birlikte kullanıcılar çok daha keyifli çalışma arabirimlerine kavuşmuş oldu. Bu sayede biz IT çalışanlarının da sistem üzerinde yaptığı yükseltme ve çalışmalar için farkındalık imkanı doğmuş oldu. Outlook 2010 ile birlikte kullanıcılarınız fotoğraflarını görmek isteyeceklerdir. Tecrübe ile sabittir ki kullanıcıların tamamı kısa süre içerisinde bu talepte bulunmakta ve bu da işin otomatize edilmesini gerektirmekte. Bu işlemi otomatikleştirmenin en büyük faydası ise bir anda birden fazla kullanıcının fotosunu değiştirebilmek olacaktır. Kullanıcıların fotoları Exchange Server üzerinde saklanmamaktadır. Bu fotolar Active Directory üzerinde kullanıcı attiribute lerinden thumbnailPhoto özelliği içerisinde saklanmaktadır. Burada saklanacak olan fotonun boyutunun en fazla 10 Kb olması gerekmektedir. Dolayısıyla kullanıcıların gönderdiği fotoların uygun boyuta getirildikten sonra Active Directory içerisine atılması gerekmektedir. İlgili alanı Active Directory Users and Computers konsolunda kullanıcının hesap özelliklerine girdiğimizde Attribute Editor sekmesinde görebiliriz.

Bu işlemin gerçekleştirilmesi için değerli arkadaşım Serkan ZENGİN’ in yazmış olduğu powershell script ini de sizlerle paylaşmak isterim. Bu script sayesinde düzenlenen fotoları kullanıcı adı ile kayıt edip belirlenen klasör içerisine atıp kullanıcıların fotolarını aynı anda değiştirme işlemi gerçekleştirilebilir. Script içerisinde fotoların tutulacağı klasör masaüstünde ki exported isimli bir klasör olarak belirlenmiş durumdadır. Bunu ihtiyacınız doğrultusunda değiştirebilirsiniz.

$Dir = get-childitem C:\Users\hcan\Desktop\exported -recurse

$objDomain = New-Object System.DirectoryServices.DirectoryEntry(“LDAP://dc=cozumpark, dc=com”)
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.SearchScope = “Subtree”

foreach($file in $Dir)
{
$strFilter = “(&(objectCategory=user)(objectClass=user)(samAccountName=” + $file.BaseName.ToString() + “))”
$objSearcher.Filter = $strFilter
$colResults = $objSearcher.FindAll()

if($colResults.Count -gt 0)
{
Import-RecipientDataProperty -Identity $file.BaseName.ToString() -Picture -FileData ([Byte[]]$(Get-Content -Path $file.FullName -Encoding Byte -ReadCount 0))
}
}

Yukarıda ki script i thumbnail.ps1 adıyla masaüstüne kayıt edelim. Artık Exchange Management Shell içerisinden bu script i çalıştırdığımızda exported klasöründe kullanıcı adları ile isimlendirilmiş olarak bulunan fotolar kullanıcı hesaplarının attirbute lerinden biri olan thumbnailPhoto bölümüne eklenecektir. Kullanıcı outlook adres defterinden ya da People Pane bölümünden baktığında yeni fotosunu görebilir.

Faydalı olması dileğimle…

M. Hakan CAN

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *