@Apoorv0802 -
The error you’re seeing is because Active Directory is rejecting the distinguished name (DN) due to a formatting issue. In AD, commas are used to separate the different components (RDNs) of the DN. When your generated CN value itself contains a comma (as in PATEL,AMAN(A)
), AD misinterprets it as two separate RDNs unless you escape the comma.
What’s Happening
Your current generator pattern is:
CN=$(lastname),$(firstname)$(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
For a user with the first name AMAN and last name PATEL, this produces:
CN=PATEL,AMAN(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
Here, the comma in PATEL,AMAN(A)
is not escaped. Active Directory interprets it as:
CN=PATEL
AMAN(A)
(with no attribute key)
This makes the DN syntactically invalid, leading to the error:
The server is unwilling to process the request.
How to Fix It
To include a literal comma in an attribute value (like in the CN), you must escape it with a backslash. So, update your pattern to escape the comma within the CN value:
CN=$(lastname)\,$(firstname)$(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
Now, for AMAN PATEL, the generated DN becomes:
CN=PATEL\,AMAN(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
This tells Active Directory that the comma is part of the CN value rather than a separator between RDNs.
Steps to Implement
-
Modify the Pattern:
In your SailPoint IdentityNow AD account create profile, change the pattern from:
CN=$(lastname),$(firstname)$(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
to:
CN=$(lastname)\,$(firstname)$(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
-
Test the Change:
Provision a test account (for example, for AMAN PATEL) and verify that the DN is now being generated as:
CN=PATEL\,AMAN(A),OU=Employees,OU=XYZ Users,DC=ABC,DC=com
Ensure that Active Directory accepts this DN without error.
-
Deploy:
Once confirmed, deploy the change to your production environment.
Note:
Always ensure that any special characters in DN attribute values (like commas, plus signs, etc.) are properly escaped according to LDAP/AD standards. This will help avoid similar provisioning errors in the future.
If you have any further questions or run into additional issues, feel free to ask!