IdentityIQ supports querying for objects using Filters. These can be written in Java code (for example, when used in rules or workflows) or in a string-based filter syntax (for example, as a task argument). Searching for identities that have a specific multi-valued attribute requires a more complex filter that joins to IdentityExternalAttribute.
String attrName = "myMultiValuedAttr";
String attrValue = "Attribute Name 1";
Filter filter =
Filter.and(Filter.join("id","IdentityExternalAttribute.objectId"),
Filter.eq("IdentityExternalAttribute.attributeName", attrName),
Filter.eq("IdentityExternalAttribute.value", attrValue));
String attrName = "myMultiValuedAttr";
String attrValue = "Attribute Name 1";
Filter filter =
Filter.and(Filter.join("id", "IdentityExternalAttribute.objectId"),
Filter.eq("IdentityExternalAttribute.attributeName", attrName),
Filter.ignoreCase(Filter.eq("IdentityExternalAttribute.value", attrValue)));
(id.join(IdentityExternalAttribute.objectId) && IdentityExternalAttribute.attributeName == "myMultiValuedAttr" && IdentityExternalAttribute.value == "Attribute Name 1")
Or this for case-insensitive:
(id.join(IdentityExternalAttribute.objectId) && IdentityExternalAttribute.attributeName == "myMultiValuedAttr" && IdentityExternalAttribute.value i== "Attribute Name 1")
This syntax will display results with an exact match instead of a partial match. (Example: It will pull back results for "Attribute Name 1" but not "Attribute Name 1 a".)
Hi...I'm trying to find Active Directory accounts without the accountFlag of User Account is Disabled. I created a mulitvalue attribute, ADAccountDisabled to house this info. Per your post I have tried to find only accounts with Normal User Account but all accounts are listed. I also tried a != options and no luck. Any ideas?
Neither of these work:
((links.id.join(LinkExternalAttribute.objectId) && LinkExternalAttribute.attributeName i== "ADAccountDisabled") && LinkExternalAttribute.value != "User Account is Disabled")
((links.id.join(LinkExternalAttribute.objectId) && LinkExternalAttribute.attributeName i== "ADAccountDisabled") && LinkExternalAttribute.value == "Normal User Account")