本文提供嘗試啟用 Windows 時0xC004E002錯誤的解決方案。
原始 KB 編號: 978305
徵兆
當您嘗試啟用 Windows Vista、Windows Server 2008、Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 或 Windows Server 2012 R2 時,您可能會收到下列其中一個錯誤訊息:
程序代碼:0xC004C003
描述:啟用伺服器判斷指定的產品密鑰已遭到封鎖。
程序代碼:0xC004E002
描述:軟體授權服務回報授權存放區包含不一致的數據。
原因
發生此問題的原因是在Tokens.dat檔案上設定了不正確的許可權,或此檔案已損毀。
解決方法
若要解決此問題,請依序嘗試下列方法。
方法 1:將正確的許可權設定為Tokens.dat檔案
選取 [ 開始],然後在 [ 搜尋 ] 方塊中輸入 Cmd。
以滑鼠右鍵按兩下 Cmd,然後選取 [ 以系統管理員身分執行]。
在命令提示字元中,根據操作系統輸入下列命令,然後按 ENTER:
針對 Windows Vista 或 Windows Server 2008:
icacls %windir%\serviceprofiles\networkservice\appdata\roaming\microsoft\softwarelicensing /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NT Service\slsvc:(OI)(CI)(R,W,D)"
tokens.dat的正確許可權看起來應該像 icacls 的輸出:
tokens.dat NT AUTHORITY\SYSTEM:(I)(F) BUILTIN\Administrators:(I)(F) NT SERVICE\SLSVC:(I)(R,W,D)
適用於 Windows 7 或 Windows Server 2008 R2:
icacls %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NETWORK SERVICE:(OI)(CI)(F)"
token.dat的正確許可權看起來應該像 icacls 的輸出:
tokens.dat NT AUTHORITY\SYSTEM:(I)(F) BUILTIN\Administrators:(I)(F) NT AUTHORITY\NETWORK SERVICE:(I)(F)
針對 Windows 8、Windows Server 2012、Windows 8.1 或 Windows Server 2008 R2:
icacls "%windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\WSLicense" /grant "BUILTIN\Administrators:(OI)(CI)(F)" "NT AUTHORITY\SYSTEM:(OI)(CI)(F)" "NETWORK SERVICE:(OI)(CI)(F)"
tokens.dat的正確許可權看起來應該像 icacls 的輸出:
tokens.dat NT AUTHORITY\SYSTEM:(I)(F) BUILTIN\Administrators:(I)(F) NT SERVICE\WSService:(OI)(CI)(R,W,D)
關閉 [命令提示字元] 視窗。
注意
您必須從提升許可權的命令提示字元輸入此命令。
方法 2:重新命名Tokens.dat檔案
選取 [ 開始],然後在 [ 搜尋 ] 方塊中輸入 Cmd。
以滑鼠右鍵按兩下 Cmd,然後選取 [ 以系統管理員身分執行]。
在命令提示字元中,輸入下列命令,然後按 ENTER。
適用於 Windows Vista 或 Windows Server 2008
net stop slsvc
針對 Windows 7 或 Windows Server 2008 R2
net stop sppsvc
針對 Windows 8、Windows Server 2012、Windows 8.1 或 Windows Server 2008 R2
net stop sppsvc
注意
如果您收到訊息,詢問您是否要繼續執行這項作業,請輸入 Y,然後按 ENTER。
輸入下列命令,然後按 ENTER 鍵。
適用於 Windows Vista 或 Windows Server 2008
cd %windir%\serviceprofiles\networkservice\appdata\roaming\microsoft\softwarelicensing
針對 Windows 7 或 Windows Server 2008 R2
cd %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform
針對 Windows 8、Windows Server 2012、Windows 8.1 或 Windows Server 2008 R2:
cd %windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\WSLicense
輸入下列命令,然後按 ENTER:
ren tokens.dat tokens.bar
輸入下列命令,然後按 ENTER:
針對 Windows Vista 或 Windows Server 2008
net start slsvc
針對 Windows 7 或 Windows Server 2008 R2
net start sppsvc
針對 Windows 8、Windows Server 2012、Windows 8.1 或 Windows Server 2008 R2:
net start sppsvc
輸入下列命令,然後按 ENTER:
cd %windir% \System32
輸入下列命令,然後按 ENTER:
cscript slmgr.vbs -rilc
重新啟動計算機兩次,變更才會套用。
是否已修正問題
檢查該問題是否已修正。 如果問題已修正,您已完成本節。 如果問題未修正,針對 Windows 7 或 Windows Server 2008,您可以 連絡支持人員。 Windows Vista 不再提供輔助支援。
資料收集
若您需要 Microsoft 支援,建議您按照使用 TSS 收集部署相關問題的資訊所述步驟來收集資訊。