Когда вы начинаете использовать Remote Assistance в качестве основного инструмента для помощи пользователям, можно столкнуться с одной досадной проблемой.
Пользователи компьютера, имеющие права локального администратора (или имевшие такие права в прошлом) иногда удаляют специальную учетную запись “HelpAssistant”, необходимую для работы Remote Assistance в Windows XP.

При этом, ее невозможно восстановить, просто вновь создав одноименного пользователя, поскольку учетная запись HelpAssistant имеет специфический SID.
К счастью, у этой проблемы есть просто решение, найденное благодаря коллеге. Достаточно выполнить команду
sessmgr.exe –service
и учетная запись будет пересоздана.
Диалог предложения помощи выглядит довольно аскетично - поле для ввода имени ПК и кнопка «Подключить». Хорошая новость – это легко изменить.
Диалог подключения хранится в файле «%windir%\pchealth\helpctr\Vendors\CN=Microsoft Corporation,L=Redmond,S=Washington,C=US\Remote Assistance\Escalation\Unsolicited\UnSolicitedRCUI.htm»
За ввод имени станции отвечает <INPUT> с ID=idComputerName
Что сделал я – добавил к стандартному <INPUT> элемент <SELECT> с id=idComputerName1

и добавил проверку – если не заполнен <INPUT> – взять значение из <SELECT>

В результате получаем более дружественный диалог:

Для того, чтобы не модифицировать файл вручную, был написан очень простой скрипт. Скрипт берет список компьютеров из указанного домена, и если на компьтере установлена Windows XP Prof и компьютер имеет dns имя, то он добавляется в список.
Сохраните скрипт в отдельный каталог, туда же поместите оригинальный UnSolicitedRCUI.htm. Измените <LDAP://dc=domain,dc=local> на имя вашего домена.
Скрипт в .pdf можно взять здесь
Скрипт в .zip – здесь
Не все находят удобным запуск RA стандартным способом – Пуск, Справка и поддержка, Использование служебных программ, Предложение удаленной помощи.
Есть более простой способ – Пуск, выполнить, hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/unsolicited/unsolicitedrcui.htm
Можно даже создать командный файл RA.cmd вида
iexplore.exe hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/unsolicited/unsolicitedrcui.htm
Но есть более простой и изящный способ. Создайте в блокноте текстовый файл RA.url следующего содержания:
[InternetShortcut]
URL=hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/unsolicited/unsolicitedrcui.htm
Удобно поместить созданный файл в меню быстрого запуска.
При подключении к станции с использованием Remote Assistance (удаленного помощника), пользователь должен дать согласие на
Это может быть неудобным, если вы всегда подключаетесь для управления компьютером.
Кто первый нашел это решение неизвестно, суть в следующем.
Для отключения разрешения на подключение модифицируем файл
%windir%\pchealth\HelpCtr\System\Remote Assistance\helpeeaccept.htm
| было |
стало |
btnAccept.disabled = false;
btnDecline.disabled = false;
btnDecline.focus(); |
btnAccept.disabled = false;
btnDecline.disabled = false;
btnDecline.focus();
DoAccept();
|
Для отключения запроса на управление, изменим файл
%windir%\pchealth\HelpCtr\System\RemoteAssistance\Interaction\
\Server\TakeControlMsgs.htm
| было |
стало |
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0]; |
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];
onClickHandler(0); |
или меняем
<BODY id=»idBody» class=»sys-inlineform-bgcolor1″ onload=InitiateMsg();> на
<BODY id=»idBody» class=»sys-inlineform-bgcolor1″ onload=InitiateMsg();onClickHandler(0);>
Если вы подготовили набор модифицированных файлов для распространения в вашей сети, внимательно отнеситесь к языковой версии и уровню service pack машин, на которые вы будете копировать файлы. Настоятельно рекомендую для каждой пары «язык-service pack» использовать отдельные версии модифицированных файлов.
Ссылки по теме:
Auto Accept and Take Control for Remote Assistance
Offer Remote Assistance in Windows XP Professional
Unsolicited Remote Assistance
Первое, с чем сталкивается администратор, помогая пользователям через Remote Assistance, это отключение управления по нажатию ‘ESC’. Хорошо, если вы никогда в работе не используете эту кнопку. В ином случае, ваша сессия будет прерываться при каждом случайном нажатии.
Избавиться от этого просто. Найдите в каталоге клиента %windir%\pchealth файл RAServer.htm и удалите строчку g_objPanic.SetPanicHook(Stop_Control);
Начиная с Windows XP администраторам доступны новые средства удаленого управления рабочими станциями пользователей -Remote Desktop и Remote Assistance (RA). В отличие от Remote Desktop, RA позволяет администратору подключаться к текущей рабочей сессии пользователя так, что станция не блокируется, и пользователь видит происходящее на экране.

В домене удаленная сессия может быть инициирована как пользователем («Запрос к удаленному помощнику»), так и администратором («Предложение удаленной помощи»).
Многие администраторы, к сожалению, не знают о самом факте существования RA, его возможностях, и по прежнему используют в корпоративной среде такие средства удаленного управления как VNC, Radmin, etc.
Не смотря на то, что сторонние программы могут предложить тот или иной расширенный функционал, нельзя забывать о следующих простых преимуществах RA:
- - Средство встроенно в ОС, то есть бесплатно и не требует установки
- - Для работы используется быстрый протокол RDP
В нескольких следующих постах я хочу рассказать о тех дополнительных возможностях RA, которые мы используем повседневно.
Дополнительная информация о RA:
Обзор функции удаленного помощника в Windows XP
Описание процесса подключения службы Удаленный помощник
Использование параметра политики «Предложение удаленной помощи»
Администрирование Удаленного помощника
Remote Assistance FAQ for Technical Users