понедельник, 12 марта 2012 г.

Используем Remote Assistance и Remote Desktop для доступа к рабочим столам пользователей


Версия для печати
В Windows XP появилась технология для удаленного подключения к рабочему столу с целью помочь пользователю в решении проблем - Remote Assistance, или Удаленный Помощник.
Технология не очень удобная потому, что для подключения администратора к компьютеру клиента самому пользователю тоже надо кое-что сделать (отправить запрос Remote Assistance). Но в арсенале администратора такой метод доступа может быть не лишним. Иногда это удобно, если нет radmin-а или DameWare - Remote Assistance уже встроен в систему, и не нужно ничего устанавливать. Единственное ограничение - оба компьютера, и клиент (компьютер администратора) и сервер (компьютер пользователя, которому помогает администратор через Remote Assistance) должны работать под управлением Windows XP (и, возможно, клиент может еще работать под Windows 2003, поскольку эта система родственна XP). Во время запуска Remote Assistance на сервере временно автоматически отключается файервол (если верить справке Windows XP, но лучше на всякий случай файервол отключить). С точки зрения сетевых коммуникаций Remote Assistance использует встроенный в XP терминальный сервер и работает точно так же, как и Remote Desktop. Отличие от Remote Desktop в том (и это важное отличие, если необходима именно помощь пользователю), что при работе Remote Assistance экран сервера видят обе стороны (как в radmin и DameWare), а при использовании Remote Desktop происходит принудительное завершение сессии локального пользователя. Как использовать Remote Assistance, процесс по шагам:
1. На сервере (компьютер пользователя, которому помогает администратор через Remote Assistance) включаем Remote Assistance: Start -> Settings -> Control Panel -> System -> закладка Remote -> должна стоять галка Allow users to connect remotely to this computer (панель Remote Desktop). Там же ставим галку Allow Remote Assistance invitations to be sent from this computer (панель Remote Assistance). На всякий случай поверяем, что запущена служба Terminal Services (Start -> Settings -> Control Panel -> Administrative Tools -> Services или net start TermService).
2. Отключаем файервол на всякий случай (хотя в help Windows говорится, что это не требуется (Start -> Settings -> Control Panel -> Windows Firewall), либо останавливаем службу Windows Firewall/Internet Connection Sharing (ICS) - Start -> Settings -> Control Panel -> Administrative Tools -> Services или net stop SharedAccess.
3. Готовим запрос на доступ администратора через Remote Assistance. На сервере (компьютер пользователя, которому помогает администратор через Remote Assistance) делаем Start -> All Programs -> Accessories -> Remote Assistance. Щелкаем по ссылке "Invite someone to help you". Запускается нехитрый мастер, который сразу предлагает отправить запрос либо через Windows Messenger, либо через Outlook Express. Если по каким-то причинам они не настроены, есть еще третий способ - ссылка "Save invitation as a file (Advanced)" внизу. Она позволяет сохранить запрос в виде файла с расширением "*.msrcincident", и потом Вы должны этот файл каким-то образом передать администратору, чтобы он мог подключиться. Способы передачи могут быть разные - дискета, общая сетевая папка, ftp, email.
4. Администратор на своем компьютере двойным щелчком открывает полученный файл запроса, запускается клиент Remote Assistance, который подключается к серверу (в качестве сервера выступает компьютер пользователя, отправившего запрос) по протоколу RDP. При этом пользователь получает сообщение, что к его серверу производится попытка подключения Remote Assistance, и если пользователь подтвердит подключение, то оно устанавливается. И пользователь, и администратор видят один и тот же экран десктопа, и получают набор утилит для совместной работы, в числе которых есть текстовый чат.
5. В некоторых конфигурациях сетей необходимо предварительно подправить файл запроса. Например, если сервер находится за роутером NAT и имеет приватные адреса (192.168.x.y и т. п.). Это легко сделать, так как файл запроса - всего лишь обычный текстовый файл, где в понятной форме можно найти параметры подключения. Вот пример такого файла RAInvitation.msrcincident:

Как можно догадаться, возможные адреса (куда будет коннектиться клиент Remote Assistance) в виде пар IP(или имя):порт прописаны с параметре RCTICKET. Эти адреса берутся от всех доступных на компьютере интерфейсов (терминальный сервер по умолчанию слушает их все на порту 3389). В этом примере на сервере есть 3 интерфейса с адресами 192.168.7.1 (адрес внутри локальной сети), 192.168.55.1 (VMware Virtual Ethernet Adapter for VMnet1) и 192.168.255.1 (VMware Virtual Ethernet Adapter for VMnet8), и, кроме этого, сервер имеет имя vm. Проблем не будет, если мы подключаемся через одну из этих доступных сетей. Если же, например, нам нужно подключиться через Интернет, то в файл запроса необходимо внести исправления. Предположим, что NAT-маршрутизатор транслирует приватный адрес и порт192.168.7.1:3389 в публичный адрес и порт 93.128.79.149:3390. В этом случае содержимое файла RAInvitation.msrcincident будет таким:

Использовался материал статьи http://www.avkuzmin.ru/2007/07/remote-assistance-remote-desktop.html.

Remote Assistance


Использование удаленного помощника (Remote Assistance) при включенном брандмауэре Windows


В этой статье мы рассмотрим, как использовать удаленный помощник (Remote Assistance) в среде с включенным брандмауэром Windows.
Обсуждаемые темы включают использование политик групп (Group Policy) для создания исключения для удаленного помощника (Remote Assistance exception) для компьютеров, настройку компьютеров для передачи предложений удаленного помощника (Remote Assistance) и подсказки по использованию удаленного помощника (Remote Assistance).
Удаленный помощник (Remote Assistance) – это один из инструментов, который не полностью оправдал свою начальную цель. Он впервые появился в Windows XP и представлялся Microsoft двумя способами: как способ для подразделений поддержки для снижения затрат по поддержке пользователей, и как средство для пользователей по получению помощи от экспертов в интернет (Internet). К несчастью второе назначение не стало таким полезным, каким оно изначально планировалось. Причины этого в основном касаются сетевого аппаратного обеспечения. В домашних сетях с их широкополосными соединениями к интернет и защищенными NAT маршрутизаторами, фактом является то, что удаленный помощник (Remote Assistance) не всегда работает. На практике, если и Новичок (Novice – пользователь/компьютер, нуждающийся в помощи) и эксперт (Expert – пользователь/компьютер, предоставляющий помощь) спрятаны аз NAT, то традиционный, основанный на приглашениях (invitation) удаленный помощник (Remote Assistance) просто не работает. И даже если только один из них находится за NAT маршрутизатором, то удаленный помощник (Remote Assistance) обычно не работает, если маршрутизатор не поддерживает технологию Universal Plug and Play (UPnP), в противном случае, входящие пакеты, направленные на порт 3389, могут быть перенаправлены клиенту, просящего о помощи. Наконец, существуют проблемы на брандмауэре, связанные с удаленным помощником (Remote Assistance), и основная проблема заключается в том, что и брандмауэр на компьютере Эксперта (Expert) и брандмауэр на компьютере новичка (Novice) должны быть настроены для разрешения входящего и исходящего трафика по порту 3389. Для брандмауэра Windows это означает открыть порт 3389 для входящих соединений, т.к. фильтрация исходящих соединений не производится, но вскоре с выходом Vista это может измениться (там будет выполняться фильтрация и входящих и исходящих соединений). Все эти “аппаратные сложности и сложности брандмауэра “ делают удаленный помощник (Remote Assistance) сложным в использовании инструментом для многих начинающих пользователей, и лично я не знаю никого, кто бы пользовался им дома для решения своих компьютерных проблем.
Снижение затрат на поддержку – это совершенно другая вещь, и в этом случае удаленный помощник (Remote Assistance) действительно помогает. Однако не очень широко известно, что можно использовать удаленный помощник (Remote Assistance) в двух случаях: пользователи могут запросить помощь, когда она им нужна, и эксперты могут предложить помощь, когда им кажется, что пользователям может помочь их советы. Давайте я сперва немного расскажу обращении к удаленному помощнику (Remote Assistance Invitations), а затем мы перейдем к использованию помощи второго типа – советы удаленного помощника (Remote Assistance offers) в корпорации, где используются политики групп (Group Policy) для управления конфигурацией рабочего стола (desktop configuration).
Приглашения удаленного помощника (Remote Assistance Invitations)
Первый вариант использования удаленного помощника (Remote Assistance) – это когда новичок (Novice) обращается за помощью к Эксперту (Expert). После того как Эксперт получает и принимает приглашение, он может просмотреть рабочий стол компьютера Новичка, пообщаться с ним, и получив согласие новичка перехватить контроль над его компьютером для устранения проблем. Новичок может послать приглашение клиенту тремя способами: с помощью Windows Messenger, отправив электронное сообщение, или передав файл. Для того, чтобы послать приглашение Новичок нажимает на Start, All Programs, Remote Assistance. В результате откроется окно удаленного помощника в разделе помощи и поддержки (Help and Support):

Рисунок 1: Отправка запроса о помощи с помощью Remote Assistance
Нажатие на ссылку "Invite someone to help you" предоставит Новичку варианта отправки приглашения – с помощью Messenger, электронной почты, или сохранив файл под название RAInvitation.msrcincient на гибком диске или в общей папке в сети, откуда Эксперт сможет забрать его. Вложения в электронном письме и сохраненные файлы можно защитить с помощью пароля, в противном случае это будет простой текст XML, например, Новичок Bob Smith посылает приглашение Эксперту Mary Jones:
Для того, чтобы принять приглашение Эксперт (Expert) всего лишь должен открыть его и нажать на Yes, в результате чего откроется консоль Remote Assistance на машине Эксперта. Тем временем на экране компьютера Новичка появится диалоговое окно, сообщающее, что Эксперт принял приглашение, и запрашивающее разрешение на доступ к рабочему столу Новичка и общение с ним. Если Новичок соглашается, то консоль Удаленного помощника (Remote Assistance) запускает инструмент, который позволяет Эксперту видеть рабочий стол Новичка на своем компьютере. Ниже представлен рисунок, полученный с помощью Virtual PC, который отображает рабочий Новичка в левом верхнем углу, и рабочий стол Эксперта в нижнем правом углу  экрана:


исунок 2: Bob (Новичок) слева сверху и Mary (Эксперт) слева снизу
Если Mary нужно перехватить контроль над компьютером Bob для устранения каких-нибудь проблем, то она может просто нажать на кнопку Take Control на панели инструментов в верхней левой части консоли удаленного помощника (Remote Assistance). В результате этого на экране компьютера Bob появится окно, запрашивающее разрешение не это действие, и если Bob разрешит, то клавиатура и мышь его компьютера теперь окажутся под контролем у Mary, поэтому лучше перед тем, как перехватить контроль, чтобы Эксперт посоветовал Новичку не использовать клавиатуру и мышь до того, как Эксперт не закончить свою работу и не вернет контроль обратно Новичку (либо пользователь может нажать ESC и прекратить сессию Эксперта и вернуться в режим просмотра).
Предложения удаленного помощника (Offering Remote Assistance)
Бывают однако случаи, когда специалисты по поддержке могут захотеть сами предложить помощь пользователю, даже если пользователь не просил ее. Этот случай известен как предложение удаленного помощника (Offer Remote Assistance), и вы должны знать некоторые вещи о нем, перед тем, как захотите применить его на практике. Во-первых, этот инструмент работает лишь когда компьютеры Новичка и Эксперта принадлежат одному домену или доверительному домену (trusting domain), т.е. он не будет работать сценарии с рабочими группами (workgroup scenario) и поэтому не применим для большинства домашних пользователей (home users). Конечно, это также исключает Windows XP Home Edition, поэтому он только работает на Windows XP Professional (или Windows Server 2003). Во-вторых, вы должны четко подключить компьютеры Новичков, для того чтобы они могли получать и принимать предложения удаленного помощника (Remote Assistance), а наиболее удобный для этого способ – это использование политик групп (Group Policy), который будет объяснен ниже. В-третьих, вы должны настроить параметры для политик групп (Group Policy) для предложений удаленного помощника (Offer Remote Assistance), вы должно задать список Экспертов, которые авторизованы помогать пользователям в вашей сети. Этот последний шаг очень важен, если вы не хотите, чтобы просто кто угодно мог предлагать помощь вашим пользователям, например, хакер, который взломал одну из ваших компьютеров может затем предлагать «помощь» вашим пользователям, и вы прекрасно понимаете, к чему это может привести.
Поэтому давайте приступим к конфигурации политик групп (Group Policy) для включения предложений удаленного помощника (Offer Remote Assistance) не некоторых компьютерах Новичков. Для нашего сценария, наш Эксперт (Mary Jones) находится в Ванкувере (Vancouver), а Новичок (Bob Smith) находится в Виннипеге (Winnipeg), поэтому мы начнем с создания и привязки объекта политики групп (Group Policy Object - GPO) под названием WinnipegGPO для организационной единицы Winnipeg в нашем домене:



Рисунок 3: Использование политик групп (Group Policy) для настройки Offer Remote Assistance на компьютере Новичков в Winnipeg
Откройте WinnipegGPO в редакторе Group Policy Object Editor и перейдите к папке Computer Configuration \ Administrative Templates \ System \ Remote Assistance \ Offer Remote Assistance:


Рисунок 4: Настройка политик Offer Remote Assistance
Откройте эту политику, включите ее и выберите либо "Allow helpers to remotely control the computer" (разрешить помощникам удаленно управлять компьютером) (по умолчанию) или "Allow helpers to only view the computer" (Разрешить помощникам только просматривать компьютер), в зависимости, что вам нужно:




Рисунок 5
: Подключение Offer Remote Assistance для режима получения контроля
Нажмите на кнопку Show и добавьте Mary Jones в список помощников (Экспертов) виде domainname\username (название домена\имя пользователя), т.е. r2.local\mjones:



Рисунок 6: Добавление Mary Jones в список пользователей, которым разрешено предлагать удаленную помощь
Обратите внимание, что вы также можете добавлять группы помощников в виде domainname\group (название домена\группа), если захотите. Нажмите на кнопку OK для того, чтобы настроить политику и подождите, пока она применится для компьютеров Новичков.
Примечание: Вы могли заметить другую политику на рисунке 4 под названием Solicted Remote Assistance. Вы можете настроить эту политику для того, чтобы разрешить или запретить Новичкам возможность посылать приглашения для удаленной помощи Экспертам в вашей сети, если вы захотите. Обратите внимание, что до появления Service Pack 2, отключение этой политики приводило к отключению предложений удаленного помощника (Remote Assistance), в с появлением SP2 это было исправлено.
Теперь, когда настроили политики групп (Group Policy) для включения предложений удаленного помощника (Offer Remote Assistance) на компьютерах новичков в Winnipeg, вам нужно сделать кое-что еще – настроить брандмауэр Windows на тех же самых компьютерах для того, чтобы разрешить получать удаленную помощь. Вы можете использовать политику групп для этих целей. Для того чтобы сделать это, используйте снова редактор Group Policy Object Editor по-прежнему для объекта WinnipegGPO и перейдите к Computer Configuration \ Administrative Templates \ Network \ Network Connections \ Windows Firewall \ Domain Profile \ Windows Firewall: Define Port Exceptions:



Рисунок 7: Настройка политик брандмауэра Windows на компьютерах Новичков
Откройте эту политику, включите ее, нажмите на кнопку Show и укажите исключение для TCP порта под номером 135, как показано ниже на рисунке:




Рисунок 8: Создание исключения для порта TCP 135 для входящих соединений для получения предложений удаленного помощника (Remote Assistance offers)
Теперь выберите политику Windows Firewall: Define Program Exceptions, включите ее, нажмите на кнопку Show, и укажите три программных исключения, как показано на рисунке ниже:



Рисунок 9: Создание программных исключений для предложений удаленного помощника (Offer Remote Assistance)
Если вам необходимо, то повторите процедуру, описанную выше, со стандартным профилем (Standard Profile), а затем нажмите на кнопку OK, для настройки политик, а затем подождите, пока они применятся для компьютеров Новичков.
Теперь Mary может предлагать помощь Bob с помощью предложений удаленного помощника (Offer Remote Assistance). Для того чтобы сделать это, Mary должна открыть Help and Support (Помощь и поддержка), нажать на ссылку "Use tools to view your computer information and diagnose problems" (Использовать инструменты для просмотра информации о компьютере и диагностики проблем) в основном окне Help and Support. В следующем окне (под названием Tools) она должна нажать на ссылку "Offer Remote Assistance" (предложить удаленную помощь), в результате чего открывается окно Offer Remote Assistance, в котором она вводит название компьютера (или IP адрес) компьютера Bob:



Рисунок 10: Mary предлагает удаленную помощь для пользователей компьютера под названием XP191
Если Mary нажмет на кнопку Connect, то ей будет предложено выбрать пользователя на удаленном компьютере, которому она хочет помочь:


Рисунок 11: Mary предлагает удаленную помощь Bob
Затем Mary нажимает на кнопку Start Remote Assistance, в результате чего на ее машине откроется консоль удаленного помощника (Remote Assistance console). Тем временем, на машине Bob появится окно, спрашивающее разрешение на принятие помощи от Mary:



Рисунок 12: Bob должен принять предложение помощи от Mary
После того, как Bob соглашается принять предложение, Mary может увидеть рабочий стол Bob и поговорить с ним, а также при правильной настройке политики нажать на кнопку Take Control, для того чтобы перехватить контроль над компьютером Bob для устранения проблем (Bob конечно может по прежнему отказаться от помощи).