Removing a reference value

I needed to delete all the Managers from people in the FIM Portal where a particular Manager was set. I had blithely assumed this would be easy with the FIM PowerShell plugin – sadly, not so.

You can clear a string value easily enough by setting it to an empty string. So this works:

$ImportObject = ModifyImportObject -TargetIdentifier $ID -ObjectType 'Person'
SetSingleValue -ImportObject $ImportObject -AttributeName 'MiddleName' -NewAttributeValue ''
import-fimconfig -ImportObject $ImportObject

However change that string attribute to a single-valued reference attribute like Manager and you get this helpful error:

Import-FIMConfig : Failure when making web service call.

SourceObjectID = guid
Error = The web service client has encountered the following class of error: Other
Details: Additional Text Details: Request could not be dispatched.

Note that I’m only having this problem because my reference attribute is single-valued – for multi you can actually delete any specific value, including the last one, essentially nulling the field. But for single-valued you can’t use the Delete operation – you have to use Replace, and it won’t let you replace it with a null or empty string.

Eventually I figured out that I could actually delete the value using a workflow with just the OOB Function Evaluator activity. Set the reference attribute to a space (not an empty string for some reason – I had to put a space as the string), run the workflow against the set of people with the Manager I needed to remove, and I got the job done.

Update: It turns out that setting to a space also works for nulling a Boolean attribute.

About: Carol

I've been doing IT for 30 years, and IdM for 15. I live in Australia and build IdM solutions based on Microsoft Identity Manager. I also play the violin, but that doesn't help much with the IdM solutions.


4 thoughts on “Removing a reference value”

  1. Hey Carol, do you know of a fast way to clear a multivalue reference field?

    So far, I have to read the field, then do a remove on all objects in the field… There has to be a better way! (FIM catch-cry)

    – Ross

  2. Is there any way to change the single valued property to multivalued property in FIM after creation of the attribute.Please suggest if you have any related works

Leave a Reply

Your email address will not be published. Required fields are marked *


*