This happens when you are trying to create or modify an object in the directory and the server rejects some aspect of the modification. This error can occur for a variety of different reasons, as the directory provides multiple levels of validation on modification operations. For example, the directory enforces rules defined in the schema, rules for naming objects in the directory hierarchy, and rules for certain attributes in the directory that must be enforced in order for the server to function correctly, such as the contents of specific attributes.
If this error occurs during object creation, Chapter 3 is the place to start for information about object creation and mandatory attributes. If this error occurs while updating an object, Chapter 6 provides a wealth of information about the various attribute syntaxes and rules for updating them.
It may also be worth reviewing some of the special rules for creating and modifying user and group objects in Chapters 10 and 11, respectively.
Part I: Fundamentals
Introduction to LDAP and Active Directory
Introduction to .NET Directory Services Programming
Binding and CRUD Operations with DirectoryEntry
Searching with the DirectorySearcher
Advanced LDAP Searches
Reading and Writing LDAP Attributes
Active Directory and ADAM Schema
Security in Directory Services Programming
Introduction to the ActiveDirectory Namespace
Part II: Practical Applications
Part III: Appendixes
Appendix A. Three Approaches to COM Interop with ADSI
Appendix B. LDAP Tools for Programmers
Appendix C. Troubleshooting and Help