What does Windows error code 8620 (ERROR_NO_SECRETS) mean?

 
Previous Next
ERROR_NO_SITE_SETTINGS_OBJECT ERROR_NO_WRITABLE_DC_FOUND

ERROR_NO_SECRETS

The local account store does not contain secret material for the specified account.

ERROR_NO_SECRETS is Windows status 8620 (0x000021AC) associated with secret material for an account in the local account store. The system meaning is “this condition” Preserve the value at the API boundary because subsequent cleanup or logging calls can overwrite the last-error state.

Operational meaning

The key question is whether the authoritative account provider has the credential secret needed for the requested authentication operation. The value describes secret material for an account in the local account store; it does not prove that the whole domain, DNS service, network, servicing stack, application package, or operating system has failed.

Likely impact: Repeated local password operations cannot reconstruct secret material owned elsewhere. Record the scope that was actually tested instead of escalating from one rejected object or phase to a system-wide outage.

Where the result appears

  • This result can appear while processing secret material for an account in the local account store.
  • This result can appear while an LDAP, replication, domain-join, schema, trust, or directory-management request.
  • This result can appear while a request routed to one particular domain controller whose replica and site state matters.
  • It can appear while a management tool that translates LDAP extended diagnostics into a Win32 result.

Typical causes

  • the account was created without local secret material.
  • credential state belongs to an online provider.
  • a clone or restore omitted secret data.
  • the caller asks the wrong account authority.

Diagnostic sequence

  1. capture it immediately after the failing or status-returning call and record whether the API uses Win32, DNS_STATUS, HRESULT conversion, or callback semantics.
  2. identify the exact target involved in secret material for an account in the local account store, including stable GUIDs, DNs, zone names, package identities, file hashes, policy names, or process identifiers as applicable.
  3. prove the state boundary: the authoritative account provider has the credential secret needed for the requested authentication operation.
  4. collect account SID and provider and local SAM or LSA secret presence before restarting services, deleting objects, rebuilding packages, or changing policy.
  5. correlate join and provisioning history with Directory Service events, Security events, LDAP extended error text, replication metadata, dcdiag output, repadmin output, and the caller trace.
  6. determine whether the result is a failure, warning, informational completion, continuation request, or marker constant before choosing retry behavior.
  7. after changing one responsible condition, repeat the same smallest operation and verify both success and absence of unintended partial effects.

Evidence to preserve

  • collect account SID and provider.
  • collect local SAM or LSA secret presence.
  • collect join and provisioning history.
  • collect online-provider status.
  • collect the exact authentication operation.

Correlate this evidence with Directory Service events, Security events, LDAP extended error text, replication metadata, dcdiag output, repadmin output, and the caller trace. Preserve raw identifiers and the first detailed diagnostic: translating everything to 8620 can hide whether the cause was validation, topology, authorization, replication, policy, file I/O, packaging, or an intentional continuation state.

Recovery and retry

The recovery objective for it is to route the operation to the authoritative provider or reprovision the account secret through supported account-management flows.

Retry only after the recorded boundary changes and prior completion is known. Read-only discovery for it can usually be repeated with bounded backoff; directory mutations, DNS updates, policy installation, servicing actions, and PRI writes require a state check first. Backoff for it cannot repair malformed input, unsupported structure, identity collision, missing authority, or incompatible package metadata.

Telemetry and support fields

  • record no_secrets_operation — producing API, command, callback, or servicing phase.
  • record no_secrets_target — stable object, zone, policy, package, file, or account identity.
  • record no_secrets_state_before and no_secrets_requested_state.
  • record no_secrets_first_status — earliest component-specific code before translation.
  • record no_secrets_server, no_secrets_process, UTC timestamp, and correlation ID.

A support bundle for it should include decimal 8620, hexadecimal 0x000021AC, the smallest reproducible request, target identity, effective configuration, and evidence from the owning Windows component. When documenting it, remove secrets from exported logs but keep SIDs, GUIDs, package-family names, record types, and hashes when they are needed to distinguish objects.

Difference from nearby results

ERROR_INCORRECT_ACCOUNT_TYPE explicitly redirects to the proper provider; this code says the local store lacks the requested secret This distinction determines whether the correct next step is input correction, topology repair, continuation, policy review, package rebuild, or no error handling at all.

Practical validation scenario

A cloud-backed account is passed to a local secret operation. Provider metadata shows that authentication must be completed through the online account service. A negative test should reproduce it with the responsible condition preserved; the recovery test should alter only that condition and confirm the intended final state.

Developer and administrator guidance

Developers should model it explicitly in the result domain instead of collapsing every nonzero value into “failed.” Administrators should capture evidence before destructive remediation and use the component that owns secret material for an account in the local account store. Monitoring for it should suppress range markers and classify warning, informational, cancellation, and continuation values separately from terminal failures.

References


Looking for a different code? Search another status or error code.