If you want to automate the remote desktop assistance (not remote desktop) with Windows XP you run into some problems. First of all I ran into the problem that „rcimlby.exe“, which seems to be a good point to start lacks with its commandline parameter. I thought that „rcimlby.exe“ has a hidden parameter to submit a computer netbios name, or a ipaddress to connect directly to the computer after launching the application, but after debugging the exe I didn’t find any indication for a computerobject parameter, so I started to look elsewhere and found a pretty simple solution.
As it turns out, rcimlby.exe calls a help website (Windows XP help) from where you can start a remote desktop assistance. But this website hasn’t a parameter for the computerobject as well and it seems to be impossible to call this website within the help explorer, so I traced the way rcimlby.exe calls this website and found this call:
1 2 |
c:\WINDOWS\pchealth\helpctr\binaries\helpctr.exe -FromStartHelp -url hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/Unsolicited/UnSolicitedRCUI.htm |
But there is no way to add a parameter for the computerobject, so I started to find out where these weird (and never used đ ) html helpfiles are stored (especially where UnSolicitedRCUI.htm is stored)
All help files are stored within c:\windows\pchealth, and if we follow the -url path from my call above we find our desired help file.
After some (advanced year 2k) html analysis I figured out that the html helpfile was not designated to read a parameter or something like that. That means you have to type in the computer netbiosname / ipaddresse every time you want to do a remote desktop assistance session, which is a great benefit if you want to automate things (thanks microsoft).
Conclusion? Edit the UnSolicitedRCUI.htm file!
Just kidding.
We copy UnSolicitedRCUI.htm, rename it to… RemoteAssistance_patched.htm and edit the copy. This file haven’t changed within the past 10 years, so my patch should work for all XP Versions (SP0-SP3).
If you have opened the RemoteAssistance_patched.htm go to line 286 (below the line where R2D2 has immortalized himself).
1 2 3 4 |
<TR id="TR2T0TD0TR0T0" name="TR2T0TD0TR0T0"> <TD id="TD0TR2T0TD0TR0T0" name="TD0TR2T0TD0TR0T0"> <INPUT type=text class="sys-font-body sys-color-body MaxWidth" name="idComputerName" id="idComputerName" onkeypress="onEnter()" title="Geben Sie den Computernamen oder die IP-Adresse ein." size=47 tabindex=1> </TD> |
After editing it should look like:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<TR id="TR2T0TD0TR0T0" name="TR2T0TD0TR0T0"> <TD id="TD0TR2T0TD0TR0T0" name="TD0TR2T0TD0TR0T0"> <INPUT type=text class="sys-font-body sys-color-body MaxWidth" name="idComputerName" id="idComputerName" onkeypress="onEnter()" title="Geben Sie den Computernamen oder die IP-Adresse ein." size=47 tabindex=1> <SCRIPT> TheParameters = document.location.search.substring(1,255) TheParametersArray = TheParameters.split("&") k = TheParametersArray.length for (i= 0 ; i < k; i++) { idComputerName.value=unescape(TheParametersArray[0]) } </SCRIPT> </TD> |
I added a small javascriptcode (i developed this solution 2002, sorry for the awful piece of code ) that grabs the first parameter from the url and add it to the input field. So all you have to do is edit your remote desktop assistance call to:
1 2 |
c:\WINDOWS\pchealth\helpctr\binaries\helpctr.exe -FromStartHelp -url hcp://CN=Microsoft%20Corporation,L=Redmond,S=Washington,C=US/Remote%20Assistance/Escalation/Unsolicited/RemoteAssistance_patched.htm?YOUR-IP |
and replace YOUR-IP with the netbios name / ipaddress of the computer.
Additional you can add a small piece of javascript code to fire the button on document loaded, to fully automate a remote desktop assistance request.
Schreibe den ersten Kommentar