2016-10-03 256 views
0

我想用沒有用戶名和密碼的mstsc.exe連接到遠程機器。因爲我想連接它沒有用戶名和密碼,那麼它應該與鎖會話狀態連接。沒有用戶名和密碼的遠程桌面連接

所以我想是這樣的,

  1. 用戶將輸入的IP地址並點擊連接按鈕。
  2. 機器應該連接到鎖定狀態。

我已經嘗試了下面的代碼,但它沒有奏效。

 Process rdcProcess = new Process(); 
     rdcProcess.StartInfo.FileName = Environment.ExpandEnvironmentVariables(@"%SystemRoot%\system32\mstsc.exe"); 
     rdcProcess.StartInfo.Arguments = "/v " + "123.0.0.1 /public"; // ip or name of computer to connect 
     rdcProcess.Start(); 

有什麼辦法用戶將能夠使用C#做到這一點?

感謝

-Sanket

回答

0

這是不可能的 - 在Microsoft Windows遠程桌面服務器不允許未經身份驗證的入站連接,原因是顯而易見的。未設置密碼的用戶帳戶無法登錄到遠程桌面,並且沒有允許匿名驗證的配置選項。作爲替代,我建議使用VNC服務器,它的工作方式不同(它共享VNC服務器啓動時的會話並鏡像會話的幀緩衝區,而不是與其他會話分開的真正遠程桌面會話,使用GDI重定向)。您可以將VNC服務器配置爲不需要密碼進行連接,但當然,強烈建議不要這樣做。

但是,我沒有意識到任何VNC服務器只允許最多1個連接並阻止輔助連接,但由於幾乎整個VNC生態系統都是開源的,您可以修改現有服務器以表現您的行爲想要它。一種可能性是建立一個沒有密碼的VNC服務器,然後一旦用戶連接它就設置一個新的隨機生成的密碼,從而阻止其他客戶端連接。它會在當前客戶端斷開連接時清除密碼。

+0

我明白了。好的。感謝您的答覆。 –