Автоматизация подключения к удаленному рабочему столу
Мы используем много удаленных рабочих столов в нашей среде разработки, и много серверов развернуто в нескольких средах. Утомительно запоминать их 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"
На другие ваши вопросы:
- Смотрите ответ выше
- Я не знаю, возможно ли это только с HTML. Я так не думаю. Но я также реализую некоторые скрипты PowerShell в ASP.NET. Это работает.
- Смотрите ответ выше
Это очень старый вопрос. С тех пор многое изменилось. Многие сотрудники уже предложили использовать готовые инструменты, которые делают это. Еще в 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"