Benjamin
Benjamin

新人工程師,偶爾分享工作心得(預計?

無法使用Windows遠端桌面的解決辦法

「遠端桌面連線」是Windows內建的程式,可以輸入其他台電腦的使用者帳號密碼遠端登入,用滑鼠操作那台電腦的桌面。

上週上班要第一次遠端連線一台電腦進行程式更新時,出現了這樣的錯誤:

錯誤訊息

於此同時,公司內部還有另外兩台我原本連線過的電腦,與它們之間的連線都還是正常,讓我第一時間想著「是這台電腦沒開放連線嗎?」問了主管卻又說這台是有開放的,只好自己找辦法解決了。


根據搜尋結果,這個錯誤的發生是因為Windows自有的安全檢查機制發現我方或對方兩台電腦之中有一台的版本較舊,可能存在連線漏洞,需要先把兩台都完成系統更新否則不允許連線。

由於我能連上其他電腦,可以判斷需要更新的是連線目標而非我的電腦,在那台電腦不可能更新&重開機的條件之下,就只能找其他方法把這個檢查機制關掉了。

找方法的過程也費了一番功夫,有時是操作畫面與網站的截圖不同,有時是網站說明指定的執行檔在電腦上找不到,也是因為這些原因才會在解決問題之後想要發這篇文章整理經驗。


我的做法一開始是參考這篇其中的方法3

參考解法

照著打上路徑之後卻找不到對應的項目,讓我一時懷疑難道是Windows版本或其他環境差異造成的?

System往下沒有對應的項目可用

問過其他同事得到一串指令,說是只要照著打就能完成上面的設定修改(需要管理員權限)。

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2
使用命令提示字元操作

回頭確認登錄編輯程式的內容,發現這行指令把原本沒找到的設定建立起來了!

更新後的登錄編輯程式

這表示我原本以為編輯只能改值不能新增的想法是錯誤的,就算不用指令也應該可以操作才對,嘗試之後也發現確實如此。

新增的選項

只要在System下新增機碼CredSSP,在其中再新增機碼Parameters,之後再新增DWORD類型的變數AllowEncryptionOracle,並把值改為2就能達到一樣的效果。


從這次的經驗可以了解到,Windows這些設定並非有使用到就一定會建立,不存在就代表沒使用。這次的情況就是在程式中使用寫死的預設值,「萬一系統中沒能取得設定就預設使用0」。

所以未來如果還有什麼需要改系統設定的情況,或許可以直接用「這項設定在登錄編輯程式的何處設定」當搜尋目標,以此尋找解法。

參考資料:
https://kb.fast-line.tw/windows/876/
https://www.anyviewer.com/tw/how-to/remote-desktop-authentication-error.html

CC BY-NC-ND 4.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论