Thoughts from the EPS Windows Server Performance Team
Useful Microsoft Blogs
Hello all, my name is Jeff Hagler and I work on the Remote Desktop support team.
I routinely hear questions from customers about how to modify the default RDWebAccess website. The modifications include setting default options, automatically inputting server or domain names, or changing the look and feel of the page to match corporate standards. The good news is that at its core the RDWebAccess page is really nothing more than a standard web page being presented by IIS that just happens to tie into Remote Desktop. Because of this, you are free to modify it pretty much any way you like. Just make sure you back-up the page before making any changes, and you are safe to modify the .aspx files directly.
Note: Microsoft does not support the modification of this page, so any changes are at your own risk.
So let’s take a look at the files. When I open IIS manager on one of my RDWebAccess servers and pull up the properties on the default RDWeb site I see this:
So we know that C:\Windows\Web\RDWeb\ is the root directory for the site and when I first open my RDWebAccess site I can see that I am viewing:
And once I log in I am viewing:
Note: the certificate errors are expected since I am accessing the site via the “localhost” name rather than the server’s FQDN and there is no certificate associated with the name “localhost”.
So now that we know the complete path for the files your users are viewing (C:\Windows\Web\RDWeb\Pages\en-US) let’s get to work.
The most common modification that I hear is a request to change the default security option on the login page from public to private in order to preserve the username to make things easier the next time a user logs in. As long as you are aware of the potential security concern from exposing the username, you can easily change this by modifying the page:
1. Browse to C:\Windows\Web\RDWeb\Pages\en-us (or the appropriate location on your system)
2. Give the user you are logged in with full control of login.aspx
3. Make a backup copy of login.aspx
4. Edit the original login.aspx file
5. Find the line: <label><input id=”rdoPblc” type=”radio” name=”MachineType” value=”public” class=”rdo” onclick=”onClickSecurity()” checked /></label> And change it to: <label><input id=”rdoPblc” type=”radio” name=”MachineType” value=”public” class=”rdo” onclick=”onClickSecurity()” /></label>
6. Then find the line: <label><input id=”rdoPrvt” type=”radio” name=”MachineType” value=”private” class=”rdo” onclick=”onClickSecurity()”/></label> And change it to: <label><input id=”rdoPrvt” type=”radio” name=”MachineType” value=”private” class=”rdo” onclick=”onClickSecurity()” checked /></label>
Another question commonly asked is how to pre-populate the server name in the “Connect To” field on the “Remote Desktop” page. To do that:
1. Browse to C:\Windows\Web\RDWeb\Pages\en-us (or the appropriate location for your system)
2. Give the user you are logged in with full control of desktops.aspx
3. Make a backup copy of desktops.aspx
4. Edit the original desktops.aspx file
5. Find the following lines: type=”text” onkeydown=”BLOCKED SCRIPTcheckKey(this);” onkeyup=”BLOCKED SCRIPTcheckLen(this, 1);” /> And change it to: type=”text” onkeydown=”BLOCKED SCRIPTcheckKey(this);” onkeyup=”BLOCKED SCRIPTcheckLen(this, 1);” value=”ServerNameHere” />
While we are in the Desktops.aspx file, you can also change the default resolution by looking just a bit lower in the file for the following section:
</td><td width="7"></td><td valign="top" style="padding-bottom: 4px;"> <select class="topspace" id="comboResolution" style="width: 270px" name="comboResolution"> <option value="0" selected><%=L_FullScreenLabel_Text %></option> <option value="1"><%=L_800x600Label_Text %></option> <option value="2"><%=L_1024x768Label_Text %></option> <option value="3"><%=L_1280x1024Label_Text %></option> <option value="4"><%=L_1600x1200Label_Text %></option> </select></td>
…and simply changing which option line gets the “selected” value. Using this pattern you can continue on through the file and set the rest of the default options in the way you like, everything from the default values for redirecting the Printer and Clipboard to the performance profile can be set here.
I hope that this article has provided you with a bit of insight into just how much you can modify the default RDWebAccess site. Now, go have fun, but remember to be safe out there.
Is there a way to change the name of the "Remote Desktop" button that is generated on the "RemoteApp Programs" page when you enable a RDSH desktop connection to be shown in RDWA? By default it always is named "Remote Desktop", and can be problematic if you have multiple RDSH Farms/Servers that you want to present. (Not the most user friendly default)
I have been able to dig out the following Reg Key on the RDSH servers, but changing it does not seem to effect what is actually presented in RDWA.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\RemoteDesktops\TSRemoteDesktop]
Thanks in Advance,
How would you go about customising the RDweb pages. I.e. Have multiple pages with applications.
currently all my application are on 1 page - looks too busy. would like to have a menu page linking to other pages, to assist the users navigating on the rd web.
Please point me in the right direction
Would you happen to know the procedure for changing the default security option on the login page from public to private with RDS in Server 2012?
Hello, In the prepopulate filed for remote system name you listed "value=”ServerNameHere” " with multiple systems would the entry be coma separated to list out the systems? for instance " value=”wks1,wks2,wks3,wks4,srv1,srv2” which this would allow the users to select which system to log into?
Hi is there an update to
change the default security option on the login page from public to private in order to preserve the username to make things easier the next time a user logs in.
for 2012? this doesnt seem to work in 2012 RDWA. Help!
I have just changed the default security option from public to private on a Windows Server 2012 R2
Edit (remember backup) the webscripts-domain.js in c:\windows\web\rdweb\pages\ and find document.getElementById("rdoPblc").checked = true;
Replace it with
document.getElementById("rdoPrvt").checked = true;
Thanks for the great information. Have you put anything else together on making a custom page for RDWeb. i would like to create a page with views of all RDP's to clients. We work in an enviorment where machines are connected to daily for controls (30+ workstations) I would like to create a custom page that lists those workstations by netbios name and alies. Thoughts.. Thanks firstname.lastname@example.org