Microsoft hat mit dem Release des June Cumulative Update 2011 ein nettes “Feature” eingebaut, dass viele SharePoint Administratoren zur Verzweiflung treiben könnte.
Seit dem Update ist es nicht mehr möglich, über die Zentrale Administration die Benutzerbilder anderer User zu pflegen. Konnte man vor dem Update noch für jeden beliebigen Benutzer das Profilbild ändern, ist das jetzt nur noch für den eigenen User möglich.
Eine Änderung der Funktion Microsoft.SharePoint.Portal.WebControls.ProfileImagePicker macht's möglich…
Vor dem Cumulative Update Juni 2011:
private void SaveFileToPersonalSite(HttpPostedFile file)
{
SPUtility.ValidateFormDigest();
if (Path.GetExtension(file.FileName).Equals(".gif"))
{
this.m_strErrorMsg = StringResourceManager.GetString(0x1e7f);
}
else
...}
Nach dem Cumulative Update Juni 2011:
private void SaveFileToPersonalSite(HttpPostedFile file)
{
SPUtility.ValidateFormDigest();
if (!this.IsPersonCurrentUser())
{
this.m_strErrorMsg =
Microsoft.SharePoint.Portal.WebControls.StringResourceManager.GetString
(LocStringId.PictureUpload_SavePicture_Error);
}
else if (Path.GetExtension(file.FileName).Equals(".gif"))
...}
Daraus lässt sich erkennen, dass überprüft wird, ob der angemeldete Benutzer auch der Benutzer ist, der von User Profile Service Application (UPA) verwaltet wird. Ist das nicht der Fall, so wird eine Fehlermeldung ausgegeben.
Leider ist diese Fehlermeldung, wie so oft, nicht wirklich hilfreich:
Fehler beim Speichern des Bilds. Versuchen Sie es später erneut.
Auch in den Event- oder SharePoint Trace Logs lassen sich dazu so gut wie keine Einträge finden.
Umgehen lässt sich das nur noch Mittels SharePoint 2010 Management Shell, da dort nicht über die Microsoft.SharePoint.Portal.WebControls Klasse auf die Benutzerprofile zugegriffen wird.
Es wird auch darüber spekuliert, ob Microsoft das nicht mit voller Absicht, aus rechtlichen, bzw. Privacy Überlegungen, implementiert hat.
Das zu beurteilen überlasse ich aber dem geschätzten Leser ;-)
LG Ernst | ernst@hatahet.eu