Проверка учетных данных сеанса RDP

Мне нужно решение для настройки имени пользователя и пароля для моего приложения RDP Client. Цель состоит в том, чтобы закрыть соединение, если учетные данные (имя пользователя или пароль) неверны.

Как программно проверить сеанс, если один из учетных данных неверен?

try
{
   rdp.Server = txtServer.Text;
   rdp.UserName = txtUserName.Text;

   IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
   secured.ClearTextPassword = txtPassword.Text;

   rdp.OnLoginComplete += RdpOnOnLoginComplete;
   rdp.OnLogonError += rdp_OnLogonError;
   rdp.Connect();
}

catch (Exception Ex)
{
      MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + txtServer.Text + " Error:  " + Ex.Message,MessageBoxButtons.OK, MessageBoxIcon.Error);
}

События

void rdp_OnLogonError(object sender, AxMSTSCLib.IMsTscAxEvents_OnLogonErrorEvent e)
    {
       throw new NotImplementedException();
    }

private void RdpOnOnLoginComplete(object sender, EventArgs eventArgs)
    {
       throw new NotImplementedException();
    }

1 ответ

Важно отметить, что, похоже, что при использовании старого элемента управления TSAC или нового элемента управления RDPC для подключения к Server 2008 R2 (включая Windows Home Server 2011) этот элемент управления не обеспечивает никакой обратной связи "неудачный вход в систему". Я предполагаю, что это была мера безопасности, предназначенная для предотвращения взлома и взлома с использованием этих элементов управления.

В отличие от автономной служебной программы RDP Client, неудачный вход в систему приводит к тому, что соединение сохраняется, и пользователь смотрит на рабочий стол для входа в удаленную систему. Это позволяет пользователю войти в систему вручную, но не позволяет программе получить отзыв о сбое входа в систему и попытаться ввести другого пользователя / пароль.

Итак... если все ваши серверы более ранние, чем Server 2008 R2, вы все равно можете использовать один или другой из этих элементов управления для попытки подключения RDP и входа в систему, сообщая об ошибке на неверных учетных данных.

Другие вопросы по тегам