MIM 2016/FIM 2010 R2: Using DateTime field as Criteria set conditions

When you use a DateTime field as criteria for a set that set becomes a Temporal set. Add a DateTime field to a set, go to advanced view and you will see that this is checked.

The constant calculation of criteria set membership can be a huge performance overhead for FIM. Where you have a complex criteria or DateTime calculation it is best kept as a Temporal set. A Temporal set’s membership is calculated by the SQL Agent in the FIM database. The job runs at 1am. If you have something like users being disabled after 7, 28, 45 days , the calculation of the membership is best done once a day. If a real-time value is needed then avoid the DateTime field and use another kind of field.

There are two kinds of member attributes for Sets and Groups in FIM

  • ComputedMember, which is based on a criteria
  • Manually-managed membership which is when you add and remove users.

One problem that people have with Criteria groups/Set is that they click on the criteria and they see the membership but the workflow does not fire off. What you can see the simulated or possible membership based on the criteria, the actual calculation for the ComputedMember attribute may not yet be done by FIM if there is a DateTime attribute. It’s a very different behavior once you change to another type of attribute.