Les utilisateurs photo non affichées dans MySite SharePoint 2010
Question
J'ai un problème énorme avec Importation de photos d'utilisateurs dans MySite à SharePoint 2010.
J'ai installé SharePoint 2010 Standard Edition.Tous les utilisateurs ont été importés dans MySite et nous pourrions voir toutes les images d'utilisateurs dans MySite et également dans la page de recherche.Mais quelques jours avant notre installation de Service Pack 2. Après le nouveau service Pack, le service UPS a cessé de fonctionner. Nous devons donc réapprovisionner.Mais après cela, nous n'avons pas pu voir des images de profil d'utilisateurs dans MySite.
J'ai suivi comme décrit dans ce lien (Image de profil utilisateur non affichée dans SP2010 Feb2012 Cu ) Mais malheureusement, je n'ai toujours pas d'images.
La 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)