共用方式為


當新用戶嘗試在 Windows Server 2008 R2 中透過 RDP 登入時,「沒有足夠的記憶體可用來處理此命令」錯誤

本文提供當新使用者透過遠端桌面通訊協定連線到伺服器時所發生錯誤的解決方案。

適用於: Windows Server 2008 R2 Service Pack 1
原始 KB 編號: 2877056

徵兆

您有不是網域成員的 Windows Server 2008 R2 型電腦。 伺服器的系統管理員會建立也是系統管理員的新用戶、設定新使用者的密碼,然後選取在下一次登入時要求變更密碼的選項。 當新的使用者透過遠端桌面通訊協定 (RDP) 連線到伺服器以進行第一次登入時,系統會提示您輸入新的密碼。 當使用者輸入新密碼並嘗試繼續時,他或她會收到下列錯誤訊息:

沒有足夠的記憶體可用來處理此命令。

密碼不會變更,而且當用戶嘗試再次登入時,會收到相同的錯誤訊息。

原因

發生此問題的原因是 RPC 執行時間收到錯誤。

具體來說,發生的案例如下:

密碼變更要求程式會由本地安全機構 (LSA) 放入匿名存取令牌中。 這是因為密碼無效,因此使用者未通過驗證。 使用此令牌時,密碼變更要求會透過 RPC 傳遞至本機安全性帳戶管理員(SAM)。 (RPC 之所以使用,是因為此時可能也會從遠端傳送要求。RPC 運行時間會讀取系統原則,以判斷正確的組態。 (組態為密鑰 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Rpc.中的 “Server2003NegotiateDisable” )

在此案例中,RPC 運行時間會收到此要求的錯誤 5「ACCESS_DENIED」,並將此錯誤對應至 RPC 錯誤 15 「RPC_S_OUT_OF_MEMORY」。

解決方法

若要解決這個問題,請使用下列其中一個方法:

  1. 使用設備從遠端變更使用者的密碼,在使用者透過 RDS 連線之前設定密碼。
  2. 變更下列登錄機碼上的登錄許可權,以啟用 ANONYMOUS LOGON 的讀取許可權,然後繼承登錄樹狀目錄的讀取許可權: HKEY_LOCAL_MACHINE\SOFTWARE\Policies
    在 Windows Server 2012 中,伺服器會拒絕密碼過期或設定為在下一次登入時變更的使用者登入。 在此情況下,您必須使用方法 1 來設定密碼。