Question

I am having a huge problem with importing users photo into mysite in Sharepoint 2010.

I have SharePoint 2010 standard edition installed. All users were imported into mysite and we could see all users pictures in mysite and also in search page. But few days before we installed Service pack 2. After new service pack, UPS service stopped working, so we need to re-provisioned UPS. But after that we could not see any users profile pictures in mysite.

I followed as describe in this link, (User Profile Picture not showing in SP2010 Feb2012 CU ) but unfortunately, I still don't get any pictures.

Edit: We did not import users from AD, but added directly to mySite.

Was it helpful?

Solution

If you have recreated the whole service application for User Profiles, did you rebind the User Profile Property PictureURL to the AD property thumbnailPhoto? I have made the mistake to miss this one in the past.

I found a great step by step guide here that outlines these three steps:

  • Create an import PictureURL mapping
  • Perform a full profile synchronization
  • Run the Update-SPProfilePhotoStore PowerShell command

After updated info about not using AD to sync pictures

Have you checked out this post? http://blog.bugrapostaci.com/2012/07/23/after-restoring-sharepoint-profile-databases-some-of-users-pictures-are-not-shown/

Basically a script similar to this (from the link):

Param (
[parameter(Mandatory=$true)][string]$MySiteUrl, 
 [parameter(Mandatory=$false)][Switch]$Update
)

$mySiteHostSite = Get-SPSite $MySiteUrl
$mySiteHostWeb = $mySiteHostSite.OpenWeb()
$context = Get-SPServiceContext $mySiteHostSite
$spPhotosFolder = $mySiteHostWeb.GetFolder("User Photos")

$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)

$AllProfiles = $ProfileManager.GetEnumerator()

foreach($profile in $AllProfiles)
{
$AccountName= $profile[[Microsoft.Office.Server.UserProfiles.PropertyConstants]::AccountName].Value
   if($profile["PictureURL"].Value -eq $null -or $profile["PictureURL"].Value -eq $null )
{
  $checkUrl =$spPhotosFolder.url +"/" + "Profile Pictures" + "/" + $AccountName.Replace("\","_") + "_MThumb.jpg"

  if($mySiteHostWeb.GetFile($checkURL).Exists)
  {
   if($Update)
   { 
    $profile["PictureURL"].Value = $mySiteHostWeb.Url + "/" + $checkurl
    $profile.Commit()
    "Updated!!! " + $AccountName  
    $mySiteHostWeb.Url + "/" + $checkurl
   }
   else
   {
    "Updatable!!! " + $AccountName 
   }
 }
  else
  {
   "Missing !!! " + $AccountName 
  }
}
else
{
  "OK! " + $AccountName + " " + $profile["PictureURL"].Value
}
}

$mySiteHostWeb.Dispose()
$mySiteHostSite.Dispose()

but please see the post for details about what you need to modify for your environment (like "User Photos" folder)

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top