MIM – Microsoft Identity Manager Active Directory Photo Import

Merhaba Arkadaşlar,
Bu makalemizin konusu Active Directory’de kullanmış olduğumuz kullanıcı profil fotoğraflarını SharePoint’e MIM aracılığı ile aktarma.
Kullanıcı fotoğraflarının SharePoint portale aktarmamızın sebebi, son kullanıcının portal kullanımını cazip kılmak. Son kullanıcı kendi resmini gördüğü zaman aidetlik duygularında taşma yaşanabilir.
Mesela bir telefon rehberi uygulaması yapsanız kullanıcı isimlerinin yanında kullanıcılarında resminin olması cezbedici bir özellik.
Bunun gibi bir çok uygulamada kullanıcı fotoğraflarını kullanabilirsiniz.

İlk olarak Active Directory’de kullanıcı profillerine fotoğrafları yüklemek ile işe başlayabilirsiniz. Bu işlem için ücretli veya ücretsiz 3. parti uygulamalar mevcuttur. Ücretsiz olanlardan en popüler olanı CodeTwo Active Directory Photos uygulamasıdır.
Bu işlemi ücretis farklı bir şekilde powershell scripti ile de yapabilirsiniz. Örnek bir scripti aşağıda sizlerle paylaşıyorum.

Import-Module ActiveDirectory
$photo=[byte[]](Get-Content "ahmet.simsek.jpg" -Encoding byte)
Set-ADUser "ahmet.simsek" -Replace @{thumbnailPhoto=$photo}

Sizlere tavsiyem bir powershell script hazırlayarak bu işlemleri toplu olarak yapabilirsiniz.
Algoritma şu şeekilde olmasında fayda var;

  1. AD üzerinde fotoğraf ekleyeceğiniz kullanıcıların sAMAccountName bilgilerini powershell yardımı ile bir CSV dosyasına çıkartın.
  2. Kullanıcıların resimlerini bir klasöre .jpg (hasan.koroglu.jpg gibi) olarak toplayın.
  3. PowerShell yardımı ile CSV dosyasını satır satır okuyarak, her satırda yukarıdaki scripti çalıştırın.

Talep olursa bu scripti hazırlayıp sizlerle paylaşabilirim.

Aşağıdaki görselde göreceğiniz üzere ahmet.simsek kullanıcısı için fotoğraf yükleme işlemini script ile tamamladım.

AD üzerinde ilgili kullanıcının attributelarına baktığım zaman thumbnailPhoto’ya ait değer dolmuş gözüküyor.

Şimdi Synchronization Service Manager üzerinde gerekili olan ayarları kontrol ediyorum.
İlk olarak ADMA’yı çif tıklayarak ayarlarından Configure Attribute Flow kısmındaki eşleşmeleri sırasıyla kontrol edelim.

Aynı kontrolü SPMA için de yapalım.

Kontrollerimiz sonrası My Site sitemizi kuralım.
İlk önce DC sunucumuzdaki DNS Managerımızda My Site için kullanacağımız domain için CNAME kaydı oluşturalım. Oluşturacağımız kayıt SharePoint sunucumuzu referans olarak kullansın. Ben bu örneğimizde http://benim sitesini kullanacağım. Kayıt olarak da SP sunucumu işaret ettim.

Ardından SharePoint Central Administration sayfamızı açalım. Manage web application kısmından yeni bir web application oluşturalım.


Port olarak yine 80 portunu kullanalım ve Host Header olarak DNS’de oluşturduğumuz kaydı girelim.

Application Pool kısmında güvenli bir hesap seçelim.

Veritabanı olarak ileride karışıklığa sebep olması için uygun bir isim girelim.

Web App’imiz oluştu.

Şimdi de My Site için Site Collection oluşturalım. Burada dikkat etmeniz gereken Template olarak Enterprise kısmından My Site Host’u seçmelisiniz.

Sitemiz kurulduktan sonra Manage Web Application kısmından oluşturduğumuz My Site Web Applcaiton’ın ayarlarını yapmalıyız.
İlk olarak My Site Host için oluşturduğumuz Web Application kaydınız seçelim. Ribbon Bar’dan Self-Service Site Creation tuşuna basalım.

Açılan sayfada en üstte yer alan On seçeneğini seçelim.

Daha sonra Manage Web Application kısmında yine My Site Host için oluşturduğumuz Web Application kaydınız seçelim. Ribbon Bar’dan Managed Paths tuşuna basalım.
Bu ekranda Path olarak “kisisel” seçelim ve Wildcard olarak ekleyelim.

Şimdi Central Administration’dan Manage Service Applications kısmından User Profile Service Applications’ı açalım. My Site Setting kısmında yer alan Setup My Sites bağlantısını açalım.

Açılan sayfada My Site Host kısmına My Site için kullanacağımız URL’yi yazalım.
Personal Site Location kısmına daha önce Managed Paths kısmında oluşturduğumuz path’i girelim.

Artık biraz aksiyon alalım. MIM sunucumuzda Delta Sync işlemini başlatalım.

Yapılan işlemleri kontrol ettiğimizde Ahmet Şimşek kullanıcısı için yaptığımız değişiklik MIM üzerinde gözüktü.

Resimlern SharePoint’e aktarıldığını görmek için http://benim/User%20Photos/ adresine girelim.

Göreceğiniz üzere resimler GUID olarak oluşturulmuş. Şimdi bu dosyaların SharePoint tarafında kullanılması için aşağıdaki powershell scriptini SharePoint sunucumuzda Management Shell ile çalıştıralım.

Update-SPProfilePhotoStore -createthumbnailsForImportedPhotos $true -MySiteHostLocation http://benim<span id="mce_SELREST_start" style="overflow:hidden;line-height:0;"></span>

Kodu ilk çalıştırdığımızda aşağıdaki hatayı alabiliriz.

Update-SPProfilePhotoStore : UserProfileDBCache_WCFLogging :: ProfileDBCacheServiceClient.GetUserData threw exception:
Access is denied.
At line:1 char:1
+ Update-SPProfilePhotoStore -createthumbnailsForImportedPhotos $true – …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (Microsoft.Offic…ofilePhotoStore:SPCmdletUserProfilePhotoStore) [Update-S
PProfilePhotoStore], UserProfileApplicationNotAvailableException
+ FullyQualifiedErrorId : Microsoft.Office.Server.UserProfiles.PowerShell.SPCmdletUserProfilePhotoStore


Bu hatanın sebebi; SharePoint Management Shell’i çalıştırdığımız SP_Admin kullanıcısının yetersiz yetkisi. Bu scriptFarm Admin hesabı ile çalıştırılması gerekmektedir. Bu sebeple PowerShell’i Run as Different User diyerek çalıştırıp  scripti tekrar çalıştırıyorum

User Photos kitaplığına baktığımda resimlerin isimlerinin değiştini görebilirsiniz.

http://benim/Person.aspx sayfasına baktığımızda kullanıcılarımızın resimlerinin geldiğini görebilirsiniz.

Bir sonraki makalemizin konusu Photo Import işlemlerinde yaşayabileceğimiz sorunlar ve çözümleri hakkında olacak.
Allah’a emanet olunuz.

TOC

  1. Giriş
  2. MIM – Microsoft Identity Manager Kurulumu
  3. MIM – Microsoft Identity Manager Yapılandırması
  4. MIM – Microsoft Identity Manager Senkronizasyonunu otomatikleştirmek
  5. MIM – Microsoft Identity Manager Active Directory Photo Import
  6. MIM – Microsoft Identity Manager Active Directory Photo Import Sorun Giderme
  7. Varsayılan MIM SharePoint 2016 Attribute Eşleşmeleri
  8. MIM – Microsoft Identity Manager Farklı Attribute’ları Kullanma
Hasan KÖROĞLU

Recent Posts

SharePoint TechNet/MSDN Forumları emekliye ayrılıyor

Microsoft SharePoint Technet ve MSDN forumları yerini Microsoft Q&A tartışma panolarına yerini bırakıyor. 10 Ağustos…

4 sene ago

Lokalde React ile uzak SharePoint ortamında Rest API ile çalışmak

Biliyorum, başlık çok garip, ilk bakışta anlaşılması zor. Ama şöyle tarif etmeye çalışayım. Bildiğiniz üzere…

4 sene ago

TypeScript Geliştirme Ortamı Hazırlama

Merhaba Arkadaşlar, Bu yazımızda sizlere TypeScript geliştirme ortamının (TypeScript Development Environment) nasıl hazırlanacağından bahsedeceğim. Öncelikle…

5 sene ago

TypeScript ile SystemJS kullanma

Merhabalar, bu yazımızda sizlere bir TypeScript projesinde farklı ts dosyaları içerisindeki function, class veya interface'lerin,…

5 sene ago

TypeScript – Giriş

Merhaba arkadaşlar, Yakın zamanda TypeScript öğrenmeye başladım. Hem öğrendiklerimi pekiştirmek hem de sizlerle paylaşmak adına…

5 sene ago

SharePoint için Responsive UI

Merhaba Arkadaşlar, Bu yazımızda sizlere mevcut SharePoint portalimizin, tablet, cep telefonu gibi farklı çözünürlükteki cihazlarda…

5 sene ago