Многие администраторы используют для доступа к рабочим столам пользователей Remote Administrator, он же Radmin. Это не совсем правильный подход — ведь программа стоит денег, да и метод передачи изображения является не самым оптимальным.
Я предлагаю воспользоваться встроенными в систему возможностями по управлению: Remote Assistance (Удаленный помощник) и Remote Desktop (Удаленный рабочий стол) которые основаны на MS Terminal Services (Службы терминалов Майкрософт). Преимущества данного подхода заключаются, как минимум, в низких нагрузках на процессор удаленной станции и канал связи. Основным отличием Remote Assistance от Remote Desktop является возможность работать с консолью пользователя без отключения последнего. Ведь для того, чтобы подключиться с помощью Remote Desktop к машине под управлением Windows XP с выполненным локальным входом, вам нужно знать пароль активного пользователя (при подключении консоль будет заблокирована, а при разблокировке будет отключена терминальная сессия), в противном случае его сессия будет закрыта и вы войдете в систему под тем пользователем, которого вы указали при подключении. Т.е. терминальные службы Windows XP всегда работают только с одной консольной сессией, к которой нельзя иметь больше одного подключения, поэтому для данного случая следует использовать Remote Assistance. С другой стороны, с помощью Remote Assistance нельзя подключиться к машине под управлением Windows XP, на которой не выполнен локальный вход — в данном случае следует использовать Remote Desktop.
Я расскажу, как использовать Remote Assistance и Remote Desktop, для включения и настройки будем использовать групповую политику домена.
Включаем и настраиваем Remote Desktop.
Computer configuration — Administrative templates — Windows components — Terminal services (Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы терминалов).
Включаем доступ: Allow users to connect remotely using Terminal services (Разрешать удаленное подключение с использованием служб терминалов) — Enabled (Включено).
Настраиваем на случай, если потребуется подключиться к активной сессии: Set rules for remote control of Terminal services user sessions (Устанавливает правила удаленного управления для сеансов пользователей служб терминалов) — Enabled (Включено).
Предоставлять права на доступ к Remote Desktop обычно не требуется, т.к. по умолчанию в политике Computer configuration — Windows settings — Security settings — Local policies — User rights assignment — Allow logon through Terminal services (Конфигурация компьютера — конфигурация Windows — Параметры безопасности — Назначение прав пользователя — Разрешать вход в систему через службу терминалов) указаны локальные группы Administrators (Администраторы) и Remote Desktop users (Пользователи удаленного рабочего стола), что является достаточным.
Включаем и настраиваем Remote Assistance.
Computer configuration — Administrative templates — System — Remote Assistance (Конфигурация компьютера — Административные шаблоны — Система — Удаленный помощник).
Включаем доступ: Offer Remote Assistance (Разрешить предложение удаленной помощи) — Enabled (Включено) — Allow helpers to remotely control the computer (Помощники могут управлять компьютером), Show (Показать) — добавляем пользователей или группы домена, которым будет разрешено подключаться без приглашения. При этом на машинах будет автоматически создана локальная группа Offer Remote Assistance Helpers (Группа удаленных помощников), членами которой будут являться указанные в групповой политике пользователи.
Если требуется включить возможность отправки приглашений пользователями, то: Solicited Remote Assistance (Запрошенная удаленная помощь) — Enabled (Включено) — Allow helpers to remotely control the computer (Помощники могут управлять компьютером), Maximum ticket time (value) (Максимальное время билета (значение)) — 30, Maximum ticket time (units) (Максимальное время билета (единиц)) — Days (дн.).
На этом основные этапы настройки закончены. Следует отметить, что для работы Remote Assistance требуется, чтобы служба Help & Support (Справка и поддержка) была запущена, а службы Terminal services (Служба терминалов) и Remote Desktop Help Session Manager (Диспетчер сеанса справки для удаленного рабочего стола) имели возможность запуска (не отключены).
Для подключения к пользовательской машине с помощью Remote Desktop необходимо использовать приложение Remote Desktop Connection (Подключение к удаленному рабочему столу).
Для подключения к пользовательской машине с помощью Remote Assistance необходимо использовать Help and Support Center (Центр справки и поддержки), страница подключения спрятана в разделе Tools (Служебные программы). Для прямого перехода можно использовать ярлык: hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/unsolicited/unsolicitedrcui.htm
Теперь стоит упомянуть об одном не очень приятном моменте. Remote Assistance всегда запрашивает у пользователя разрешение на подключение и переход в режим управления. Microsoft однозначно утверждает, что путей для отключения запроса не существует. Это очень неудобно, ведь иногда пользователя нет на рбочем месте и некому разрешить подключение. Но на самом деле лазейка есть. Суть заключается в следующем: в файл C:\WINDOWS\PCHealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm в конец функции LoadVariables (после btnDecline.focus()) необходимо добавить строку «DoAccept();» (без кавычек), а в файл C:\WINDOWS\PCHealth\HelpCtr\System\Remote Assistance\Interaction\Server\TakeControlMsgs.htm в конец функции InitiateMsg (перед последним return, если он есть) — «onClickHandler(0);» (так же без кавычек). Теперь подключение и переход в режим управления будут осуществляться без запросов. Для того, чтобы завершить подключение не оставляя на рабочем столе пользователя окна Remote Assistance, просто закройте его в режиме управления 🙂
О правильной настройке брандмауэра Windows для приема удаленной помощи можно почитать в статье KB301527.
Вот, пожалуй, и все, что я хотел рассказать. Комментарии и вопросы приветствуются.
Update: Настоятельно рекомендую прочитать все комментарии к этой статье.
Update2: Я обнаружил, что в переводе статьи KB301527 отсутствуют два раздела, приведенные в англоязычном варианте. Ключевой момент: т.к. для предложения удаленной помощи используется RPC, то помимо портов TCP/135 и TCP/3389, необходимо открыть все порты TCP выше 1024. Можно, конечно, воспользоваться KB300083 и ограничить диапазон портов DCOM.