Monday, May 23, 2016

Fix Office365 performance issues with FSLogix Office 365 Containers for Citrix!

I’ve written about FSLogix in the past. About a year ago I wrote an article on masking specific applications & plugins for specific users and running various java versions on the same OS. Check it out here: Managing your Azure RemoteApp application landscape using FSLogix Apps.

FSLogix is a set of tools with an extremely small footprint and has an amazing set of features that fix really specific problems, applicable in almost any VDI or RDSH environment!

“…FSLogix Apps is a software agent that enables virtual desktop administrators to massively reduce the number of Windows Gold images, easily manage per-user applications, optimize license costs while assuring compliance, and eliminate some of their biggest problems in VDI and RDSH…”
More info: Today, FSLogix introduces great new functionality again, fixing very common issues in any VDI or RDSH environment!

FSLogix Office 365 Container for Citrix

Consider the following scenario, you have Office 365 and want to publish the full outlook client experience to your end users supporting cross platform and available anywhere / anytime. A common scenario is RDSH of VDI either RemoteApp or Full Desktop. For the best user experience in Outlook for Office 365, outlook cache is enabled. When running Outlook on a local device, that’s no issue, the generated .OST will remain inside the user’s profile on the local device. In any RDSH of VDI scenario however, you preferably roam that .OST file. Otherwise the .OST will be regenerated on each RDSH or pooled VDI you log on to (obviously personal VDI could be an exception). If you do roam the .OST, where do you store it? How do you roam it without having to copy it to the local cached profile? Obviously many vendors offer profile options as part of their overall management suites. For example, Microsoft offers User Profile Disk (UPD). If you are not familiar with UPD, in essence is you store the entire user’s profile in a single .VHDX file on a central file server. When you log on, the .VHDX file is mounted under C:\users\<username> without having to copy any (delta) profile and making it fully transparent for users and applications. FSLogix already offers a similar solution called Profile Containers. This solution is based on the same idea as UPD, but does not have some of the downsides that Microsoft UPD has. For example, Profile Containers is not bound to a single Session Collection where Microsoft UPD is and Profile Containers can be enabled for a specific group of people, for example to exclude administrators. Essentially, FSLogix Office 365 Container for Citrix does the same thing as Profile Containers or UPD, this time however specifically for the just .OST file! Why is this interesting? This makes their solution (similar to all their products) platform & OS independent! Although the name of the product implies that it’s for Citrix only, it’s not. You can run this on top of any RDSH or VDI solution, whether its Microsoft, Citrix VMWare and independent of any existing profile management solution like RES, Appsense (now part of Landesk) you may already have. Azure RemoteApp or AWS would also make for a good use case.

How does it work?
As with any FSLogix product or solution, part of their strength is keeping things simply. There is no complex backend infrastructure needed, and the installation is extremely easy.

1. Import the ADM(X) template provided by FSLogix and create a new GPO (or leverage an existing one that is linked to the OU where your RDSH / VDI machines are located.)

2. Open the GPO and browse to Computer Configuration, Administrative Template, FSLogix. You should see the structure as shown below.clip_image002
3. First, enable Office 365 container
clip_image004 4. Next, provide a location on your (existing) fileserver (CIFS, SMB)clip_image006 5. optionally, advance settings for the VHDX can also be changed. For example, for this lab test I set the maximum Size to 1Gb and Virtual Disk Type VHDX.clip_image007 Alternatively, the settings above can also be configured directly in the registry, the root location if HKLM\Software\Policies\FSLogix
clip_image009 Install FSLogix on the RDSH Servers by using setup.exe, or deploy it using your favorite deployment tools. The setup is extremely easy, setup.exe without any configuration.clip_image011clip_image013

You can configure the environment to only apply FSLogix Office 365 Container for specific users, by modifying the group membership of the group FSLogix ODFC Include List on the RDSH / VDI machine. For this lab I did this manually, but preferably you perform this using GPO or configure it as part of your image management process.clip_image015

That’s it!

After logging on with my test user, a new VHDX file on the central location has been created.clip_image017

And inside user session profile of the active user session you can see the junction point, confirming that we are now using an OST file inside a mounted .VHDX file!clip_image019

And here is the disk in Disk Management.

FSLogix Office 365 Containers allows you to fix a very common issue when dealing with Office365 and RDSH / VDI. The setup is extremely easy, there’s no management backend needed. The fact that it works independent of the virtualization solution or infrastructure is awesome!

I’ll write a follow up with some performance testing!
More info:

Tuesday, May 17, 2016

Ten reasons you’ll love Windows Server 2016 #4: Remote Desktop Services

A video was posted on Microsoft Technet where Clark NIcholson talks about Remote Desktop Services in Windows Server 2016.

“…This is post #4 in the “Ten Reasons You’ll Love Windows Server 2016” video series by Matt McSpirit, Technical Evangelist at Microsoft.

In today’s edition, Matt introduces you to Clark Nicholson, Principal Program Manager on the Remote Desktop Services (RDS) team. Clark talks about the powerful new areas of innovation his team is working on for Windows Server 2016 – graphics improvements, scale enhancements, and optimizations for the cloud. Together, these enhancements strengthen our trusted platform for partners to build secure, customized solutions for our customers…”image Source:

Monday, May 9, 2016

Using Azure File Services to store application configuration files for Azure RemoteApp

Consider the following scenario;
You are a small organization and most of your line of business applications are SaaS or web based. You want to embrace BYOD to help employees to be productive on the devices they love and have access to company applications at any time from any location. With all your applications being SaaS and web based this is relatively easy. However, what if still need to support 2 or 3 Windows Applications that you want to manage centrally. Azure RemoteApp seems to be ideal for that use case! With Azure RemoteApp there is no need to setup and maintain a complex RDS infrastructure backend and Windows Applications can be delivered to any device at any time. Some of the Windows Applications however still need access to a classic file share / drive mapping to access centrally stored application configuration files and data. What you can do is stand up file server in Azure IaaS, create a file share and publish that on the RD Session Host servers as part of you Azure RemoteApp Collection. However, that is yet another server to manage, monitor and maintain where your organization may want to move forward to a full “as a service” environment.

Why not use Azure File Services to store application configuration files for Azure RemoteApp application?

Here’s how in 4 easy steps:

1.  You create a new Azure Storage account (or use an existing one)

2. You create a new File service within that storage account

3. You create a new File Share within that File Service

4. You map a network drive directly to the File Share.

To be able to map a network drive, first get the Access Key by clicking the Key icon on the storage account.

Then open the example Net Use command by opening Connect icon on the File Share.
Simply copy that command and add in the Access Key you copied before. The results in a Net Use command you can use.

In scenario’s where you deployed a Hybrid (domain joined) Azure RemoteApp collection, you can use Group Policy Objects to create a logon script and create a drive mapping in every user session.

As a results, the end users’ applications will have a drive mapping available to store and share application configurations settings.

In scenario’s where you deployed a Cloud (non-domain joined) Azure RemoteApp collection, you can place the same logon script inside the Azure RemoteApp template image. For more information on how to perform this see:

course, you can also create the Azure File Service inside the Azure V1 (classic) portal. The screen shots below outline the necessary steps

1. Create a Storage account (or use an existing one) 

2.Open the Storage account and get the Access Key by clicking Manage Access keys

3. Based on the access key run the following 2 PowerShell commands

4. Now create the drive mapping the same way as described above.

That’s it! An easy way to share configuration data & file for Windows Applications hosted on Azure RemoteApp.

Q Can I use Azure File Services for all File Server needs?
A Technically yes, however do note that Azure File Services does not support NTFS