| Previous | Next |
| ERROR_DS_GC_NOT_AVAILABLE | ERROR_POLICY_OBJECT_NOT_FOUND |
ERROR_SHARED_POLICY
The policy object is shared and can only be modified at the root.
The native value for ERROR_SHARED_POLICY is 8218 (0x0000201A). Preserve ERROR_SHARED_POLICY immediately after the failing Windows call because later logging, cleanup, LDAP, RPC, or file operations can replace the last-error value.
ERROR_SHARED_POLICY belongs to Active Directory Domain Services (AD DS). A diagnosis of ERROR_SHARED_POLICY must connect the condition to the producing API, current state, object identity, and first lower-level diagnostic.
Where this result appears
- For
ERROR_SHARED_POLICY, processing a policy object that is shared and writable only through its root. - For
ERROR_SHARED_POLICY, executing an LDAP, RPC, deployment, replication, or directory-management operation. - For
ERROR_SHARED_POLICY, working against a specific domain controller whose replica and schema state affect the result. - For
ERROR_SHARED_POLICY, translating extended directory diagnostics into a Win32 error for an application or administration tool.
State boundary to prove
ERROR_SHARED_POLICY applies to a policy object that is shared and writable only through its root and does not by itself prove that the entire server, directory, disk, session, or application is unavailable. The state boundary to prove for ERROR_SHARED_POLICY is whether the modification targets the authoritative root of the shared policy rather than an inherited or linked representation. Use policy object DN and object class, root/owner reference, and link and inheritance data as independent evidence. When evidence for ERROR_SHARED_POLICY disagrees, preserve timestamps and investigate the transition instead of selecting the most convenient value.
Likely causes
- For
ERROR_SHARED_POLICY, the caller edits a child or projection of shared policy. - For
ERROR_SHARED_POLICY, a policy link is mistaken for the owning object. - For
ERROR_SHARED_POLICY, the API targets a replicated copy instead of the root. - For
ERROR_SHARED_POLICY, the operation attempts to change data intended to be centrally managed.
Diagnostic sequence
- For
ERROR_SHARED_POLICY, capture error 8218 immediately at the API boundary and record the operation that was attempted. - For
ERROR_SHARED_POLICY, identify the exact owner of a policy object that is shared and writable only through its root, including object generation, server, path, session, replica, or client context. - For
ERROR_SHARED_POLICY, collect policy object DN and object class before restarting a service or changing configuration. - For
ERROR_SHARED_POLICY, compare root/owner reference with the documented or observed precondition. - For
ERROR_SHARED_POLICY, correlate link and inheritance data with the Directory Service event log, LDAP extended diagnostics, replication metadata, dcdiag and repadmin output, and the calling application’s request trace. - For
ERROR_SHARED_POLICY, determine whether side effects occurred and verify recovery after changing one responsible condition.
Evidence to collect
- For
ERROR_SHARED_POLICY, policy object DN and object class. - For
ERROR_SHARED_POLICY, root/owner reference. - For
ERROR_SHARED_POLICY, link and inheritance data. - For
ERROR_SHARED_POLICY, API target and requested attributes.
Correlate ERROR_SHARED_POLICY with the Directory Service event log, LDAP extended diagnostics, replication metadata, dcdiag and repadmin output, and the calling application’s request trace. Keep the first detailed status even when a later wrapper translates it to error 8218; the first status often distinguishes transport, authorization, storage, schema, state, and application-integrity causes that share the same final Win32 result.
Handling, retry, and recovery
For ERROR_SHARED_POLICY, the recovery objective is to locate and modify the policy root through the supported policy interface, preserving shared references and replication semantics.
Retry ERROR_SHARED_POLICY only after the recorded condition changes and completion state is known. For ERROR_SHARED_POLICY, idempotent queries may be repeated after recovery, but mutations require a state check first; backoff cannot repair malformed input, corruption, missing structure, or policy rejection.
Telemetry and support fields
- For
ERROR_SHARED_POLICY, recordshared_policy_apifor the producing function or management operation. - For
ERROR_SHARED_POLICY, recordshared_policy_targetfor the file, log, session, replica, object, or server identity. - For
ERROR_SHARED_POLICY, recordshared_policy_state_beforeandshared_policy_requested_transition. - For
ERROR_SHARED_POLICY, recordshared_policy_first_statusfor the earliest lower-level diagnostic.
For support escalation involving ERROR_SHARED_POLICY, retain decimal 8218, hexadecimal 0x0000201A, the API, UTC time, target identity, and first subsystem-specific status. For ERROR_SHARED_POLICY, include the smallest reproducible request and evidence that distinguishes this condition from nearby codes. In the context of ERROR_SHARED_POLICY, many ds codes are internal or management-facing and are not tied to one public function. the producing ldap, rpc, deployment, or management api must therefore be recorded with the code.
Difference from nearby results
For ERROR_SHARED_POLICY, ERROR_POLICY_ONLY_IN_DS means the requested information must be obtained from directory storage; this code means the located policy is shared and must be changed at its root
Practical validation scenario
A management tool edits a linked policy object beneath a site. Resolving the owner reference and applying the change to the root updates all consumers consistently. The negative test should preserve the responsible condition and reproduce ERROR_SHARED_POLICY; the recovery test should change only the identified cause, repeat the same operation, and verify both success and the absence of an unintended partial side effect.
Developer and administrator guidance
Administrators handling ERROR_SHARED_POLICY should preserve Directory Service events, replication metadata, and the contacted domain controller before changing objects or forcing role transitions. For ERROR_SHARED_POLICY, developers should retain LDAP extended diagnostics and object identities across wrappers so the Win32 code does not erase the actionable directory result. Code that exposes ERROR_SHARED_POLICY through RPC, JSON, REST, PowerShell, or another protocol should preserve the Win32 domain, decimal 8218, hexadecimal 0x0000201A, and original component diagnostic.
References
- Microsoft: Win32 system error range containing this code — official context relevant to
ERROR_SHARED_POLICY. - Microsoft: AD DS troubleshooting — official context relevant to
ERROR_SHARED_POLICY. - Microsoft: repadmin — official context relevant to
ERROR_SHARED_POLICY. - Microsoft: dcdiag — official context relevant to
ERROR_SHARED_POLICY. - Microsoft: AD and LDS diagnostic event logging — official context relevant to
ERROR_SHARED_POLICY.
Looking for a different code? Search another status or error code.