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…