Подключение к удаленному рабочему столу без имени пользователя и пароля

Я хочу подключиться к удаленному компьютеру с помощью 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();

Есть ли способ, которым пользователь сможет сделать это с помощью С#?

Спасибо

-Санкет


person Sanket Shah    schedule 03.10.2016    source источник


Ответы (1)


Это невозможно — сервер удаленного рабочего стола в Microsoft Windows не разрешает входящие соединения без проверки подлинности по понятным причинам. Учетные записи пользователей, для которых не задан пароль, не могут войти в удаленный рабочий стол, и нет параметра конфигурации, разрешающего анонимную аутентификацию.

В качестве альтернативы я предлагаю использовать сервер VNC, который работает по-другому (он разделяет сеанс, в котором был запущен сервер VNC, и отражает буфер кадра сеанса, в отличие от настоящего сеанса удаленного рабочего стола, который отделен от других сеансов и использует перенаправление GDI) . Вы можете настроить сервер VNC так, чтобы для подключения не требовался пароль, но это, конечно, настоятельно не рекомендуется.

Тем не менее, я не знаю ни одного сервера VNC, который разрешает не более 1 подключения и предотвращает вторичные подключения, но, поскольку почти вся экосистема VNC имеет открытый исходный код, вы, вероятно, можете изменить существующий сервер, чтобы он вел себя так, как вы хотите. Одна из возможностей состоит в том, чтобы настроить сервер VNC без пароля, а затем, как только пользователь подключится, он установит новый случайно сгенерированный пароль, что предотвратит подключение других клиентов. Это очистит пароль, когда текущий клиент отключится.

person Dai    schedule 03.10.2016
comment
Понимаю. хорошо. Спасибо за ваш ответ. - person Sanket Shah; 05.10.2016