Microsoft Active Directory allows only a single Naming Attribute to be used when creating LDAP objects.
We have seen where this causes issues with various IDM connectors where any event that goes into Active Directory will come back from Active Directory as a new event.
That being said, other than EDirectory, Microsoft has the second best replication and Multi-master replication system available.
http://msdn.microsoft.com/library/sdkdoc/adschema/attrdetl_0yed.htm
Note the Attribute-ID (OID), "2.5.4.3". The page also indicates that the information is subject to change (let's hope it does so).
Various members of the list (and off-list) have checked the standards and reported that the following all define the attribute (same OID) to be multi-valued (not single-valued):
Testing against some existing LDAPv3 servers Netscape Directory 4.0 and Novell EDirectory LDAPv3 shows that they accept "cn" as multi-valued.
The discussion was in relation to RFC 2307 (and whether or not AD could really be compliant with the existing schema given this - and other - limitations and namespace clashes).
Microsoft Active Directory does not maintain backlinks and therefore the ACL for each resource to which the user has been granted access must be manually updated to remove the user. To illustrate the significance of this problem, consider a realistic instance in which a user has been granted access to 20 resources. After deleting the user from AD, an erroneous reference to that user will continue to appear in the ACL for each of those 20 resources until the administrator manually edits the ACL for each of them or until an automated AD "clean up" function eventually removes them. In a large network, the scale of this problem and the administrative costs that would result are significant. AD’s lack of backlinks also prevents administrators from easily determining the network resources to which a user has been granted access, therefore making administrative actions requiring this knowledge more difficult, and therefore costly, to perform.
Microsoft Active Directory statically stores the full access rights for a network entity in the access control list (ACL) of its associated object. While inheritance ensures that access rights changes to a parent object are eventually applied to all child objects, the method by which access rights are calculated is quite different from NDS. If the rights of a parent are changed, AD subsequently rebuilds the ACL list for each and every child object to cause their ACLs to reflect the change. This rebuilding process is a computer intensive function that consumes considerable CPU cycles and requires a significant amount of disk space. There is a delay between the time that a parent object’s rights are changed and the time when the ACLs of its child objects are rebuilt, and therefore the access rights changes to the parent object will not be immediately applied to child objects. There is a recent development of using Dynamic Authorization Management in Microsoft Active Directory
Microsoft Active Directory allows delegation to Users and Groups only (Security Principal Objects), which limits the usefulness of the delegation feature. Because Microsoft Active Directory does not allow delegation of rights to an OU object, AD requires administrators to define and set up an additional Group object for each type of delegation that is to apply to more than one administrator. In this system, administrators must personally have knowledge of which groups to add each new administrator to because AD doesn’t logically represent such knowledge via the directory tree hierarchy as NDS does. Such knowledge is difficult to learn, remember, and share, particularly in large companies with significant turnover and organizational flux.
Its kinda like the situation I run into with web caching. A developer updates a page on the a web server and then winds up calling me when he cannot see his updates in the browser. His webbrowser has cached the page and is not requesting an update from the webserver. It will resolve itself ultimately or the user can clear the browser's cache or force an update from the webserver ( hold down shift key and press reload).
This is a new unexpected result for network admins used to WINS. Take a situation where users cannot contact a new server because DNS server has a missing host (A) record. You add the missing record but the users still get Invalid host name when they ping the server name. Oddly enough, when pinging from an NT workstation or linux workstation it now works! What's the problem? The W2K clients cached the NACK they received from the original query and W2K is not going back to the DNS server for a fresh look up (just like the browser does refresh its cache).
To verify the contents of the DNS cache use ipconfig at the command line:
ipconfig /displaydns
You will see the negative cache entries (NAKs). IPCONFIG can be used to flush the DNS cache:
ipconfig /flushdns
W2K's default caches records for an hour. This is the timeout interval specified in the Start Of Authority (SOA) record for the primary DNS master for the zone that contains the record. If you change the Timeout default be cautious. Reducing the cache interval can cause increased network traffic while increasing it can make it take longer for changes in IP Addresses to be recognized by clients.
If you want to experiment with the cache interval:
Windows Server 2000 DNS secondaries will be updated via W2K's update notification. Unix and other non-Windows 2000 secondaries require you to force a zone transfer to propagate the change throughout your network.
To change W2K Pro's default behavior of caching NAKs, use the following Windows registry hack:
Hive: HKEY_LOCAL_MACHINE Key: System\CurrentControlSet\Services\DNSCache\Parameters Name: NegativeCacheTime Type: REG_DWORDSet the NegativeCacheTime value to 0 to disable NACK caching.
You can not use Group Policy to control this behavior in W2K Pro. You can distribute the change to client workstations by including a Windows registry update in logon scripts. Use Regedit to save the Windows registry entry to a .reg file, save it in logon script directory and include a call to it in the logon script: regedit /I no_nak.reg
Starting with Windows Server 2003, the ability to replicate discrete changes to linked MULTI-VALUE attributes was introduced as a technology called Linked Value Replication (LVR). To enable LVR, you must increase the forest functional level to at least Windows Server 2003 interim. Increasing the forest functional level changes the way that group membership (and other linked multivalued attributes) is stored in the database and replicated between domain Controllers. This allows the number of group memberships to exceed the former recommended limit of 5,000 for Windows Server 2000 or Windows Server 2003 at a forest functional level of Windows 2000.
So far, testing in this area has yet to reveal any new recommended limits to the number of members in a group or any other linked multivalued attribute. Production environments have been reported to exceed 4 million members, and Microsoft scalability testing reached 500 million members.