Вопрос

У меня огромная проблема с импорт пользователей фото в mysite в SharePoint 2010.

У меня установлено стандартное издание SharePoint 2010.Все пользователи были импортированы в MySite, и мы могли видеть всех фотографий пользователей в MySite, а также на странице поиска.Но за несколько дней до того, как мы установили пакет обновления 2. После нового пакета службы службы UPS перестал работать, поэтому нам нужно повторно предоставлено UPS.Но после этого мы не могли видеть фотографии профилей пользователей в MySite.

Я следовал как описать в этой ссылке, (Изображение профиля пользователя не отображается в SP2010 Feb2012 CU ) Но к сожалению, у меня все еще нет фотографий.

Редактировать: мы не импортировали пользователей от AD, но добавлены непосредственно в mysite.

Это было полезно?

Решение

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)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top