Showing posts with label Windows Server 8. Show all posts
Showing posts with label Windows Server 8. Show all posts

Friday, November 9, 2012

Customize RD Web Access, a drop down server list

As you might know, RD Web Access provides two different ways to allow users to connect. The tab “RemoteApp and Desktops” tab contains the Remote Apps and Desktops that are authorized to user. The tab “Connect to a remote PC” allows users to specify the destination remote client, server of farm by providing the DNS or hostname.
image
In some cases you might want to pre-define the hostname users have to enter. In this blog post I’ll guide you through the process of configuring a drop down list containing destinations we want users to be able to select.
STEP 1. We’ll be editing the desktops.aspx which is located in C:\Windows\Web\RDWeb\Pages\en-US\Desktops.aspx (may differ based on the language of the Server OS). Be sure to create a backup of that file first.
STEP 2. Locate the definition of the function function GetParam(sParam, bReqd, vDefault) and add the following function specified below that function definition. We’ll use this function to retrieve selected value of the dropdown box. We can’t use the existing GetParams function as this returns the number of the select item in de dropdown box. (Uses by for example the Remote desktop size dropdown box).
function GetDestination(sParam, bReqd, vDefault)
{
    var obj = document.getElementById(sParam);
    if(obj != null)
    {
        switch(obj.tagName)
        {
            case "SELECT":
                return obj.options[obj.selectedIndex].value;
                break;
            default:
                break;
        }
    }
    else
    {
        if ((bReqd) && ((vDefault == "") || (vDefault == null) || (obj == null)))
        {
            var L_ErrMsgInvalid_Text = "%ParameterName% is not a valid or available parameter name.";  // {Placeholder="%ParameterName%"}
            var errMsgInvalid = sParam;
            errMsgInvalid = errMsgInvalid.replace("%ParameterName%", sParam);
            var retval = TSMsgBox(errMsgInvalid, vbInformation, L_sTitle_Text);
            return null;
        }
        else
        {
            return vDefault;
        }
    }
}
STEP 3. Replace the following code <input name="MachineName" maxlength="255" id="MachineName" class="textInputField" type="text"
                                    onfocus="updateConnectButtonState(this);" onblur="updateConnectButtonState(this);"
                                    onkeyup="onConnectToKeyUp(this);" onpropertychange="onConnectToPropertyChange(this);"/>
With the code: <select id="MachineName" style="width: 270px" name="MachineName">
                                        <option value="rds01.lab.local" selected="selected">rds01.lab.local</option>
                                        <option value="rds02.lab.local">rds02.lab.local</option>
                                        <option value="rds03.lab.local">rds03.lab.local</option>
                                    </select>

STEP 4. To make sure the connect button is always available find the following string and remove the part disabled="disabled"<button type="button" id="ButtonConnect" name="ButtonConnect" disabled="disabled"
STEP 5. Replace the following piece of code
var RDPstr = "full address:s:" + GetParam("MachineName", true, "") + "\n";
With the code:
var RDPstr = "full address:s:" + GetDestination("MachineName", true, "") + "\n";
STEP 6. The end result should look like something below:

Upon clicking Connect a RDP session to the selected destination is launched.
image




Friday, August 17, 2012

MS RDV Team: “Enabling a Seamless Multimedia Experience with RemoteFX Media Streaming in Windows Server 2012 and Windows 8”

A new blog post from the Microsoft Remote Desktop Virtualization team. Alvin Lau, a Software Development Engineer in Test (SDET) from the RDV Team from wrote a blog post on the Multimedia experience with RemoteFX media steaming on Windows Server 2012 and Windows 8.

“…Previously, Windows Server 2008 R2 and Windows 7 introduced Windows Multimedia Redirection, which provided a great experience when playing multimedia content by using Windows Media Player (WMP) in a remote session. Since Multimedia Redirection was based on redirecting the native media stream to the client, the experience was great for supported video formats on LAN networks. However, there were a few key shortcomings…”

“…To address these shortcomings, Windows Server 2012 and Windows 8 introduced RemoteFX Media Streaming, which uses host-side rendering techniques (which provide broad video format support) in combination with the industry standard H.264 codec (which benefits online media streaming) to seamlessly redirect video content…”

The blog post also shows a nice video which shows Windows 7 and Windows 8 remote desktops side by side playing a video over a slow link with latency and packet loss.

Read the complete article here: http://blogs.msdn.com/b/rds/archive/2012/08/16/enabling-a-seamless-multimedia-experience-with-remotefx-media-streaming-in-windows-server-2012-and-windows-8.aspx?wa=wsignin1.0

Sunday, July 1, 2012

Introduction to Windows PowerShell scripting in Windows Server 2012 Remote Desktop Services (by RDS team)

imageThe Microsoft RDS team released a new blog post on using Powershell for Remote Desktop Services in Windows Server 2012. It’s discusses the RemoteDesktop module, and contains many examples on the different cmdlets!

“…One of the new features that we’re all very proud of in Windows Server 2012 is a new Windows PowerShell layer, which provides a powerful set of functionality to set up, configure, and control your Windows Server 2012 Remote Desktop Services (RDS) deployments. The feature is too big to cover in one post, but I wanted to give you a quick introduction to help you get started with scripting your deployments in the Windows Server 2012 Release Candidate build. In this post I’ll give a brief overview of the kinds of tasks you can perform by using the new RDS Windows PowerShell layer, and then go a bit more in-depth with one of the Windows PowerShell cmdlets that you’ll likely be using a lot in your scripts (Get-RDServer), and finally finish up with a practical example showing how to use that cmdlet to install the Desktop Experience feature on all of the Remote Desktop Session Host (RD Session Host) servers in your deployment…”

Source: http://blogs.msdn.com/b/rds/archive/2012/06/28/introduction-to-windows-powershell-scripting-in-windows-server-2012-remote-desktop-services.aspx

Tuesday, June 26, 2012

Remote Desktop Web Access single sign-on now easier to enable in Windows Server 2012

imageThe Microsoft RDS team posts a new blog that explain the way to setup Single Sign On (SSO) with Windows Server 2012. The setup has been made a lot easier compared to what you had to configure with Windows Server 2008 R2.

“…Hi, I’m Sergey, one of the developers on the team that produces Remote Desktop Services. In Windows Server 2008 R2, we introduced Web Single Sign-On (web SSO), which reduced the number of times a user was asked for credentials when accessing RemoteApp programs published through Remote Desktop Web Access (RD Web Access). Enabling this was complex and difficult for users. In this post, I'll explain how easy it is to set this up in Windows Server 2012. It basically works "out of the box…”

Source:http://blogs.msdn.com/b/rds/archive/2012/06/25/remote-desktop-web-access-single-sign-on-now-easier-to-enable-in-windows-server-2012.aspx

Thursday, June 21, 2012

New article: Troubleshooting RDS in Windows Server 2012

image


My new article titled "Troubleshooting RDS in Windows Server 2012" on virtualizationadmin.com just got published. The article is about ways to gather information to troubleshoot and debug RDS deployments using Windows Server 2012.

 Introduction
In this article we will look at some ways of collecting valuable information for troubleshooting issues in RDS environments when running Windows Server 2012 (up until now Windows Server 8 Beta…”

“…The different roles that are part of the Remote Desktop Services Platform have several log files, trace files and also event logs where information, statuses and errors are stored. This information can be rather useful when troubleshooting an installation or configuration.

The main part of this article will be around a log file that contains information about the installation and configuration process. This log file is called RDMSDeploymentUI.txt. You can find this log file…”

Read the complete article here:
http://www.virtualizationadmin.com/articles-tutorials/general-virtualization-articles/troubleshooting-rds-windows-server-2012.html

Wednesday, May 30, 2012

New Article: Remote Apps and the Metro RDP client

image_thumb1My new article titled “Remote Apps and the Metro RDP client" on virtualizationadmin.com just got published. The article is about the integration of RemoteApps running on Windows Server 2012 (8 Beta) launched from a Windows 8 client.

“…Introduction

Remote applications that run seamlessly on a client desktop have been around for some time now. With Windows Server 8 Beta, Microsoft has put in a good effort to make the RemoteApps on the Windows 8 desktop interact and integrate better than before. In this article, we will look at the integration of RemoteApps running on Windows Server 8 Beta launched from a Windows 8 client...”

Read the complete article here:
http://www.virtualizationadmin.com/articles-tutorials/vdi-articles/general/remote-apps-and-the-metro-rdp-client.html

Wednesday, May 9, 2012

Windows Server 2012 Remote Desktop Services, by Klaas Langhout, a Director of Program Management in the RDS team

Yesterday a blog post by Klaas Langhout, a Director of Program Management in the Microsoft RDS team was published on blogs.technet.com. A blog post on behalf of the entire Remote Desktop Virtualization Team. A good read!

“…For Windows Server 2012 we listened to our customers and partners and added the most desired features and resolved the top pain points in Remote Desktop Services (RDS). Following a description of RDS, I’ll summarize some of the many dramatic improvements we have made.
For those people that are not familiar with
RDS, it is the workload within Windows Server that enables users to connect to virtual desktops, session-based desktops and RemoteApp programs. The key value that RDS provides is the ability to centralize and control the applications and data that employees need to perform their job from the variety of devices that the employee uses. This provides “work anywhere from any device” while ensuring that your control and compliance needs are met.
In the previous release, we received consistent feedback that:

  1. RemoteFX was very popular however its underlying protocol (RDP) did not provide a great experience over Wide Area Networks (WANs)
  2. Session and virtual machine infrastructures were complicated and costly and
  3. The administration experience was not simple.

Windows Server 2012 addresses each of these issues….”

Read the complete blog post here: http://blogs.technet.com/b/windowsserver/archive/2012/05/09/windows-server-2012-remote-desktop-services-rds.aspx

Tuesday, April 24, 2012

Setting the default RemoteApp connection URL on your clients using GPO

Before Windows Server 8 beta (soon to be Windows Server 2012) there was an option in the control panel of the user called Remote App and Desktop Connections. Using this Control Panel option the user was able to set the URL needed to build the connection to the RD WebAccess to be able to have the RemoteApps available. Remember that in this Feature highlight blog post I wrote that Window Server 8 beta added a new option so that users would also be able to enter their corporate e-mail address in stead of the connection URL, which is of course much more user friendly.

Windows Server 8 Beta also comes with a new GPO setting to set the default connection URL so that the user would not have to configure anything at all!

The setting is inside a new container called “RemoteApp and Desktop Connections”

image

And is called “Specify default connection URL”

image

If you enable this setting you are able to set the default connection URL. The details of the setting are shown below.

Setting: Specify default connection URL
Supported on: At least Windows 8 Consumer Preview
Comment: This policy setting specifies the default connection URL for RemoteApp and Desktop Connections. The default connection URL is a specific connection that can only be configured by using Group Policy. In addition to the capabilities that are common to all connections, the default connection URL allows document file types to be associated with RemoteApp programs.

The default connection URL must be configured in the form of http://contoso.com/rdweb/Feed/webfeed.aspx.

If you enable this policy setting, the specified URL is configured as the default connection URL for the user and replaces any existing connection URL. The user cannot change the default connection URL. The user's default logon credentials are used when setting up the default connection URL.

If you disable or do not configure this policy setting, the user has no default connection URL.

Note: RemoteApp programs that are installed through RemoteApp and Desktop Connections from an untrusted server can compromise the security of a user's account.

Thursday, April 5, 2012

How to configure High Availability for RD Connection Broker on Windows 8

In a previous blog post (Better HA on de RDCB) I wrote a quick feature highlight of the new High Availability options for RD Connection Broker on Windows Server 8 (Beta). I promised to write a more detailed blog post on how to actually set this up. So here it is!

The process for setting up a highly available (HA) RD Connection Broker has changed and improved a lot in Windows Server 8 (Beta). As also seen in my previous blog post on this, a wizard has been added to the new server manager to guide you through the process of setting up the HA and adding new RD Connection Broker servers.

Prerequisites
Before we start to configuration, I’ll quickly sum up the prerequisites. At this point we assume that there is a RD Connection Broker already in place (e.g. during the setup of a quick deployment). The prerequisites for High Availibility for the RD Connection Broker are:

• A Microsoft SQL Server with write permissions granted to all RD Connection Broker servers that will be part of the deployment

• The Microsoft SQL Server Native Client is installed on all RD Connection Broker servers that will be part of the deployment

• Static IP addresses have been assigned to all RD Connection Broker servers that will be part of the deployment

• DNS resource records with a single DNS name have been created for all RD Connection Broker servers that will be part of the deployment

Step 1. Preparing the Broker for HA

Before adding a second server with the RD Connection Broker role we need to prepare the current RD Connection Broker for HA. Which means that during this process, the wizard will create a central database on a central MS SQL Server instance and will transfer the configuration to this database.

We open the Server Manager on the machine that is currently holding the RD Connection Broker Role and we navigate to “Remote Desktop Services” and then “Overview”. We right-click the RD Connection Broker and choose “Configure RD Connection Broker for HA”.



On the "before you begin" screen the previously discussed prerequisites are summed again, we press “Next”. On the “Configure High Availability” screen we enter the details of the HA setup.


We need to specify the following parameters:

Database connection string
The wizard will use this string to create the database. Pay close attention to the format of the string. Copy the string below and change only replace the <name of SQL server> and <name of database> values.

DRIVER=SQL Server Native Client 10.0;SERVER=<name of SQL server>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;Database=<name of database>

Folder to store databasefile
Here we need to specify the folder on the SQL Server where we want the databases to be stored. For demo purposes I placed in C:\RCDB, but in most environments you will probably use an existing HA SQL environment and enter the desired values. Note that we specify the location for the .mdf as well as the .ldf file, so no separation there. However, you should be able to change that in using SQL Server manager after the installation.

DNS Resource Record name
Here we specify the DNS name that we want this HA RD Connection broker farm be accessible on.  For this demo I used rdcb.lab.local

We click “Next” and click “Configure” on the confirmation page. Shortly after that we get the confirm that the configuration has succeeded.


 A database is created on the SQL Server we specified.


Remember that this was just step 1. We now have prepared the current RD Connection Broker for HA purposes.


Step 2. Adding a RD Connection Broker

As the next step we will add a new RD Connection Broker to the HA setup we just created.

We go back to the server manager and we now have the option available “Add Connection Broker Server”.


After clicking next on the prerequisites page we are presented with the screen below. We select the server that we want to add as a RD Connection Broker and click next. (Please remember that before we are able to add a server here that server must be added to the Server Manager to be able for it to configure it).


We click “Add” on the confirm dialog and the wizard will remotely install the RD Connection Broker on the server we selected and add it to HA environment.

And that’s it!

We are now able to remotely connect to the DNS farm name (rdcb.lab.local) we created by using mstsc. An initial connection (as seen here) will be hosted by one of the active RD Connection Broker servers and we get be redirected to one of the RD Session Host Servers in the Session Collection! (And of course this also works in conjunction with the RD Gateway and RD Web Access).


Conclusion
Windows Server 8 (Beta) supports a true active-active HA solutions for the RD Connection Broker  Big improvement !

Tuesday, October 4, 2011

Remote Desktop Web Access in Windows Server 8

In an earlier blog post I showed and discussed the Scenario Based Deployment of Remote Desktop Services. (see here: Scenario Based Deployment). Remote Desktop WebAccess (RDWA) is part of this deployment. In this blog post I will discuss the changes to this role a bit further and show you what RDWA looks like in Windows Server 8 (at least inside the developers preview).

When you install the Remote Desktop WebAccess (RD WebAccess) role, either via de Scenario Based Deployment or manually using the Server Manager, the RD WebAccess page becomes available under https://hostname/rdweb (no difference there, compared to Windows Server 2008 (R2). When we browse this URL, the login screen actually looks pretty much the same.



We can see that the RD WebAccess page in the Developers Preview still needs some work done, as it still states “Windows Server 2008 R2” in the lower-left corner. :-)

When we logon, we are presented with the screen below. Again, not very different compared to Windows Server 2008 R2. A difference that we do see however is “Current folder: /” Is that what we think (and hope) it is? It seems that in upcoming releases, we will actually be able to put RD WebAccess RemoteApps Programs inside (sub)folders! That’s great! I have seen lots of requests and questions on about this on TechNet forum!



When we look at the source of default.aspx quickly, it seems my thoughts a confirmed! We already see declarations of strings containing errors and messages of a folder hierarchy structure.

const string L_BadFolderErrorTitle_Text = "Folder does not exist. Redirecting...";
const string L_BadFolderErrorBody_Text = "You have attempted to load a folder that does not exist. In a moment, you will be redirected to the top-level folder.";


Also, note that we’re missing a tab here called “Configuration”. Am I perhaps not logged on as an Administrator? Yes, I am. So why is it not showing? It simply isn’t there yet. When we look at the content of the folder that RD WebAccess uses (that is still C:\Windows\Web\RDWeb\Pages) we see the following content:



Which is different compared to Windows Server 2008 R2 as we can see below.



We’re missing config.aspx. This configuration is moves to the Server Manager. I'll talk about that more in an upcoming blog post!

There is another new file in the en-US folder called RDWAstrings.xml. When we open this up we’re presented with, as the name suggests, strings that we can modify. A snippet of the code is shown below.

<string id="ControlUpgradeVistaBody_2">.<br/><br/></string>
<string id="SearchingForApps">Searching for available RemoteApp programs... </string>
<string id="CurrentFolder">Current folder: </string>
<string id="ParentFolder">Up</string>


So yes, we can already change the name of the root-folder using the CurrentFolder string :-)



In my next blog post I will discuss the new functionality that has moved from the "Configuration" tab in the RD WebAccess page to the Server Manager. Stay tuned!