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

Мы используем много удаленных рабочих столов в нашей среде разработки, и много серверов развернуто в нескольких средах. Утомительно запоминать их IP-адреса, имена пользователей и пароли. Я хочу написать небольшую утилиту с кнопками на нем. При нажатии я хочу запустить эти удаленные рабочие столы, автоматически выбирая имена пользователей и пароли из некоторого списка.

Я знаю, что есть эквивалент командной строки для MS Remote Desktop: mstsc, Этот поток предлагает сделать это следующим образом:

cmdkey /generic:TERMSRV/"computername or IP" /user:"username" /pass:"password"
mstsc /v:"computer name or IP"

Я запускаю первую строку, и она говорит, что учетные данные успешно добавлены. Затем, когда я запускаю вторую строку, он просто запускает Remote Desktop Connection для указанного IP-адреса и запрашивает имя пользователя и пароль. Я хотел бы просто открыть удаленно подключенный рабочий стол по указанному IP-адресу, автоматически применяя учетные данные, указанные в cmdkey,

  • Что здесь не так? Возможно ли использовать такой скрипт Powershell?
  • Могу ли я вызвать этот сценарий через HTML-страницу (поскольку есть много других ресурсов, которые я буду размещать на веб-странице, которые будут служить единой точкой для наших разработчиков, поэтому мы не будем тратить время и силы на их поиск каждый раз, когда мы хочу их. Возможно ли это путем регистрации приложения по схеме URI?)
  • Есть ли другой (стандартный) способ?

3 ответа

Решение

Проблема в вашей попытке это параметр /generic,

Согласно официальному сайту для cmdkey, /generic

определяет имя компьютера или домена, с которым будет связана эта запись.

В моем примере я назову компьютер Computer01.

Вы хотите учетные данные, связанные с TERMSRV/Computer01? (Как ваш пример /generic:TERMSRV/"computername or IP" сказал)

Нет, вы хотите, чтобы он ассоциировался с обычным именем компьютера Computer01.

Тогда вы должны удалить TERMSRV/,

Рабочий результат:

cmdkey /generic:"computername or IP" /user:"username" /pass:"password"

На другие ваши вопросы:

  1. Смотрите ответ выше
  2. Я не знаю, возможно ли это только с HTML. Я так не думаю. Но я также реализую некоторые скрипты PowerShell в ASP.NET. Это работает.
  3. Смотрите ответ выше

Это очень старый вопрос. С тех пор многое изменилось. Многие сотрудники уже предложили использовать готовые инструменты, которые делают это. Еще в 2013 году магазин Windows не был тем прекрасным местом (* мое мнение). Но теперь все в порядке. В магазине есть приложение для удаленного рабочего стола Microsft. Приложение универсально, то есть работает на ПК, мобильном телефоне и голографии.

Что хорошего? Microsoft сделала такое же приложение доступным на Android. Я пробовал для ПК и Android. Оба отлично работают.

Так что попробуйте. Сейчас я постоянный пользователь этих приложений.

Это частично сработало для меня в Windows. После ввода двух приведенных ниже команд в командной строке откроется RDP для указанного IP-адреса. Но все же он попросил меня ввести пароль для другого имени пользователя (уже сохраненного имени пользователя в подключении к удаленному рабочему столу), отличного от имени пользователя, которое я ввел в команде cmd. Так как администратор не разрешает использовать сохраненные учетные данные для входа на удаленный компьютер.

      start cmdkey /generic:"enter your IP address" /user:"enter your username" /pass:"enter your password"
start mstsc /f /v:"enter your IP address"
Другие вопросы по тегам