Thursday, January 21, 2016

Office 2016 in Azure RemoteApp now officially supported

With the December updates of Azure RemoteApp, the product team announced official support for Office 2016 for Office 365 in Azure RemoteApp. For an overview of the new features of Office 2016, check out What's new in Outlook 2016 for Windows. I updated my Template Image in Azure IaaS with Office 2016.

The installation is similar to Office 2013 for Office 365. You create an installer xml file and use the Office 2016 Deployment Tool to perform the download and configuration.

For guidance also see Office 2016 Deployment Tool. For Azure RemoteApp (or any RDS environment) make sure SharedComputerLicensing and AutoActivate are enabled in your config file.

After importing the IaaS template image into the Azure RemoteApp Templates store and updating the Azure RemoteApp collection, we're ready to publish Office 2016! Because Azure Portal is able to show a list of applications to publish, we can easily select the desired Office 2016 applications to publish.

Optionally you can also provide the full path (by default under %SYSTEMDRIVE%\Program Files (x86)\Microsoft Office\root\Office16\\)

And here is Office 2016 for Office 365 running in Azure RemoteApp using an HTML5 clientless experience in Chrome (Yes, HTML5 was released in preview last week!)

And here is the full Office 2016 suite in the Azure RemoteApp client

A hot topic for Outlook has always been Search. For an optimal user experience Search in Outlook is definitely a must, but depending in the configuration Search can also be a performance killer, especially in RDS environments. This is what Microsoft says on Search in Outlook for Azure RemoteApp

"...In Azure RemoteApp, using search within Outlook has limitations. Azure RemoteApp uses pooled VMs to accommodate user sessions. Search indexing depends on the machine ID, which is different for different VMs. It is possible that every time a user logs into Azure RemoteApp, they are directed to a new VM. That would mean, if we enable local search, the indexer will run every time the machine ID changes (when the user is on a different VM). Depending on the size of the .OST file, the indexer could take a long time to complete and use up resources needed for other apps. Search would not only be slow but might not produce results. A way to work around this would be to enable online search by default. Unfortunately, indexed/local search cannot be disabled and online search cannot be enabled by default in Outlook 2013.
Outlook 2016 has a solution to tackle this, by providing a new online search experience for mailboxes hosted on Exchange 2016 (or hosted in Office 365). This uses server search results against the local cache (OST). Outlook might fall back to using the search indexer in some scenarios, but most searches would use the online mode. The recommendation from Azure RemoteApp would be to use Outlook 2016 if mail search is a very important scenario...."

Combined with the Microsoft's statement below, Office 2016 in Azure RemoteApp should provide a much better user experience for Search and would be the way to go! That is if, according to Microsoft, "mail search is a very important scenario". Really? :)

"...Outlook 2016 email search is faster, more reliable and provides improved performance. You can seamlessly search email across your local computer, Exchange 16 server or Office 365 Mailbox.
Outlook makes it easier to find email by offering keyword and people suggestions based on your mailbox content from Exchange 2016. You can quickly find email from someone that you've been exchanging emails with or a project you’re working on. Simply start typing someone's name or a keyword in the search box to see suggestions from Exchange 2016..."

The product team has also announced to release a Azure IaaS template image soon in which Office 2016 for Office 365 is pre-installed and ready to use!

Thursday, January 14, 2016

New Azure RemoteApp PowerShell cmdlets to clean up stale AD objects

If you have been working with a Hybrid (domain joined) collection of Azure RemoteApp, you'll know that RD Session Host servers deployed as part of the collection will become members of your on premises Active Directory Domain.

Note that in the example above, two combinations of eight random letters objects are shown. That is because if you update your custom template image,  Azure RemoteApp can start a new eight random letters combination for the RD Session Host servers based on the updated template image.

What Azure RemoteApp currently does not do automatically however, is clean up the RD Session Host Computer objects based on the previously used Template Image. This means you will end up with orphaned computer objects in your Active Directory.

In November of last year I wrote the blog post Azure RemoteApp: Script to clean up orphaned RDSH computer objects in Active Directory. That blog post covered a PowerShell script I created that performs the clean up of these orphaned computer objects.

Now, Microsoft released a new version of Azure PowerShell. This new version (1.0.3) contains two new Cmdlets for Azure RemoteApp

These commands are:


With these two commands you can perform the same tasks as with my PowerShell script, cleaning up orphaned computer objects, or as the PowerShell Cmdlet refers to as Stale AD objects.

How to use the commands?

In this example I'm running a Hybrid (Domain-Joined) Azure RemoteApp collection. Using the command Get-AzureRemoteAppVM we can retrieve the active RDSH servers for a particular collection

Note that there are currently 3 active RDSH servers. Looking at Active Directory we can see that there are 5 computer objects created by Azure RemoteApp, so we clearly have Stale AD objects.

The Cmdlet Get-AzureRemoteAppVmStaleAdObject confirms this:

We can now use the Clear-AzureRemoteAppVmStaleAdObject Cmdlet to remove these two Stale AD objects. We are being prompted before removal of each object, or can choose to Yes to all. Optionally add -confirm:$false to the PowerShell command to auto confirm the clean up for any object.

 The Stale AD objects for this collection are now successfully cleaned

Note that you need to run the new PowerShell CmdLets from a computer that is joined to your on premises domain because the CmdLets directly contact Active Directory.

Wednesday, January 13, 2016

HTML5 for Azure RemoteApp available in public preview!

On November 23rd the HTML5 client for Azure RemoteApp was officially announced and placed on the public road map. A week later Microsoft publically demonstrated the HTML5 at Ignite Australia. Shortly after, I published a blog post showing First glimpse at the Azure RemoteApp HTML5 client!

Today, HTML5 for Azure RemoteApp is available in Preview! This means you can now try HTML5 in your existing Azure RemoteApp collection! This blog post described my first experience with HTML5.

How to test drive HTML5 yourself?

Browse to and click on Try Now

Now log on with your Azure Active Directory Account that has access to a Azure RemoteApp Collection. (The same account you use to log on to the installed Azure RemoteApp client itself)


You will now be presented with the HTML5 portal which will show the applications that are assigned to your user based on the Azure RemoteApp collection membership.

The upper right corner will show the logged on user with the ability to perform a sign out.

The other icon on the upper right can be used to rate your experience and send in additional feedback.

To launch a RemoteApp, simply click the icon. Similar to the installed Azure RemoteApp client, or any generic RemoteApp environment, the launch of the 1st application will take a little bit longer because the user session has to be logged on, the UPD has to be mounted et cetera. Any subsequent application you launch is almost instant.

When you launch the application below is what you will see during the launch of the user session. In my lab (West Europe Azure Datacenter) the 1st launch took ~14 seconds.

Similar to a Hybrid Collection (Domain Joined Collection), there is no Full Single Sign On yet. This means that after launching the 1st RemoteApp, you will be prompted to provide credentials again.

After providing credentials you will the logon process finish. This same process can also be viewed when using the Azure RemoteApp installed client by pressing Details during the application launch.

Shortly after that, below is what you will see. In this case I launched Microsoft Excel which now runs in my browser, based on HTML5! We can drag, resize the application within the black canvas.

With Excel still opens, we can now click the Launch Apps button on the top left corner. This provides an application launcher which allows us to easily open additional applications.

In the example below I can opened several applications by launching them from the Launch Apps button, they open almost instantly.

When running multiple applications, I can now also switch the active applications (switch focus) by using the icons on the top bar, similar the task bar of a local start menu. This allows for easy application switching.

For an even better experience, toggle the Full Screen switch to run the HTML5 Azure RemoteApp environment in Full Screen.

What's also great is you can easily disconnect from the environment by clicking the X symbol on the upper right corner. This will place the session in a disconnected state in the background with all the applications still running. By logging on again, even from a different device and different location you can reconnect to this disconnected session by opening an application. You will return in your HTML5 environment with all the applications you had running still opened. Obviously you need to reconnect within the configured maximum disconnect time, similar to using the installed Azure RemoteApp Client. In fact, you can also reconnect to a HTML5 session, using the installed client. Below is the result of reconnecting to the session above, using the installed Azure RemoteApp client.

Personally I was pretty amazed by the smooth experience, especially since this is only the 1st preview. Obviously, the experience is not exactly the same compared to the installed client, this is true for any HTML5 client out there in the market.

Some of the current limitations for the HTML5 preview:
  • To access HTML5, currently only Edge and Chrome can be used. IE support is coming in a few days and Firefox is coming later in January.
  • Currently, only Hybrid (Domain Joined) scenarios are supported. There is no support for Cloud (non-Domain Joined) scenario's yet. Non-domain joined cloud deployments support is coming later in January.
  • In the current preview there is no redirection yet of Printers, Local drives, Audio, Clipboard et cetera.
As with every Azure service, we can expect Microsoft to use the same continuously development cycle for the HTML5 client as well, meaning we can expect regular improvements ad new features on a continuing basis. The next major update (end of January) will include: Copy and paste, dynamic resolution, automatic reconnect, Firefox and Safari support, mouse cursor and audio

Remote Desktop Preview now available on Windows 10 Mobile and Continuum!

"...Today’s update (version 844) of the Remote Desktop Preview client for Windows 10 adds support for both Windows 10 Mobile devices and Continuum for phone for compatible devices like the Lumia 950 or 950 XL. The client is still in development as we continue adding more key features including support for Azure RemoteApp. It’s been great seeing all the feedback and excitement for using this client on Windows 10 Mobile and on Continuum. This is a great time for you to make feature requests or report bugs and other issues you might have with the client as we prepare to come out of preview..."

Read the complete article here:

Monday, January 4, 2016

Try out Azure RemoteApp in 2016!

Happy New year!

The feature set for Azure RemoteApp for the 1st half of 2016 is huge! New Azure Portal, HTML5 client, MSI package, publish specific apps to specific users, and much more! Below is the current public road map for the Q1 and Q2 of 2016.

Looking to test drive Azure RemoteApp, but don't know where to start? Microsoft provides easy ways to try out Azure RemoteApp.

To get some hands on experience with Azure RemoteApp from an end users perspective, sign up for the Quick user experience demo. It allows you test drive the user experience of Azure RemoteApp on your device in less three minutes.

If you are an IT Pro and want to get some hands on experience with the admin interface, there's also an option of that. Sign up for a Azure (trial) subscription and then a Azure RemoteApp trial. The latter allows for a 30 day Azure RemoteApp trial within your Azure Subscription

In you need assistance or have additional questions on Azure RemoteApp, feel free to contact me!
To get started, visit To discuss Azure RemoteApp and get updates on the latest join the Azure RemoteApp LinkedIn group