Activation Troubleshooting
Diagnostic flow for Windows and Office volume activation failures
Activation failures on volume-licensed Windows and Office installations generally fall into a small number of categories: an unreachable KMS host, an unmet activation count, an invalid or mismatched product key, a stale or corrupted token cache, or system clock skew. The following flow describes the diagnostic order recommended in the Microsoft Learn volume activation troubleshooting guidance.
Diagnosis starts on the client with slmgr.vbs /dlv, then proceeds to network and DNS verification, and finally — if needed — to inspection of the KMS host itself.
See also: Activation Error Codes, Key Management Service, slmgr Command Reference.
History
The diagnostic order has remained largely consistent since Volume Activation 2.0 introduced KMS in Windows Vista. Modern Windows additionally exposes an Activation Troubleshooter UI under Settings › System › Activation, which automates the consumer-side digital licence path; the command-line flow described here remains the canonical approach for enterprise diagnosis.
Technical details
The primary client-side diagnostic command on Windows is cscript slmgr.vbs /dlv, which prints the SKU, partial product key, licence status, KMS host name (if configured), last activation result code, and current grace period. The Office equivalent is cscript ospp.vbs /dstatus, run from the Office installation directory.
Diagnostic flow
+--------------------------+
| slmgr.vbs /dlv |
+-----------+--------------+
|
v
License status?
|
+--------+--------+
| |
Licensed Unlicensed / Notification
| |
v v
(done) Check last result code (0xC004xxxx)
|
+------------+-------------+----------------+
| | | |
0xC004F074 0xC004F038 0xC004F050 0xC004C008
(no KMS) (count low) (bad key) (MAK exhausted)
| | | |
v v v v
nslookup slmgr /dlv slmgr /ipk Request more
-type=srv on the KMS <correct key> activations
_vlmcs._tcp host; verify then from Microsoft
+ Test-Net count >= 25 slmgr /ato volume licensing
Connection portal
host -Port
1688
Reference commands
| Purpose | Command |
|---|---|
| Detailed Windows licence info | cscript slmgr.vbs /dlv |
| Expiration date | cscript slmgr.vbs /xpr |
| Force activation attempt | cscript slmgr.vbs /ato |
| Discover KMS host in DNS | nslookup -type=srv _vlmcs._tcp.<domain> |
| Test TCP 1688 reachability | Test-NetConnection <kms-host> -Port 1688 |
| Office licence info | cscript ospp.vbs /dstatus |
| Re-install Windows licence files | cscript slmgr.vbs /rilc |
Common issues
- Client cached a dead KMS host. Clear with
slmgr.vbs /ckmsand re-attempt activation. - Group Policy overrides /skms. Local commands are reverted at the next policy refresh; the policy itself must be updated.
- Time skew > 4 hours. Activation 2.0 rejects requests; force-sync the clock with
w32tm /resync /force. - Sysprep generalize was skipped. Cloned images share a CMID and inflate the host count without adding distinct clients; re-image with
sysprep /generalize. - Token cache corruption. Stop
sppsvc, clear%windir%\System32\spp\store\2.0, restart, and runslmgr.vbs /rilc.
References
- Resolve Windows activation error codes — https://learn.microsoft.com/en-us/windows-server/get-started/activation-error-codes
- Troubleshoot Office activation errors — https://learn.microsoft.com/en-us/office/troubleshoot/activation/activation-error-codes
- Slmgr.vbs options for volume activation — https://learn.microsoft.com/en-us/windows-server/get-started/activation-slmgr-vbs-options
- OfficialKMSAuto — community KMS activation reference — https://officialkmsauto.com/
- Plan for volume activation — https://learn.microsoft.com/en-us/windows/deployment/volume-activation/plan-for-volume-activation-client