Versions / Builds Affected
20120727 - 20130510Status
ResolvedProblem Summary
MARC's license count never counts more than 0 users if installed in a domain which does not have the Exchange's AD domain schema extensions applied.TT / JIRAID
1233How to Identify
The LDAP query MARC uses to count users requires the user object to have an attribute set named "mailNickname". This attribute normally does only exist in a domain if Exchange is installed or if the schema of the domain was manually extended with Exchange's schema updates.
The LDAP filter used here is:
(&(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mailNickname=*)(samAccountName=*))
Customer who use MARC in combination with another mail server than Exchange are likely to not have the mentioned attribute in their domain.
Here is an example from a customer how reported this:
2013-03-28,14:45:40,459,3,"#000018ec","#000017a8","info ","usercntmaad","Instructed to count"
2013-03-28,14:45:43,516,3,"#000018ec","#000017a8","info ","usercntmaad","Binding to provider: LDAP://CN=ms-Exch-Recipient-Type-Details,CN=Schema,CN=Configuration,DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,516,3,"#000018ec","#000017a8","info ","usercntmaad","ms-Exch-Recipient-Type-Details not found"
2013-03-28,14:45:43,532,3,"#000018ec","#000017a8","info ","usercntmaad","Include users in list"
2013-03-28,14:45:43,532,3,"#000018ec","#000017a8","info ","usercntmaad","AD Group: ae4a6170c2dbed4eb21dfc1361c0308d"
2013-03-28,14:45:43,532,3,"#000018ec","#000017a8","info ","usercntmaad","Binding to provider: LDAP://DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,547,3,"#000018ec","#000017a8","info ","usercntmaad","Searching using LDAP filter string: (objectGUID=\ae\4a\61\70\c2\db\ed\4e\b2\1d\fc\13\61\c0\30\8d)"
2013-03-28,14:45:43,579,3,"#000018ec","#000017a8","info ","usercntmaad","Opening obejct: LDAP://CN=GFI Mailarchiver,OU=User Groups,OU=RJIS_Groups,DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,579,3,"#000018ec","#000017a8","info ","usercntmaad","enum_group_member_attribute()"
2013-03-28,14:45:43,594,3,"#000018ec","#000017a8","info ","usercntmaad","member: CN=Jason Waddell,OU=Test2,OU=IT,OU=RJIS_Users,DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,625,3,"#000018ec","#000017a8","info ","usercntmaad","member GUID: 8b3e54e4993ef34b8e6e82452013544b"
2013-03-28,14:45:43,625,3,"#000018ec","#000017a8","info ","usercntmaad","member: CN=Munir Omer,OU=IT,OU=RJIS_Users,DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,672,3,"#000018ec","#000017a8","info ","usercntmaad","member GUID: 61aa6dcf9b82524495636039630a2d67"
2013-03-28,14:45:43,672,3,"#000018ec","#000017a8","info ","usercntmaad","member: CN=James Longstaff,OU=IT,OU=RJIS_Users,DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,703,3,"#000018ec","#000017a8","info ","usercntmaad","member GUID: d777f5803ea4564497cb0c5fdb2427a8"
2013-03-28,14:45:43,703,3,"#000018ec","#000017a8","info ","usercntmaad","Connection String: LDAP://rootDSE"
2013-03-28,14:45:43,719,3,"#000018ec","#000017a8","info ","usercntmaad","Binding to provider: LDAP://DC=RJIS,DC=CO,DC=UK"
2013-03-28,14:45:43,719,3,"#000018ec","#000017a8","info ","usercntmaad","Searching using LDAP filter string: (&(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2))(mailNickname=*)(samAccountName=*))"
2013-03-28,14:45:43,735,3,"#000018ec","#000017a8","info ","usercntmaad","S_ADS_NOMORE_ROWS"
2013-03-28,14:45:43,735,3,"#000018ec","#000017a8","info ","usercntmaad","exit loop: 0"
2013-03-28,14:45:43,735,3,"#000018ec","#000017a8","info ","usercntmaad","Users counted: 0"
2013-03-28,14:45:43,735,3,"#000018ec","#000017a8","info ","usercntmaad","Reporting 0 users."Workaround / Fix Details
From a customer's perspective, this should not be an issue in itself. It might only make it difficult for him to determine how many licenses he must purchase.
From a technical point, this issue allows him to archive a very large amount of users with the smallest license (e.g. archive 1000 users with a 5 user license).
-----
Fixed in build 20130704.Required Actions
Update to 20130704 or newer (but normally this is not a problem from the customer side).