Автоматизация подключения удаленного рабочего стола
Мы используем много удаленных рабочих столов в нашей среде разработки, и есть много серверов, развернутых в нескольких средах. Утомительно запоминать их IP-адреса, имена пользователей и пароли. Я хочу написать небольшую утилиту с кнопками на нем. При нажатии я хочу запустить эти удаленные рабочие столы, автоматически выбирая имена пользователей и пароли из некоторого списка.
Я знаю, что есть эквивалент командной строки для MS Remote Desktop: mstsc
.
Этот вопрос предлагает сделать это следующим образом:
cmdkey /generic:TERMSRV/"computername or IP address" /user:"username" /pass:"password"
mstsc /v:"computer name or IP"
Я запускаю первую строку, и она говорит, что учетные данные успешно добавлены. Затем, когда я запускаю вторую строку, он просто запускает Remote Desktop Connection для указанного IP-адреса и запрашивает имя пользователя и пароль. Я хотел бы просто открыть удаленно подключенный рабочий стол по указанному IP-адресу, автоматически применяя учетные данные, указанные в cmdkey
.
- Что здесь не так? Возможно ли использовать такой скрипт PowerShell?
- Могу ли я вызвать этот скрипт через HTML-страницу (поскольку есть много других ресурсов, которые я буду размещать на веб-странице, которые будут служить единственными точками для наших разработчиков, поэтому мы не будем тратить время и силы на их поиск каждый раз, когда мы хотите их)? Возможно ли это путем регистрации приложения по схеме URI?
- Есть ли другой (стандартный) способ?
Ответы
Ответ 1
Проблема в вашей попытке - параметр /generic
.
Согласно официальному сайту cmdkey, /generic
определяет имя компьютера или домена, с которым будет связана эта запись.
В моем примере я назову компьютер Computer01.
Вы хотите учетные данные, связанные с TERMSRV/Computer01? (Как сказал ваш пример /generic:TERMSRV/"computername or IP address "
)
Нет, вы хотите, чтобы он ассоциировался с обычным именем компьютера Computer01.
Затем вы должны удалить TERMSRV/
.
Рабочий результат:
cmdkey /generic:"computername or IP" /user:"username" /pass:"password"
На другие ваши вопросы:
- Смотрите ответ выше
- Я не знаю, возможно ли это только с помощью HTML. Я так не думаю. Но я также реализую некоторые сценарии PowerShell в ASP.NET. Это работает.
- Смотрите ответ выше.
Ответ 2
С 2013 года многое изменилось. Многие системные операторы уже предложили использовать готовые инструменты, которые делают это. Еще в 2013 году магазин Windows не был таким уж замечательным местом (* мое мнение). Но теперь все в порядке.
В магазине есть собственное приложение Microsoft для удаленного рабочего стола. Приложение является универсальным, то есть оно работает на ПК, мобильных телефонах и голографических устройствах.
Что хорошего? Microsoft сделала такое же приложение доступным на Android. Я пробовал для ПК и Android. Оба прекрасно работают.
Так что попробуйте. Сейчас я постоянный пользователь этих приложений.