如果另一位使用者在 Windows Server 2012/R2 或 Windows Server 2008/R2 中登出遠端桌面會話,則應用程式會崩潰或變得無回應

本文可協助修正此問題:當其他使用者登出遠端桌面會話時,應用程式會損毀或變得無回應。

原始產品版本:   Windows Server 2012 R2
原始 KB 編號:   2536487

徵狀

當您從對應的磁片磁碟機執行應用程式時,當其他使用者登出時,該應用程式會變得無回應或崩潰 (或多個使用者) 。 在 Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 Service Pack 1 (SP1) 和 Windows Server 2008 中,就會發生此問題。 例如,下列案例可能會發生這個問題:

  • 一部伺服器是檔案伺服器,另一部是遠端工作階段主機伺服器 (終端伺服器) 。

  • 檔案伺服器上的資料夾已對應,供遠端使用者連線到 RDS 伺服器使用。

  • 對應共用上的應用程式是由多個使用者啟動。

  • 一個使用者登入。 這會導致應用程式的其他使用者遇到應用程式損毀或回應為。 視作業系統版本而定,當應用程式的第一個或最後一個使用者關閉時,就會發生這個問題,如下所示:

    • 在 Windows Server 2012 R2、Windows Server 2012 及 Windows Server 2008 中,當第一個登入的使用者已登出時,就會發生這個問題。
    • 在 Windows Server 2008 R2 SP1 中,當最後一個登入的使用者已登出時,就會發生此問題。

注意

在 Windows Server 2008 R2 SP1 中,此行為會變更為 Windows Server 2012 R2、Windows Server 2012 及 Windows Server 2008 在您安裝 修復程式 2559767之後的行為。

原因

發生此問題的原因在於,重新導向程式處理檔案控制區塊的方式 (FCB) 中有問題的二進位檔案。

在 Windows Server 2012 R2、Windows Server 2012 及 Windows Server 2008 中,FCB 是由開啟該檔案的第一位使用者所擁有,而這個 FCB 是由後續的使用者使用。 當第一位使用者登入時,FCB 是孤立的。 這會導致應用程式在後續使用中損毀或變得無回應。
在 Windows Server 2008 R2 中,FCB 是由上次開啟該檔案的使用者所擁有,而先前的使用者在最後一部使用者登入時遇到問題。

從技術上而言,FCB 不歸任何特定使用者所有。 它只是代表檔的共用結構。 當開啟檔案的第一個控制碼時,即會建立 FCB,而且會在關閉檔案的最後一個控制碼時銷毀。 因此,它不會受限於使用者。

「孤立實體」是隸屬于登出之使用者的 file 物件。 如果該檔案物件會支援檔案系統快取或對應的區段,您會遇到這些 I/O 錯誤。

解決方案

若要解決此問題,請升級至 Windows Server 2016。 此問題已在此版本的 Windows Server 中修正。

因應措施

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

  • 請勿從對應的資料夾中執行共用應用程式。 請改為在本機的終端機伺服器上安裝共用應用程式。
  • 如果需要遠端二進位共用,請使用 WebDAV 共用,而不是對應的資料夾。
  • 使用 [ 從網路交換執行 ] 連結器設定來編譯應用程式:
  • 如果應用程式是受管理的應用程式,請使用 陰影複製功能

注意

建議您不要以遠端方式執行二進位檔案。 在這種情況下,建議您先使用第一個解決方法。