Frage

Ich habe ein riesiges Problem mit dem Importieren von Nutzerfoto in MySite in SharePoint 2010.

Ich habe SharePoint 2010 Standard Edition installiert.Alle Benutzer wurden in MySite importiert und wir konnten alle Benutzerbilder in MySite und auch auf der Suchseite sehen.Aber wenige Tage bevor wir Service Pack installiert haben 2. Nach dem neuen Service Pack funktionierte UPS-Dienst nicht mehr, also müssen wir UPS erneut bereiten.Aber danach konnten wir keine Benutzerprofilbilder in Mysite sehen.

Ich folgte, wie in diesem Link beschrieben, (Benutzerprofilbild nicht in SP2010 FEB2012 Cu ) Aber leider bekomme ich noch keine Bilder.

edit: Wir haben Benutzer nicht von der Anzeige importiert, sondern direkt an MySite hinzugefügt.

War es hilfreich?

Lösung

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)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top