3

The UPS animal is a strange one. I just don't know how I can delete or overwrite a property completely.

I have the Job Title property (Imported from AD) filled on all my users. I want to change this property for all users by either overwriting it or completely deleting it.

By going to UPS Administration > Manage User Properties I tried the following things:

  1. Delete "Job Title". » Doesn't work as Delete is grayed out.
  2. Edit "Job Title" to now get its data from some random AD property instead of title (e.g. division). » The data already contained in the property for the users is not deleted nor edited (I have a user having e.g. "Blue division" in active directory division, but he still has the old title data)
  3. Tried playing around with the policy settings (Required/Replicable etc.), no luck.

After every change I did a full synchronization.

What I am asking is how I can overwrite all users' "Job Title" attribute with a new value I specify or delete the attribute or get it from some other AD field.
In general: Why isn't the new data applied when I select a different field from AD the data shall be imported from?

5
  • Check to see if the property is editable in the User Profile Service App / Manage User Properties / Allow Users to Edit values for property
    – sween_sp
    May 5, 2012 at 15:28
  • No, it's not. I don't want users to change it anyways.
    – Dennis G
    May 6, 2012 at 16:36
  • We had a similar issue where we had to unlock it, update it, then lock it again so users couldn't update. We couldn't update it fom PowerShell or code unless it was unlocked.
    – sween_sp
    May 7, 2012 at 13:25
  • unlocked <- what wizardry are you talking about? :-) How would I unlock the field?
    – Dennis G
    May 7, 2012 at 16:06
  • Sorry! I meant temporarily make it editable, our definition of "unlocked". We set the property.IsUsereditable = true in code, Update, Commit, then set it back to false. The code below will set editable to true via PowerShell.
    – sween_sp
    May 7, 2012 at 16:39

2 Answers 2

1

Here is the powershell we used to unlock our field:

$PortalURL = 'http://yoursite'

$oSite = Get-SPSite $PortalURL
$oSiteContext =[Microsoft.Office.Server.ServerContext]::GetContext($oSite)  
$oUserProfileManager = new-object Microsoft.Office.Server.UserProfiles.UserProfileManager($oSiteContext)

$oFieldNameProp = $oUserProfileManager.DefaultProfileSubtypeProperties | Where {$_.Name -eq 'FieldName'}
$oFieldNameProp.IsUserEditable = $true
$oFieldNameProp.Commit()
3
  • All you're doing is let the user edit the field - I was talking about synchronization from Active Directory.
    – Dennis G
    Feb 14, 2013 at 15:37
  • 1
    Right, I was just trying to say that we had a similar situation where we had to edit a property that didn't take our changes either. Once we made it editable, re-synced, then changed the property back to uneditable, it then maintained the changes. We didn't allow users to edit either. This was in code.
    – sween_sp
    Mar 6, 2013 at 15:17
  • Understood. IsUserEditable = $true. Do a full profile synch --> Property is synched and set IsUserEditable back to false.
    – Dennis G
    Mar 6, 2013 at 15:50
1

You can "disable" this property by removing the options to show in user profiles, show in edit pages and also make it non editable.

Then, you create a new property and call it what ever you want and map to the correct AD field for import or import/export.

See this question which I answers myself about how to even map to a Termset:

Setup Department Profile property as Term Set and Sync back to AD

2
  • 1
    Problem is you can't really disable it unless you want to break standard behavior. The Organisation Browser (Silverlight) uses the job title property to display right underneath the usernames - you cannot edit which property it uses. Sure, you can create a new property, but that ain't the "real" job title field ;-)
    – Dennis G
    Feb 14, 2013 at 15:36
  • You are correct. The only thing you really can't control is that Silverlight control. I wish MS allowed us to specify which fields are displayed in that control. Wouldn't be too difficult to replicate that though.
    – Fox
    Feb 15, 2013 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.