using Microsoft.Office.Server; using Microsoft.Office.Server.UserProfiles; using (SPSite site = new SPSite("http://sitecollectionurl")) { //User profile manager object holds the complete profile store UserProfileManager profileManager = new UserProfileManager(ServerContext.GetContext(site)); //UserProfile object holds the acount specific userprofile UserProfile userProfile = profileManager.GetUserProfile("domain\\administrator"); //OTB property name can be assigned as below using PropertyConstants class userProfile[PropertyConstants.FirstName].Value = "My first name"; //Custom property value can be assigned as below by hardcoding the property name userProfile["CustomPropertyName"].Value = "Test Value"; userProfile.Commit(); }
Loop through all the user profiles available in SSP profile store.
UserProfileManager profileManager = new UserProfileManager(ServerContext.GetContext(site)); foreach(UserProfile userProfile in profileManager) { if(null != userProfile[PropertyConstants.FirstName].value) lblFirstName.Text = userProfile[PropertyConstants.FirstName].value; if(null != userProfile["CustomPropertyName"].value) lblCustomPropertyValue.Text = userProfile["CustomPropertyName"].value; }
I get this error when trying to assign values to the properties:
ReplyDeleteProperty Not Editable: This property can not be modified.
Only the editable properties can be updated through UI or API. I think you are trying to update a property which is non editable. You can make a property editable through UI by following the below steps...
ReplyDeleteCentral Administration >> SSP >> User profiles and properties (under User Profiles and My Sites section) >> View profile properties (under User Profile Properties section) >> Edit Specific Property >> Edit Settings Section >> Make sure the respective radio button is selected to edit the property