伺服器會凍結,或使用者登入來使用 RDP 連線到 Windows Server 2012 或 Windows Server 2012 R2 很慢

適用於: Windows Server 2012 DatacenterWindows Server 2012 StandardWindows Server 2012 Essentials

狀況


當您建立遠端桌面通訊協定 (RDP) 連線到執行 Windows Server 2012 或 Windows Server 2012 R2 的電腦時,電腦就會凍結。

在其他情況下,您可能會看到新的使用者登入它們會出現無回應程度下轉送較慢。使用者輸入認證之前,也可能會發生延遲。

原因


之所以發生這個問題,是因為牽涉到終端機服務 」 (termsrv.dll)、 lsass (kerberos),以及重新導向器發生死結狀況。終端機服務的嘗試時,就會發生死結,發行網域控制站的遠端登錄呼叫載入使用者的組態資料。

當您遇到較慢或停止回應的登入時,終端機伺服器服務會對網域控制站中的 API 呼叫,而且這些往返產生明顯的延遲。這可能會發生,原因如下:

  • 網域控制站的網路連結很慢,壅塞和查看框架遺失,以及傳輸資料的重試次數與花費大量時間。
  • 網域控制站會遭遇本機的效能問題,並緩慢回應要求。

解決方案


現在是在使用者登入期間,關閉 [網域控制站要求的選項。這可以避免寄不出鎖定的視窗,並修正效能問題。

若要在 Windows Server 2012 修正這個問題,您必須先升級到 Windows Server 2012 R2。在 Windows Server 2012 R2,建立fQueryUserConfigFromLocalMachine登錄項目,根據下列步驟。

Important
仔細遵循本章節中的步驟。如果您不當修改登錄,可能會發生嚴重的問題。修改後,還原登錄備份之前萬一發生問題。

若要變更登錄,請依照下列步驟執行:

  1. 啟動登錄編輯程式。(請按 Windows 標誌鍵 + R,鍵入regedit.exe開啟] 方塊中,然後按一下[確定])。
  2. 在 「 登錄編輯器 」 中,找出並再按其中一個下列的登錄子機碼:
     
    • HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal 服務
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\ < 連線名稱 >

      注意根據預設,< 連線名稱 > 的值是Rdp-tcp。這個值Rdp-tcp,可以重新命名,或設定為其他項目。

      RDP-Tcp
  3. 在 [編輯] 功能表中,選取 [新增],然後選取DWORD 值
  4. 請輸入fQueryUserConfigFromLocalMachine
  5. 按下並按住不放 (或按一下滑鼠右鍵) fQueryUserConfigFromLocalMachine,然後再選取的修改
  6. 在 [數值資料] 方塊中,輸入1,然後選取[確定]
  7. 結束登錄編輯程式。

您也可以升級到 Windows 伺服器 2016,若要修正這個問題。

注意 You 並沒有更新在 Windows 伺服器 2016年的登錄機碼,是預設更新的行為