0X0000200C

Fix ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED (0X0000200C) in AD

This error pops up when Active Directory can't find an attribute type you're trying to use. Usually happens after a bad schema update or a typo in PowerShell.

You're in the middle of a PowerShell script or maybe running an LDP.exe query, and then—bam—you get error 0X0000200C. It says The attribute type specified to the directory service is not defined. This usually happens when you try to read or write an attribute that doesn't exist in the Active Directory schema. For example, you might have a custom app that added a new attribute but the schema update failed halfway, or you're using a misspelled attribute name like employeeID instead of employeeNumber. I've seen this a lot when teams try to bulk-import users with a tool that expects an attribute from another AD forest.

What causes this error?

The root cause is simple: AD doesn't know what attribute you're talking about. Every attribute in Active Directory must be defined in the schema first. The schema is like a dictionary—it tells AD what attributes exist and what data type they hold. If you try to use customAttribute1 without ever adding it to the schema, AD throws this error. Another common trigger is a corrupted schema after a failed update from an older Windows Server version like 2012 R2 to 2019.

How to fix it

Here's the fix. I'm going to walk you through three methods. Start with the easiest one first.

Method 1: Check for typos (most common fix)

  1. Open PowerShell as Administrator.
  2. Run this command to list all attributes in your AD:
    Get-ADObject -Filter {ObjectClass -eq 'attributeSchema'} -Properties lDAPDisplayName | Select-Object -ExpandProperty lDAPDisplayName | Sort-Object
  3. Look through the list for the exact attribute name you're using. If it's not there, you found the problem.
  4. If it's a typo, correct your script or query. For example, change employeeID to employeeID (note the 'D' vs 'd' — it's case-insensitive but spelling matters).

Method 2: Add the missing attribute to the schema

If the attribute really should exist but doesn't, you need to extend the schema. Be careful—schema changes are permanent and replicate across the whole forest.

  1. Log into a domain controller with Schema Admin privileges.
  2. Open ADSI Edit. Connect to the Schema partition (look for CN=Schema,CN=Configuration,DC=yourdomain,DC=com).
  3. Right-click the Schema container and choose New > Attribute.
  4. Give it a name. For example, if you need employeeID, set the lDAPDisplayName to employeeID.
  5. Set the syntax. For a text string, use Unicode String.
  6. Click OK. Now wait for replication or force it with repadmin /syncall.
  7. Retry your original operation.

Method 3: Fix a broken schema update

If the schema update failed halfway, you might have a partially created attribute. Here's how to check:

  1. Run this command in PowerShell:
    Get-ADObject -Filter {ObjectClass -eq 'attributeSchema' -and Name -like '*partial*'} -Properties * | FL
  2. If you see an attribute with a mangled lDAPDisplayName or missing attributeSyntax, delete it.
    Remove-ADObject -Identity "CN=YourPartialAttribute,CN=Schema,CN=Configuration,DC=yourdomain,DC=com" -Confirm:$false
  3. Then re-run the schema update from your custom app or script.

What to check if it still fails

If none of these work, you're probably looking at replication issues. Check that the schema master is online and reachable. Run repadmin /showrepl to see if changes are syncing. Sometimes the error is just a delay—wait 15 minutes and try again. Also make sure you're running your script on a domain controller that has the latest schema version. You can check with Get-ADForest | Select-Object SchemaMaster.

One more thing: if you're using a third-party tool like Quest or ManageEngine, it might be sending an attribute name with a space or special character. Strip those out. I've seen that trip people up more than once.

Related Errors in Server & Cloud
0XC00D11A3 Fix NS_E_WMP_MSSAP_NOT_AVAILABLE (0XC00D11A3) on Windows Media Player 0X000019CD 0X000019CD Fix: Log Service Marshaling Buffers Exhausted 0X000006B0 Fix RPC_S_TYPE_ALREADY_REGISTERED 0X000006B0 in 5 Steps 0X0000071F RPC_S_NOT_RPC_ERROR 0x0000071F – What It Means and How to Fix It

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.