共用方式為


當您使用域控制器將計算機加入網域時,「沒有足夠的記憶體可用來完成這項作業」錯誤訊息

當您使用域控制器將計算機加入網域時,本文提供「沒有足夠的記憶體可用來完成這項作業」錯誤的解決方案。

原始 KB 編號: 935744

徵兆

當您使用 Microsoft Windows Server 2003 或更新版本域控制器將Microsoft Windows XP 或更新版本的用戶端電腦加入網域時,您可能會收到類似用戶端電腦上如下的錯誤訊息:

嘗試加入網域 「domain_name.com」時發生下列錯誤:沒有足夠的記憶體可以完成這項作業。

此外,下列警告訊息可能會記錄在用戶端電腦上的系統記錄檔中:

原因

發生此問題的原因是驗證期間產生的 Kerberos 令牌大於固定的大小上限。 在原始版本的 Microsoft Windows 2000 中,MaxTokenSize 登錄專案的預設值為 8,000 個字節。 在 Windows 2000 Service Pack 2 (SP2) 和更新版本的 Windows 中,MaxTokenSize 登錄專案的預設值為 12,000 個字節。

例如,如果使用者是群組的成員,或是由另一個群組的成員資格,該群組的安全性標識碼 (SID) 就會新增至使用者的令牌。 若要將 SID 新增至使用者的令牌,必須使用 Kerberos 令牌來傳達 SID 資訊。 如果必要的 SID 資訊超過令牌的大小,驗證就會失敗。

解決方法

重要

這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必小心執行下列步驟。 為增加保護起見,請先備份登錄,再進行修改。 然後,如果發生問題,您就可以還原登錄。 如需有關如何備份和還原登錄的詳細資訊,請按一下以下文章編號來檢視 Microsoft 知識庫 文章:
322756 如何在 Windows 中備份和還原登錄

若要解決此問題,請增加 Kerberos 令牌大小。 在記錄 Kerberos 事件的用戶端電腦上遵循下列步驟。

  1. 按一下 [開始],按一下 [執行],輸入 regedit,然後按一下 [確定]

  2. 找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

    注意

    如果參數索引鍵不存在,請建立金鑰。 若要這樣做,請遵循下列步驟:

    1. 找出並按一下下列登錄子機碼:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos
    2. 在 [ 編輯 ] 功能表上,指向 [ 新增],然後按兩下 [ 索引鍵]。
    3. 輸入參數 ,然後按 ENTER 鍵。
  3. [編輯] 功能表中,指向 [新增],然後按一下 [DWORD 值]

  4. 輸入 MaxTokenSize,然後按 ENTER。

  5. 在 [ 編輯] 功能表上,按兩下 [ 修改]。

  6. 在 [基底] 區域中,按兩下 [十進位],在 [值數據] 方塊中輸入 65535,然後按兩下 [確定]。

    注意

    MaxTokenSize 登錄項目的預設值為 12,000 的十進位值。 建議您將此登錄項目值設定為 65,535 的十進位值。 如果您將此登錄專案值錯誤地設定為 65,535 的十六進位值,Kerberos 驗證作業可能會失敗。 此外,程式可能會傳回錯誤。

  7. 結束登錄編輯程式。

  8. 重新啟動電腦。

其他相關資訊

如需詳細資訊,請按下列文章編號,以檢視Microsoft知識庫中的文章:

327825 當使用者屬於許多群組時,Kerberos 驗證問題的新解決方式