Procédure : Modifier la propriété PictureUrl de tous les profils utilisateur dans une collection de sites
Dernière modification : vendredi 28 mai 2010
S’applique à : SharePoint Server 2010
L’exemple de code de cette rubrique illustre comment modifier la valeur de la propriété PictureUrlpour chaque utilisateur d’une collection de sites de sorte qu’elle corresponde à un nouvel emplacement ou URL pour les photos des profils utilisateur.
Utilisation de code pour modifier la propriété PictureUrl pour tous les utilisateurs
Lorsque vous déplacerez l’emplacement de votre site Web Mon site d’un emplacement à un autre, il est probable que vous déplacerez également vos photos Mon site. Si vous déplacez l’emplacement de vos photos, vous devez modifier la propriété PictureUrl de chaque objet UserProfile dans votre collection de site de sorte qu’elle corresponde au nouvel emplacement. Ceci est nécessaire lorsque l’URL du nouvel emplacement diffère de l’URL précédente ou si vous commencez à utiliser le protocole SSL (Secure Socket Layer) et que vous devez modifier les URL de vos images afin qu’elle soient conformes à ce protocole (afin qu’elles commencent par https:// au lieu de http://). L’exemple de code suivant montre comment modifier la propriété PictureUrl pour chaque objet UserProfile dans une collection de sites. La collection de sites doit correspondre à votre hôte Mon site. Cette rubrique suppose que vous opérez sur le Microsoft .NET Framework 3.5 et que vous avez ajouté les références suivantes à votre projet Microsoft Visual Studio 2010 :
Microsoft.SharePoint
Microsoft.Office.Server.UserProfiles
using (SPSite site = new SPSite("siteUrl"))
{
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager myUserProfileManager = new UserProfileManager(context);
try
{
foreach (UserProfile aUser in myUserProfileManager)
{
string origUrl = (string)aUser[PropertyConstants.PictureUrl].Value;
string newUrl = origUrl.Replace("http://mysite", "https://mysite");
aUser[PropertyConstants.PictureUrl].Value = newUrl;
aUser.Commit();
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Voir aussi
Référence
Microsoft.Office.Server.UserProfiles
Concepts
Profils utilisateur et données sociales dans SharePoint Server 2010