среда, 23 июля 2014 г.

RDP и командная строка, команды RDP

     Если вы интересуетесь используете Windows Remote Desktop, то вы уже наверняка знаете, что эта служба делает, но, возможно, у вас нет полного представления о ее возможностях. 
      Windows Remote Desktop позволяет вам удаленно контролировать практически любой ПК или сервер с Windows. Вы можете удаленно управлять ПК с ПК, сервером с сервера, ПК с сервера или сервером с ПК. Серверный компонент RDP встроен в операционную систему Windows - в XP, Vista и Windows 7 и 8 (но вы должны включить remote desktop на целевом компьютере). Если вы удаленно работаете с компьютером, это соединение с ПК является единственным, и вы при этом контролируете консоль. 
      Если же вы работаете с сервером (скажем, с Windows 2003 или 2008), вы можете подключить многих пользователей к серверу с помощью службы Terminal Services.
Однако, вне зависимости от того, используете ли вы серверную ОС или нет, клиентская часть одна и та же - Remote Desktop Connection или клиент Remote Desktop, как я ее называю. Исполняемый файл для удаленного соединения называется mstsc.exe, он располагается в%systemroot%/system32/mstsc.exe.
Давайте же разберемся с тем, что вы можете сделать с помощью mstsc.exe'

Запуск Windows Remote Desktop Connection из командной строки

В подсказке для администраторов от Криса Сандера (Chris Sander) на WindowsNetworking.com (Использование Remote Desktop Client с помощью командной строки) разъясняются основные моменты работы с Windows Remote Desktop из командной строки. Как указывает Крис, базовый синтаксис команды mstsc.exe таков::
mstsc.exe {ConnectionFile | /v:ServerName[:Port]} [/console] [/f] [/w:Width/h:Height]
Но если вы запустите mstsc /? в Vista, 7 и 8, вы обнаружите еще несколько опций:
Рисунок 1: Экран помощи по использованию Remote Desktop Connection

В большинстве компьютеров, с которыми я сталкивался, через меню Start обнаружить remote desktop connection не так просто. Из-за этого я привык запускать Remote Desktop таким образом: Start - Run, потом нужно набрать mstsc и нажать Enter.

Обычные причины запуска mstsc.exe через командную строку

Я люблю Remote Desktop, потому что, используя его, я могу соединяться со своего ноутбука или домашнего компьютера с любым компьютером или сервером в своей инфраструктуре. Это сильно воодушевляет.
Мне часто приходится использовать опции командной строки. Иногда возникает необходимость сохранить RDP File, являющийся файлом сохраняемой конфигурации для конкретного часто осуществляемого RDP-соединения с конкретным сервером или ПК. Естественно, для одного сервера у вас может быть несколько RDP-файлов, если вам нужно несколько конфигураций.
Эти файлы .rdp представляют собой простые текстовые файлы; их можно создавать и редактировать блокнотом. Вот один для примера:
Рисунок 2: RDP-файл, открытый в блокноте
Рисунок 2: RDP-файл, открытый в блокноте
Хотя это можно делать с помощью блокнота, обычно редактирование файлов .rdp происходит через GUI клиента Remote Desktop, так как он дает возможность открывать и сохранять (Open, Save и Save as) файлы конфигурации:
Рисунок 3: Открытие и сохранение конфигурационных настроек RDP
Рисунок 3: Открытие и сохранение конфигурационных настроек RDP
Я также могу редактировать конкретный файл через GUI, инициируя этот процесс в командной строке с помощью опции /edit команды mstsc:
mstsc /edit test.rdp
Некоторые причины сохранения RDP-файлов для использования в дальнейшем:
  • Наличие сохраненных конфигураций для нескольких серверов и помещение этих настроек на рабочий стол или в папку в меню Start:
Рисунок 4: Создание нескольких RDP-соединений в меню Start
Рисунок 4: Создание нескольких RDP-соединений в меню Start
  • Наличие нескольких версий одной конфигурации; скажем, я соединяюсь с виртуальным рабочим столом с помощью VDI, и я создаю иконку для полноэкранного режима и иконку для разрешения 800x600
  • Наличие одного RDP-файла просто для соединения с сервером и файла для соединения с сервером и запуска приложения (что можно настроить в файле .rdp)

И как пример, использование RDP как опции в программах-пинговалках. И инфраструктурных картах. Найти необходимый узел на карте и сразу подключиться к нему. Но для этого в программе нужно задать опции командной строки (Рисунок 4.1).

Рисунок 4.1: Подключение к удаленному компьютеру из программы-пингера FriendlyPinger.

Создание ярлыка на рабочем столе для запуска Remote Desktop

Скажем, вы хотите создать ярлык на рабочем столе для соединения с конкретным сервером. При этом вы можете использовать базовый набор опций командной строки, либо воспользоваться этими опциями и файлом соединения .rdp.
Другим способом является ввод полной строки командного интерфейса в мастере создания ярлыка соединения на рабочем столе.
Предположим, вы хотите создать ярлык на рабочем столе для:
  • Соединения с сервером 'exchange'
  • Соединения с консолью этого сервера
  • Создать окно разрешением 800x600
Для этого вам нужно запустить команду:
mstsc.exe /v:exchange /admin /w:800 /h:600
А для создания ярлыка на рабочем столе вам нужно ввести эту строку в create shortcut location, например:
Рисунок 5: Создание ярлыка на рабочем столе для соединения RDP
Рисунок 5: Создание ярлыка на рабочем столе для соединения RDP
Однако, если этих базовых опций недостаточно, вам понадобиться использовать файл соединения .rdp connection file.
Для этого вам потребуется запустить mstsc.exe, а затем настроить ваше соединения так, как вам нужно. Добавляйте звук, настраивайте пропускную способность, указывайте приложение для запуска, увеличивайте производительность, подсоединяйте локальные устройства и ресурсы типа принтеров и буфера обмена. Когда все будет готово, просто нажмите на кнопку Save as на вкладке General под настройками конфигурации. При сохранении дайте имя вроде имясервера. Убедитесь, что вам известно, в какую папку отправляется RDP-файл при сохранении. Я также рекомендую протестировать соединение, чтобы убедиться, что все работает правильно.
После сохранения вы можете закрыть окно Remote Desktop Connection и перейти к созданию ярлыка на рабочем столе. Когда вам нужно будет указать путь для ярлыка, введите файл соединения после mstsc.exe. Убедитесь, что вводите полный путь к RDP-файлу. Этот файл должен находиться либо по указанному вами пути, либо ярлык и файл .rdp должны находиться в одной и той же папке. То есть это должно выглядеть примерно так:
Mstsc.exe c:\users\david\documents\exchange.rdp
ЛИБО, если вы хотите запускать mstsc.exe через конфигурационный файл, вам вообще не нужно создавать ярлыки. Все, что вам нужно сделать – сохранить файл настроек RDP, а потом запустить его. Сам файл при запуске ассоциируется с mstsc.exe, и ваше соединение с сервером, указанным в конфигурационном файле, будет инициировано.
И последняя подсказка ' Если вы хотите изменить настройки по умолчанию, используемые mstsc.exe для запуска без определенных конфигураций, вы можете отредактировать файл Default.rdp в папке документов.