Gewusst wie: Ändern der PictureUrl-Eigenschaft aller Benutzerprofile in einer Websitesammlung

Letzte Änderung: Freitag, 28. Mai 2010

Gilt für: SharePoint Server 2010

Das Codebeispiel in diesem Thema veranschaulicht, wie Sie den Wert der PictureUrl-Eigenschaft für jeden Benutzer in einer Websitesammlung ändern, sodass er einem neuen Speicherort oder einer neuen URL für Benutzerprofilfotos entspricht.

Ändern der PictureUrl-Eigenschaft für alle Benutzer mithilfe von Code

Wenn Sie den Speicherort Ihrer Website für Mein Websitehost ändern, ändern Sie wahrscheinlich auch den Speicherort der Fotos für Meine Website. Falls Sie den Speicherort Ihrer Fotos ändern, müssen Sie die PictureUrl-Eigenschaft für jedes UserProfile-Objekt in Ihrer Websitesammlung an den neuen Speicherort anpassen. Dies ist erforderlich, wenn die URL für den neuen Speicherort von der vorherigen URL abweicht, oder wenn Sie mit der Verwendung des SSL-Protokolls (Secure Socket Layer) beginnen und Ihre Bild-URLs an dieses Protokoll anpassen müssen (sodass sie mit https:// anstelle von http:// beginnen). Im folgenden Codebeispiel wird veranschaulicht, wie Sie die PictureUrl-Eigenschaft für jedes UserProfile-Objekt in einer Websitesammlung ändern. Die Websitesammlung sollte Ihrem Mein Websitehost entsprechen. In diesem Thema wird davon ausgegangen, dass Sie Microsoft .NET Framework 3.5 verwenden und dem Microsoft Visual Studio 2010-Projekt die folgenden Verweise hinzugefügt haben:

  • 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);
   }
}

Siehe auch

Referenz

Microsoft.Office.Server.UserProfiles

Konzepte

Benutzerprofile und Funktionen und Daten für das soziale Netzwerk in SharePoint Server 2010