Link to home
Start Free TrialLog in
Avatar of tommy_hlfgr
tommy_hlfgr

asked on

Disable Offer Remote Assistance Prompts

I am trying to use group policy to change the way Offer Remote Assistance works. I want to eliminate the two prompts the novice must respond to in order for the expert to access and control the system. Can anyone tell me how to do this?
Avatar of Yan_west
Yan_west

There is no way to control this via group policy.. you can only disable or enable the service.. If you want to be able to take control directly, I would suggest you to use
Tight VNC It's free and widely used.

"TightVNC is a free remote control software package derived from the popular VNC software. With TightVNC, you can see the desktop of a remote machine and control it with your local mouse and keyboard, just like you would do it sitting in the front of that computer. TightVNC is:

free, GPL-licensed, with full source code available;
useful in remote administration, remote customer support, education, and for many other purposes;
cross-platform, available for Windows and Unix, compatible with other VNC software;
well maintained and being actively developed. "

http://www.tightvnc.com/
Avatar of tommy_hlfgr

ASKER

Supposing this can not be done via group policy, I will accept any answer that tells me how to use Offer Remote Assistance to connect to computers without being prompted for access or control. However I am not interseted in ANY third party apps to remote control the machines. I also know that this can be accomplished via SMS remote control which may end up being my ultimate solution but at this time I am about half way through implementing SMS and I need Offer Remote Assitance to work in the mean time. I am confident that these prompts can be removed, maybe it will require a custom policy but it can be done. ANYTHING can be controlled from Group Policy one way or another.
Hmmm

"The Offer Remote Assistance feature does not remove the requirement that the novice be present to accept the session request from the expert. The novice can end the session at any time by clicking Disconnect or by pressing the disconnect hot key."
Btw, if you search newsgroup about "xp "offer remote assistance" no prompt", you'll see alot of certified microsoft professional telling people to use tightvnc instead of remote assistance, because the user has to accept the connection..
Alternatively, you can use netmeeting's remote desktop feature, which gives you similar functionality to VNC, but without a 3rd party app, and without user granting permission.  Also chek out Remote Desktop, which uses the same engine but is different from remote assistance.  Remote assistance was designed for the home user and broadband internet with the intention of keeping out unwanted intruders.  It was never really meant for enterprise use, which is why they still build in Netmeeting and Remote Desktop.  Remote Desktop uses the terminal services service to serve the desktop remotely and is done without user permission as well, and like Netmeeting, when the service is set up on the clients, you can give domain or local access groups permission to use it, so when your administration/support team changes employees etc, you don't have to go back to the clients for anything.
The problem with remote desktop is that the user get disconnected when you get in...
FYI - here's a link to the "Remote Desktop" program I'm talking about - it's also included on the Windows CD's and built in to all Windows XP versions.  Most people think Remote Desktop and REmote Assistance are the same thing - they are not.

http://www.microsoft.com/windowsxp/downloads/tools/rdclientdl.mspx
I can log in via XP Remote DEsktop without killing existing sessions, however the nature of my work is that I only do this with servers, and the active sessions are already running under my user account, however if I leave a local session active and unlocked, it does not as far as I know kill that session when I connect via terminal services.  I can leave a web browser window open locally and it's still on the screen when i log in to the terminal session.  I just tested this.
On servers it does that yes.. but on xp pro, it disconects the user that is logued in, and if the user logs back on again while you are connected, it disconnect you..
oh, the machine I just tested it on is XP pro, these are not Windows Server OS's, they are XP Pro machines running 3rd party server daemons for in-house software mostly.  And yes it definitely takes control from the user, but it's left my sessions alone.  The unknown on my end is that the local and TS sessions are both under my user account, so perhaps that makes a difference.  And for the record, I vote for VNC, but I understand the inability to use 3rd party apps as I work in a large law enforcement agency where legalities and congressionally mandated security policies prevent us from doing so...
ASKER CERTIFIED SOLUTION
Avatar of Bob-Villa
Bob-Villa

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Please do not classify this as abondonded. I just received a great response from Bob-Villa today and I plan to test that next week. If the case must be closed please awrd the points to Bob-Villa.
I deploy hundreds of machines in a corporate environment. I use all kinds of custom hacked policy templates and deployment schemes to get the job done. The solution above works as long as you have the ability to edit the htm files and group policy on the target machines before issue to the end user.

We need to support users who place support calls to a central help desk. Our staff consists of domain admins who get the calls after all other 1st/2nd level support fails. If we had to wait to get a user logged into a workstation, on the phone and accept authorization to take control of a PC ... we would get nothing done. If we can basically controll every aspect of domain security there should be no reason to wait for an end users permission to take control of their PC.

I see tons of posts asking how to do this but nobody ever seems to post the answer. It is a surprisingly simple solution.
Bob-Villa,
My initial test thins moring went suprisingly well! I am able to bypass the first prompt and get into the system with no trouble. However the user was still prompted for permission to take control. I will play with this a little more. Thanks so much!
Change TakeControlMsgs.htm in C:\windows\pchealth\HelpCtr\System\Remote @ssistance\Interaction\Server

Add an onload trigger to the body tag.

##

onload="window.returnvalue=0;window.close();"

##

Also note that if you ghost machines and reset the SID you will need to run sessmgr -services after adding to the domain and it requires a reboot, otherwise remote assistance will give you an invitation error message.
Bob,
please forgive me for being clueless here. I replaced window.returnValue = 0; window.close(); with onload="window.returnvalue=0;window.close();" that didn't work. Actually it broke the control part all together. What did I do wrong?
No.
the BODY tag. The page is a html file.

It has a body tag. It comes after </HEAD>

<body>

ad onload="window.returnvalue=0;window.close();"

<body onload="window.returnvalue=0;window.close();">

there is some other code in the body tag also. leave it unchanged and just add that code.
okay, since I can't seem to figure this out, not for a lack of trying I just have no idea how to edit HTML. Here is a copy of my file. What should I do? I added the part you said at the end because that is where it said <body> but Idon't think I did it correctly because it isn't working. Sorry to be so much trouble!



<HTML>
<!--
Copyright (c) 2000 Microsoft Corporation
-->
<HEAD>
<meta http-equiv="MSThemeCompatible" content="Yes">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Remote Assistance</TITLE>
<LINK id="UI_StyleSheet" REL="stylesheet" TYPE="text/css" HREF="../../Css/rc.css">
<LINK id="UI_StyleSheet1" REL="stylesheet" TYPE="text/css" HREF="hcp://system/css/shared.css">
<SCRIPT Language="JavaScript">
g_bDebug = false;
var L_ERRACCESSDENIED_Text = "Directly launching this page is not allowed. ";
function InitiateMsg()
{
var vArgs = window.dialogArguments;
try
{
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];
}
catch(error)
{
idBody.style.visibility = "hidden";
alert( L_ERRACCESSDENIED_Text );
return;
}
return;
}
function onClickHandler( id )
{
window.returnValue = 0;
window.close();
}
</SCRIPT>
<Style>
.height14
{
height:5px;
}
</Style>
</HEAD>
<BODY id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg()>
<Table name="idMainTable" id="idMainTable" class="MaxLayout" cellpadding="0" cellspacing="0" border=0>
<TR>
<TD class="padding6 padding4 padding3">
<table id="idMsgTbl" name="idMsgTbl" cellspacing=0 cellpadding=0 class="MaxLayout" border=0>
<tr id="TR0" name="TR0">
<td id="MessageId" colspan=2 name="MessageId" class="sys-font-body sys-color-body padding5 padding2 padding8">
<Span id="idExpert1" name="idExpert1">Your Helper</Span>&nbsp;would like to share control of your computer to help solve the problem.
</td>
</tr>
<TR>
<TD class="height5" colspan=2>
</TD>
</TR>
<TR>
<td id="idTD2" name="idTD2" class="sys-font-body sys-color-body padding5 padding2" colspan=2>
Do you wish to let <Span id="idExpert2" name="idExpert2">Your Helper </Span> &nbsp;share control of your computer?
</td>
</tr>
<TR>
<TD class="height13" colspan=2>
</TD>
</TR>
<tr id="TR2" name="TR2">
<td id="idbtnrow" name="idbtnrow" align=right colspan=2 class="padding2">
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(0)" id="button0" name="button0" tabindex=2 accesskey="Y"><U>Y</U>es</button>
<Span id="idblankSpace" name="idblankSpace" class="width8"></Span>
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(1)" id="button1" name="button1" tabindex=1 accesskey="N"><U>N</U>o</button>
</td>
</tr>
<TR id="TR3" name="TR3">
<td id="TD0TR3" name="TD0TR3" colspan=2 class="padding5 padding2">
<HR>
</td>
</TR>
<tr>
<td class="height14" colspan=2>
</TD>
</tr>
<TR id="TR5" name="TR5">
<td id="TD0TR5" name="TD0TR5" class="padding5 padding7">
<IMG id="idimg" name="idimg" class="Maxheight" src="ESC_key.gif">
</td>
<td id="TD2TR5" name="TD2TR5" class="sys-font-body sys-color-body padding2 padding6">
It is recommended that you and <Span id="idExpert3" name="idExpert3"> your helper </Span> &nbsp; do not use the
mouse at the same time. You can monitor all activity and stop control at any time by pressing the ESC key. Note that
using any key sequence or combination including the ESC key will also stop control.
</td>
</tr>
</Table>
</TD>
</TR>
</Table>
</BODY onload="window.returnvalue=0;window.close();">
</HTML>
1st make sure you have the file back to it's state before you made the incorrect edit and got the errors, then...

change this line

<BODY id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg()>


to this


<BODY onload="window.returnvalue=0;window.close();" id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg()>

and your done
Bob,
I tried this and the "expert" sees a message that says "You request to take control of remote computer was rejected by username" I copied the file off a different computer to make sure that any previous changes were undone before doing this.

here is the file as it stands now...

<HTML>
<!--
Copyright (c) 2000 Microsoft Corporation
-->
<HEAD>
<meta http-equiv="MSThemeCompatible" content="Yes">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Remote Assistance</TITLE>
<LINK id="UI_StyleSheet" REL="stylesheet" TYPE="text/css" HREF="../../Css/rc.css">
<LINK id="UI_StyleSheet1" REL="stylesheet" TYPE="text/css" HREF="hcp://system/css/shared.css">
<SCRIPT Language="JavaScript">
g_bDebug = false;
var L_ERRACCESSDENIED_Text = "Directly launching this page is not allowed. ";
function InitiateMsg()
{
var vArgs = window.dialogArguments;
try
{
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];
}
catch(error)
{
idBody.style.visibility = "hidden";
alert( L_ERRACCESSDENIED_Text );
return;
}
return;
}
function onClickHandler( id )
{
window.returnValue = 0;
window.close();
}
</SCRIPT>
<Style>
.height14
{
height:5px;
}
</Style>
</HEAD>
<BODY onload="window.returnvalue=0;window.close();" id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg()>
<Table name="idMainTable" id="idMainTable" class="MaxLayout" cellpadding="0" cellspacing="0" border=0>
<TR>
<TD class="padding6 padding4 padding3">
<table id="idMsgTbl" name="idMsgTbl" cellspacing=0 cellpadding=0 class="MaxLayout" border=0>
<tr id="TR0" name="TR0">
<td id="MessageId" colspan=2 name="MessageId" class="sys-font-body sys-color-body padding5 padding2 padding8">
<Span id="idExpert1" name="idExpert1">Your Helper</Span>&nbsp;would like to share control of your computer to help solve the problem.
</td>
</tr>
<TR>
<TD class="height5" colspan=2>
</TD>
</TR>
<TR>
<td id="idTD2" name="idTD2" class="sys-font-body sys-color-body padding5 padding2" colspan=2>
Do you wish to let <Span id="idExpert2" name="idExpert2">Your Helper </Span> &nbsp;share control of your computer?
</td>
</tr>
<TR>
<TD class="height13" colspan=2>
</TD>
</TR>
<tr id="TR2" name="TR2">
<td id="idbtnrow" name="idbtnrow" align=right colspan=2 class="padding2">
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(0)" id="button0" name="button0" tabindex=2 accesskey="Y"><U>Y</U>es</button>
<Span id="idblankSpace" name="idblankSpace" class="width8"></Span>
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(1)" id="button1" name="button1" tabindex=1 accesskey="N"><U>N</U>o</button>
</td>
</tr>
<TR id="TR3" name="TR3">
<td id="TD0TR3" name="TD0TR3" colspan=2 class="padding5 padding2">
<HR>
</td>
</TR>
<tr>
<td class="height14" colspan=2>
</TD>
</tr>
<TR id="TR5" name="TR5">
<td id="TD0TR5" name="TD0TR5" class="padding5 padding7">
<IMG id="idimg" name="idimg" class="Maxheight" src="ESC_key.gif">
</td>
<td id="TD2TR5" name="TD2TR5" class="sys-font-body sys-color-body padding2 padding6">
It is recommended that you and <Span id="idExpert3" name="idExpert3"> your helper </Span> &nbsp; do not use the
mouse at the same time. You can monitor all activity and stop control at any time by pressing the ESC key. Note that
using any key sequence or combination including the ESC key will also stop control.
</td>
</tr>
</Table>
</TD>
</TR>
</Table>
</BODY>
</HTML>


where you able to fix your error? I have not had time to retreive the source code. I can post if you still need it.
Bob,
I was not able to correct it. I appears that rather than granting control to the expert it is automatically denying control. I think we are very close though. Thanks for all your help so far, I understand that you have been busy. If you get time would you please take one more look at this?
HELPACCEPT.HTM


<html>
<head>
<!--
Copyright (c) 2000 Microsoft Corporation
-->
<TITLE id="idTitle" name="idTitle">Remote Assistance</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="MSThemeCompatible" content="Yes">
<LINK id="idStyleSheet1" REL="stylesheet" TYPE="text/css" HREF="hcp://system/css/shared.css">
<STYLE id="idstyle">
.Height12
{
height:17px;
}
.Width17
{
width:6px;
}
.padding
{
padding-left:10px;
padding-right:10px;
padding-top:6px;
padding-bottom:10px;
}
.padding1
{
padding-top:6px;
padding-left:6px;
padding-bottom:6px;
}
.MaxLayout
{
width:100%;
Height:100%;
}
.display
{
display:;
}
.displaynone
{
display:none;
}
.styBtnWidth
{
padding-left : 1em;
padding-right : 1em;
padding-top : 0.4em;
padding-bottom : 0.4em;
}
</STYLE>
</head>
<body id='idBody' tabIndex=-1 onload="DoLoad()" class="sys-inlineform-bgcolor1">
<Table border=0 cellpadding="0" cellspacing="0" class="MaxLayout">
<TR>
<TD class="padding1">
<TABLE border="0" cellspacing="0px" cellpadding="0" border=0>
<TR>
<td id="idTd1" name="idTd1" class="padding">
<div id=idNormal class="sys-font-body sys-color-body Display">
<SPAN id="idHelperName">Your buddy</SPAN> has accepted your Remote Assistance invitation and is ready to connect to your computer.
<BR><BR>
Do you want to let this person view your screen and chat with you?
</div>
<div id=idUnSolicited class="sys-font-body sys-color-body DisplayNone">
Your network administrator <SPAN id="idUnSolicHelper">Your helper</SPAN> would like to
view your screen, chat with you in real time, and work on your computer.
<BR><BR>
Would you like to give <Span id="idUnSolicHelper1">Your Helper</Span> access to your computer?
</div>
</td>
</TR>
<TR>
<TD class="Height12">
</TD>
</TR>
<TR>
<TD id="idTd2" name="idTd2" align="right">
<BUTTON class="sys-font-body sys-color-body styBtnWidth" name="btnAccept" id="btnAccept" tabIndex=2 onClick="DoAccept()" accesskey="Y" disabled><u>Y</u>es</BUTTON>
<span id="idSpace" class="width17"></span>
<BUTTON class="sys-font-body sys-color-body styBtnWidth" name="btnDecline" id="btnDecline" tabIndex=1 OnClick="Decline()" accesskey="N" disabled><u>N</u>o</BUTTON>
</TD>
</TR>
</TABLE>
</TD>
</TR>
</Table>
</body>
<Script Language="JavaScript" id="idScript">
function document.onkeydown()
{
try
{
switch( window.event.keyCode ) {
case 0x8:
window.event.returnValue=false;
break;
case 0x9:
if( window.event.srcElement.id == "btnDecline" )
{
btnAccept.focus();
window.event.returnValue = false;
}
else if( window.event.srcElement.id == "btnAccept" )
{
btnDecline.focus();
window.event.returnValue = false;
}
break;
}
}
catch(error)
{
btnAccept.focus();
window.event.returnValue = false;
}
}
function DoLoad()
{
var L_ERRACCESSDENIED_Text = "Directly launching this page is not allowed. ";
if( null == parent.OnLoad1 )
{
idBody.style.visibility = "hidden";
alert( L_ERRACCESSDENIED_Text );
return;
}
}
function LoadVariables()
{
;
try
{
if( parent.gIsURA )
{
idNormal.className = "sys-font-body sys-color-body DisplayNone";
idUnSolicited.className = "sys-font-body sys-color-body Display";
if (parent.gHelperName)
{
idUnSolicHelper.innerText = parent.gHelperName;
idUnSolicHelper1.innerText = parent.gHelperName;
}
}
else
{
if (parent.gHelperName)
{
idHelperName.innerText = parent.gHelperName;
}
}
}
catch(error)
{
parent.FatalError( parent.L_RCCTL_Text, error );
}
btnAccept.disabled = false;
btnDecline.disabled = false;
btnDecline.focus();
DoAccept();
;
}
function DoAccept()
{
;
if (parent.oRCSession == null)
{
parent.Accepted();
}
;
}
function Decline()
{
;
if (parent.oRCSession == null)
{
try
{
parent.Rejected();
parent.pchealth.Close();
}
catch (error)
{
parent.FatalError( L_RCCTL_Text,error);
}
}
;
}
</Script>
</html>
TAKECONTROLMSGS.HTM

<HTML>
<!--
Copyright (c) 2000 Microsoft Corporation
-->
<HEAD>
<meta http-equiv="MSThemeCompatible" content="Yes">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Remote Assistance</TITLE>
<LINK id="UI_StyleSheet" REL="stylesheet" TYPE="text/css" HREF="../../Css/rc.css">
<LINK id="UI_StyleSheet1" REL="stylesheet" TYPE="text/css" HREF="hcp://system/css/shared.css">
<SCRIPT Language="JavaScript">
g_bDebug = false;
var L_ERRACCESSDENIED_Text = "Directly launching this page is not allowed. ";
function InitiateMsg()
{
var vArgs = window.dialogArguments;
try
{
idExpert1.innerText = vArgs[0];
idExpert2.innerText = vArgs[0];
idExpert3.innerText = vArgs[0];
}
catch(error)
{
idBody.style.visibility = "hidden";
alert( L_ERRACCESSDENIED_Text );
return;
}
return;
}
function onClickHandler( id )
{
window.returnValue = 0;
window.close();
}
</SCRIPT>
<Style>
.height14
{
height:5px;
}
</Style>
</HEAD>
<BODY onload="window.returnValue=0;window.close();" id="idBody" class="sys-inlineform-bgcolor1" onload=InitiateMsg()>
<Table name="idMainTable" id="idMainTable" class="MaxLayout" cellpadding="0" cellspacing="0" border=0>
<TR>
<TD class="padding6 padding4 padding3">
<table id="idMsgTbl" name="idMsgTbl" cellspacing=0 cellpadding=0 class="MaxLayout" border=0>
<tr id="TR0" name="TR0">
<td id="MessageId" colspan=2 name="MessageId" class="sys-font-body sys-color-body padding5 padding2 padding8">
<Span id="idExpert1" name="idExpert1">Your Helper</Span>&nbsp;would like to share control of your computer to help solve the problem.
</td>
</tr>
<TR>
<TD class="height5" colspan=2>
</TD>
</TR>
<TR>
<td id="idTD2" name="idTD2" class="sys-font-body sys-color-body padding5 padding2" colspan=2>
Do you wish to let <Span id="idExpert2" name="idExpert2">Your Helper </Span> &nbsp;share control of your computer?
</td>
</tr>
<TR>
<TD class="height13" colspan=2>
</TD>
</TR>
<tr id="TR2" name="TR2">
<td id="idbtnrow" name="idbtnrow" align=right colspan=2 class="padding2">
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(0)" id="button0" name="button0" tabindex=2 accesskey="Y"><U>Y</U>es</button>
<Span id="idblankSpace" name="idblankSpace" class="width8"></Span>
<button class="styBtnWidth sys-font-body sys-color-body" onClick="onClickHandler(1)" id="button1" name="button1" tabindex=1 accesskey="N"><U>N</U>o</button>
</td>
</tr>
<TR id="TR3" name="TR3">
<td id="TD0TR3" name="TD0TR3" colspan=2 class="padding5 padding2">
<HR>
</td>
</TR>
<tr>
<td class="height14" colspan=2>
</TD>
</tr>
<TR id="TR5" name="TR5">
<td id="TD0TR5" name="TD0TR5" class="padding5 padding7">
<IMG id="idimg" name="idimg" class="Maxheight" src="ESC_key.gif">
</td>
<td id="TD2TR5" name="TD2TR5" class="sys-font-body sys-color-body padding2 padding6">
It is recommended that you and <Span id="idExpert3" name="idExpert3"> your helper </Span> &nbsp; do not use the
mouse at the same time. You can monitor all activity and stop control at any time by pressing the ESC key. Note that
using any key sequence or combination including the ESC key will also stop control.
</td>
</tr>
</Table>
</TD>
</TR>
</Table>
</BODY>
</HTML>
Did this ever get resolved?  I am having the exact same problem and I've been trying this solution and now I'm at the same point that tommy_hlfgr was at above.  Bob_Villa, should I copy the contents of the files in your 2 previous posts into those files on my PC?  I hope you're still out there because it seems like you know how to make this work.
Thanks for your help.
It's been a while. Just follow along with my instructions in the post and make backup copies of your files before you begin.