Удаленный рабочий стол

Меня всегда напрягал момент поиска утилиты удаленного рабочего стола в меню Пуск. Никогда не помнил, в каком именно разделе она находится и всегда тратил много времени на поиск.
Так я долго мучился,пока один добрый человек (спасибо тебе, Паша) не показал мне:
Win + R, mstsc

mstsc.exe — такое имя файла имеет утилита удаленного рабочего стола. Просто запомнить, легко вводить.

Параметр Описание
<имя файла> Задает имя файла .rdp для подключения.
/v:<Server Задает имя удаленного компьютера, к которому необходимо подключиться и, опционально, номер порта подключения
/console Коннект к сеансу физической консоли (сеанс 0).
/admin Подключает к сеансу для администратирования.
/f Запуск удаленного рабочего стола в полноэкранном режиме.
/w:<ширина> Указывает ширину экрана удаленного рабочего стола.
/h:<высота> Указывает высоту экрана удаленного рабочего стола.
/public Запускает удаленный рабочий стол в общедоступном режиме.
/span Сопоставление ширины и высоты удаленного рабочего стола с локальным виртуальным рабочим столом и развертывание на несколько мониторов при необходимости.
/multimon Задает расположение мониторов сеанса служб удаленного рабочего стола в соответствии с текущей конфигурацией на стороне клиента.
/edit <имя файла> Открывает указанный файл .rdp для редактирования.
/migrate Переносит устаревшие файлы подключений, созданные диспетчером клиентских подключений, в новые файлы .rdp
/control разрешает управление сеансом
/? Показывает помощь по параметрам командной строки.

Ключ помощи показывает окно с командами, соответствующими текущей версии программы.

Следует заметить, что ключ /console применяется для подключения к сеансу физической консоли на сервере (также известный как сеанс 0). Этот режим использовался в Windows Server 2003. В Windows Server 2008 или Windows Server 2008 R2,а также более новых версий, данный режим является устаревшим, т.к. сеанс 0 стал неинтерактивной сессией, зарезервированной для службы.

Поэтому RDC 6.1 не поддерживает ключ /console. Тем не менее, для обеспечения обратной совместимости, можно использовать параметр /admin для подключения к сеансу физической консоли на сервере под управлением Windows Server 2003. Подробнее можно почитать в данной статье: Изменения для удаленного администрирования в Windows Server 2008

Кроме того, ключ /admin обладает еще и следующими особенностями:

  • При использовании этого ключа с MSTSC соединения не требуется лицензии клиентского доступа (CAL) Terminal Services.
  • Ключ /admin связан с повышением прав. Например, если на пользователя, имеющего полномочия применять ключ /admin, наложен запрет Deny Users Permissions To Log On To Terminal Server, он сможет подключиться через mstsc /admin.
  • Даже если сервер терминала не принимает новых сеансов, все же можно создать сеанс /admin.
  • Сеанс /admin не учитывается в счет предела, установленного на сервере терминала с целью ограничить число сеансов.

Как обычно, ссылки к дополнительной информации:

MSTSC /console is now MSTSC /admin
Microsoft TechNet — Опции командной строки mstsc
Подключение к удаленному столу (клиент служб терминалов версии 6.0)

Маленькие полезные вещи. Как сделать доступ из nagios/icinga к интерфейсу управления хоста через браузеры Google Chrome и MS IE

Введение

При работе с nagios/icinga рано или поздно возникает ситуация, когда надоедает каждый раз отдельно бегать в управляющий интерфейс хоста — куда-то кликать, вбивать руками адреса и имена (логин / пароль — это святое). Оптимальнее всего было бы иметь в nagios/icinga ссылку под рукой для детального разбора источника беспокойства и устранения проблем. Гугление интернета по данной теме ничего не дало, потому что разработчики nagios и icinga до таких «мелочей» не опускаются, но проблема остаётся — удобного интерфейса для системы мониторинга по-прежнему хочется.
Возможность прикрутить к хостам nagios/icinga интерфейсы управления, хотя и через непредназначенные для этого места, всё-таки существует и в данной небольшой статье, хотелось бы поделиться тем, как это можно осуществить.

Правильно используем Notes URL

В любом конфигураторе (например nagiosql или nconf) у нас доступен Notes URL, который предназначен для заметок о поведении хоста, но обычно он никак не используется и мы можем употребить его в наших целях. После его заполнения в отображении хоста появляется иконка папочки; ткнув в неё мышью, мы получим возможность перейти на управляющий интерфейс хоста.
Для разных хостов у нас могут быть прописаны разные варианты Notes URL, которые ещё и по-разному себя будут вести в разных браузерах. Например:

Проще всего обстоит дело с http-доступом – в нашем примере это ilo2 у блейдового сервера hp-srvr-blade10-hardware (Hewlett-Packard bl460c g6). Ткнув в иконку папки, у нас откроется в этом же окне интерфейс ilo2:

Хорошо? Да. Очень удобно для принтеров и любых других устройств, где http-интерфейс управления — основной.
И тут раздаётся негромкий голос с заднего ряда: «Но нам бы еще и rdp-соединения какие-нибудь… Надо для хождения на сервера Windows…».
А вот тут всё немного посложнее.

RDP для Google Chrome

Если у вас стоит Chrome, то под него в Chrome store есть прекрасное расширение Chrome RDP. Это полноценный rdp-клиент, который работает из браузера. Прекрасно поддерживает русскую клавиатуру, существенных отличий от Microsoft RDP нет.
Но для нашего случая у Chrome RDP будет две небольших ложки дёгтя:

  • Он не умеет открывать соединения в текущем окне nagios/icinga (это, скорее всего, ограничение материнского приложения). Проблема решается, если вы открываете rdp-окно кликом правой кнопки мыши на хосте и открытием соединения в новой вкладке. Вот тогда всё будет хорошо и красиво. Разнообразные расширения chrome, которые позволяют открывать нажимаемую ссылку в новой вкладке что-то не помогают.
  • Chrome RDP — клиент платный. Стоит он недорого – около 5$, версия, на самом деле, триальная — отрабатывает ровно месяц, а потом начинает выбрасывать окошко «Дэнги давай!». Каждый раз перетаскивать лицензию с компьютера на компьютер (а мониторить системы приходится зачастую из самых неожиданных локаций) – не очень хорошо. Покупать и инсталлировать везде, где можно — тоже неправильно.

Если ограничения нас не пугают, то инсталлируем Chrome RDP, покупаем и регистрируем лицензию. Копипастим в Notes URL последовательность вида
chrome-extension://cbkkbcmdlboombapidmoeolnmdacpkch/nacl.html#$HOSTADDRESS$
Сохраняем конфигурацию в nagios/icinga; теперь после клика правой кнопкой по хосту и выбора открытия ссылки в новом окне, у нас будет запускаться RDP клиент для этого сервера.
RDP клиентов под Сhrome существует множество, но большинство из них ходит через вспомогательный сервер. Либо он должен быть развёрнут в корпоративной сети; либо, что в разы опаснее – это чей-то сервер в Internet, через который передаются ваши пароли. Надо всегда иметь это ввиду и не пренебрегать правилами элементарной безопасности.

RDP для MS Internet Explorer

Чтобы rdp-клиент запускался из под браузера MSIE, следует зарегистрировать протокол как CustomURL. В MSDN есть достаточно подробный документ, описывающий этот механизм и последовательность шагов при регистрации протокола вручную: Registering an Application to a URI Scheme
Конечно, можно всё делать руками, но есть маленькая утилитка, которая упрощает этот процесс и не дает сделать ошибок при ручном редактировании реестра. Качаем её отсюда.
Пара моментов при установке:

  • Нужны права администратора; по умолчанию программа пытается скопировать себя в C:\Windows\System32.
  • Чтобы всё работало на 64-разрядных системах Windows 7 / Windows Vista утилиту надо скопировать руками в C:\Windows\SysWOW64

Запускаем ее, жмём на добавление протокола (Add) и вводим примерно следующее:

где %Authority%, в данном случае — это комбинация хост+порт. Если порт нестандартный, то можно всё указать вручную — %Host%:3888, например.
Таким же образом можно зарегистрировать и ssh протокол, если по идейным соображениям не хочется пользоваться http-интерфейсом. Этот пример показан на сайте утилиты.
После всех выполненных манипуляций, через MS IE можно в один клик запускать rdp-клиента и оперативно управлять хостами из системы мониторинга nagios/icinga.
Можно, конечно, задаться вопросом, а так ли надо связываться с IE, когда у нас есть масса других замечательных браузеров? Надо. По крайней мере, опять по двум причинам:

  • Для IE существенно проще делается регистрация пользовательского протокола (см.выше).
  • IE любят производители железа, например Hewlett-Packard. iLO HP (особенно старых версий), честно говорит о том, что работать с ним лучше через IE, а все остальные браузеры относятся к ограниченно поддерживаемым. Управляющий интерфейс HP EVA Onboard Administrator может отображать информацию с ошибками, если он открывается даже через последний Chrome или FF.

Кстати, несмотря на наличие прописанного CustomURL в системе, Chrome их полностью игнорирует. Эта проблема разбиралась в Google Groups, но универсального стабильного решения проблемы нет до сих пор. Если кто-то знает как запустить mstsc.exe из под Google Chrome — дайте знать.