Citrix Acquires ShareFile – a Citrix Service Provider Perspective

Citrix Systems recently completed the acquisition of a company called ShareFile. In this post, I take the perspective of a Citrix Service Provider (CSP) and dream up some ways that ShareFile could be used to add value to CSP subscribers.

Citrix Systems recently completed the acquisition of a company called ShareFile.  ShareFile provides several services including file synchronization among many devices and creating custom-branded, password-protected space where you can exchange business files with clients easily and securely.

Brian Madden wrote an analysis on this acquisition already, but I wanted to share how this service can be used to supplement a Citrix Service Provider’s (CSP) architecture. 

File Transfer to the Cloud

One challenge that many CSP subscribers face is data upload to the cloud.  Now, Citrix has client drive mapping that can help transfer files from the subscriber’s local workstation to the CSP cloud, but explaining the nuances of client drive redirection to subscribers can be a challenge.  Plus, the Citrix virtual channel for client drive mapping is not optimized for file transfers.

Now, image if the subscriber had a special folder on their workstation where they can put a file and it “magically” shows up in the CSP cloud.  That would be cool and ShareFile makes this possible (to be fair, DropBox could be used to do the same thing).


Mobile Device Synchronization and Offline File Access

People use multiple devices to access CSP cloud resources.  Imagine ShareFile synchronization components being available as a Citrix Receiver plugin.  Then, certain files could be made available on mobile devices.  Picture this, you need to access an Excel spreadsheet you created in the CSP’s cloud from your iPad and you do not have WiFi or 3G access available.  Normally, you would be out of luck.  But, if this file was synchronized to your iPad via ShareFile, you would have mobile offline access to the file. 

Sharing Files with non-CSP Subscribers

ShareFile allows you to create a custom-branded, password-protected space where you can exchange business files with clients easily and securely.  This is kind of ShareFile’s forte.  CSP subscribers oftentimes want to share a file beyond the boundaries of the CSP’s firewall.  ShareFile makes this as easy as sending an email.  Since everything is encrypted along the way, could this also be used as a make-shift email encryption mechanism?  The following graphic depicts all the pieces together:




Export and Import Citrix XenApp 6 Published Applications Using PowerShell

Exporting and Importing published applications in Citrix XenApp used to be a tedious process. Now, thanks to XenApp PowerShell Cmdlets, this process is much easier and more flexible. No uber scripting skills needed.

Exporting and importing Citrix XenApp 6 published applications using PowerShell is super easy. In this article, I will show you how to export all or some of your XenApp 6 published applications into a XML file. Then, I will show you how to import those applications while overriding certain application properties like Worker Group and Server Names.

note Note: before you get started, be sure to check out this post on how to install the Citrix XenApp 6 PowerShell Cmdlets.


Exporting Citrix XenApp 6 Published Applications

The first thing we need to do is export some published applications from an existing XenApp 6 farm. In this example, I will only export applications in a certain folder instead of the entire application inventory.

Get-XAApplicationReport * | ?{$_.FolderPath.StartsWith("Applications/Testing")} | Export-Clixml c:\testingApps.xml



So, there are 3 parts to this export.

  1. Get-XAApplicationReport gets all properties of a published application. If you are familiar with MFCOM, the Get-XAApplicationReport command is similar to calling LoadData(1) on an application object.

    FYI – There is a command called Get-XAApplication, but that command doesn’t get all properties of a published application.

    Anyway, if you don’t use the Get-XAApplicationReport command, you won’t get all your application properties and you will be sad.

  2. ?{$_.FolderPath.StartsWith("Applications/Testing")} looks at each application object that Get-XAApplicationReport returns and filters out all applications whose folder path does not start with “Applications/Testing”.

    Note to Citrix – it would be nice to have some filtering built into the Get-XAApplicationReport command. You will notice in the example, that I have to get all the published applications in a farm and filter out what I do not want. That is a pretty expensive operation. It would be better to just get what I want from the get go.

  3. Export-Clixml saves it all to a XML file called testingApps.xml.


Importing Citrix XenApp 6 Published Applications

Now that you have the applications exported to a XML file, you can import those applications to another farm. Here is one way to do this:

Import-XmlCli c:\testingApps.xml | New-XAApplication -ServerNames [servers] -WorkerGroupNames $null

The cool thing about this is that you can override settings during an import. For instance, the original farm I exported from had published applications assigned to Worker Groups rather than Servers. In the destination farm, I want to publish the applications to Servers rather than Worker Groups. You can actually override a multitude of properties during the import process which will make your life easier.

note Note: if you do not create the folder structure beforehand, you will get the following error when you try to import:

New-XAApplication : Cannot find folder with path Applications/Testing (0x80160001)
At line:1 char:70
+ Import-Clixml C:\testingApps.xml | New-XAApplication <<<<
    + CategoryInfo : InvalidResult: (Applications/Testing:String) [New-XAApplication], CitrixException
    + FullyQualifiedErrorId : ComApp.GetFolderId,Citrix.XenApp.Commands.NewAppCmdlet

So, check out this article on migrating a folder structure.


Migrate Citrix XenApp 6 Folder Structure Using PowerShell

There are times when you need to migrate all or part of your Citrix XenApp 6 folder structure from one farm to another, or just back up a XenApp 6 folder structure. This post will show you how to accomplish this using PowerShell.

There are times when you want to migrate a folder structure from one Citrix XenApp 6 farm to another.  For instance, if you maintain separate test, quality assurance, and production farms and need to migrate folders and applications between the farms.  Fortunately, this is super easy in XenApp 6 using PowerShell.

note Note: before you get started, be sure to check out this post on how to install the Citrix XenApp 6 PowerShell Cmdlets.


Export Specified Folders

You can export your entire folder structure, or just certain parts of it.  In the example below, I will export only the “Testing” folder (see the screen shot below).

Here is how to export just the “Testing” folder and its subfolders using PowerShell to a XML file called “TestingFolders.xml”:

Get-XAFolder -FolderPath "Applications/Testing" -Recurse | Export-Clixml c:\TestingFolders.xml



Well, the cool thing about PowerShell is that it is pretty readable, so I don’t think this command needs a lot of explanation. However, let’s look at the resulting XML file.

  Applications/Testing/Microsoft Office

No rocket science there either. It is just a list of folders. You could easily hand craft one of these XML files to create a folder structure. What I am going to do here is modify the folder path so that the folders get created in the “Applications/QA” folder and then save the file as “QAfolders.xml”. Here is what the XML file looks like now:

  Applications/QA/Microsoft Office


Import Folders

Now that you have your XML file, it is relatively easy to import. Here is how to do it:

Import-Clixml c:\QAFolders.xml | New-XAFolder


Here are the results:


Next Steps

So all this folder structure stuff is fine, but wouldn’t it be nice to import some apps into those folders? Of course it would. Here is how to export and import XenApp 6 published applications using PowerShell.


Citrix Synergy 2011 Keynote Live Blog

Citrix Synergy 2011 is going on now. I’ll be live blogging the event.

There will be a lot of news coming from Citrix Synergy 2011.  I’m using a new plugin to live blog the event.  Updates will be automatically updated in reverse chronological order (no need to refresh your browser – yeah Ajax!).

Here we go with the keynote:


May 25, 2011, 1:41 pm

#citrixsynergy End of keynote. Nothing follows.

May 25, 2011, 1:38 pm

#citrixsynergy @guspinto showing Citrix Receiver delivering a Mac desktop via XenDesktop. Gus sucks at Angry Birds!

May 25, 2011, 1:31 pm

#citrixsynergy Citrix Receiver can now deliver Android apps. So, now you can have Android apps on a Windows platform via Receiver.

May 25, 2011, 1:28 pm

#citrixsynergy End of message. But, in Steve Jobs fashion, there is “one” more thing. Although, now there are 2 more things.

May 25, 2011, 1:21 pm

#citrixsynergy OpenStack is being discussed now. Citrix is announcing Project Olympus to bring the power of OpenStack to enterprises. This will allow enterprises to build private cloud environments inside their own datacenter that works just like public cloud environments. This is a joint effort including players like Citrix, Dell, Rackspace, etc.

May 25, 2011, 1:09 pm

#citrixsynergy NetScaler Cloud Bridge helps bridge the gap between your enterprise and public clouds. You can run an app in a public cloud but keep the data in your local data center.

May 25, 2011, 12:59 pm

#citrixsynergy Follow-me data. Dropbox, Box.Net, enterprise data, etc. being synced on multiple devices. This data is stored in an encrypted (probably via XenVault) section of the client. Remote wipe, polices, admin control. This is some pretty sweet stuff.

May 25, 2011, 12:51 pm

#citrixsynergy NetScaler Cloud Gateway is one place to aggregate, orchestrate, and deliver SaaS, Web, and Windows apps. Receiver is a one stop shop for access to your enterprise and SaaS apps.

May 25, 2011, 12:43 pm

#citrixsynergy GoToManage for iPad will be free for a 1-to-1 session. Look for it in the App Store soon!

May 25, 2011, 12:37 pm

#citrixsynergy Brad Peterson showing the new Receiver. Published apps are alive and strong. It isn’t all about VDI or hosted virtual desktops – which is refreshing.

May 25, 2011, 12:31 pm

#citrixsynergy Google is deploying Citrix and Chromebooks internally. How cool is that…

May 25, 2011, 12:28 pm

#citrixsynergy Amit Singh from Google is coming on stage to talk about Chromebook and Citrix Reciver for Web. HTML 5 is the man! No need to download client – Citrix just works from the browser. Brad Peterson is showcasing a Chromebook with Receiver for Web. This is awesome.

May 25, 2011, 12:21 pm

#citrixsynergy XenClient XT is available for extreme security. This message will self destruct in 2 minutes…

May 25, 2011, 12:17 pm

#citrixsynergy Now, Mark is talking about XenClient. XenClient is now supported on more hardware – no more dependence on vPro (although full motion video and 3D will suffer a bit on non vPro).

May 25, 2011, 12:14 pm

#citrixsynergy GoToMeeting with HD faces is available for Beta today! 2 new ads are being shown in the keynote.

May 25, 2011, 12:12 pm

#citrixsynergy “Easier & simpler” lowers TCO and raises TVO. So “Easier & Simpler” is the pivot of an inverse proportion.

May 25, 2011, 12:04 pm

#citrixsynergy There are now 3 “PC”‘s – Public Cloud, Private Cloud, Personal Cloud. Is “Personal Cloud” taking things too far – I think maybe/maybe not. With the consumerization of IT, people are brining their compute environment with them wherever, whenever, on whatever device.

May 25, 2011, 11:58 am

#citrixsynergy Any, any, any is now whatever, whenever, wherever. TCO is being replace by TVO (Total Value of Ownership). TVO makes sense because the value can be more or less than the actual cost of something.

May 25, 2011, 11:49 am

#citrixsynergy on no! More “snack, dine, create” analogies. Although, the new term coined is BYO-3 – which makes sense. A lot of people bring multiple devices (laptop, tablet, phone). Also people are brining their own compute environment too (dropbox, cloud apps, gmail, etc.). Consumerization is alive and kicking in IT. Citrix is embracing this.

May 25, 2011, 11:41 am

#citrixsynergy Mark T “Hyper-V a great platform for XenDesktop”

May 25, 2011, 11:39 am

#citrixsynergy Kaviza is the subject. Complexity is “optional”.

May 25, 2011, 11:38 am

#citrixsynergy we’re going to talk a lot about the cloud. Tomorrow the DIA (Defense Intelligence Agency) will be presenting.

May 25, 2011, 11:36 am

#citrixsynergy And… wer’e off. Mark T on stage now. Standing room only.

May 25, 2011, 11:30 am

#citrixsynergy Brian Madden is live blogging too ->

May 25, 2011, 11:23 am

Watch the keynote live here ->

May 25, 2011, 11:17 am

People are filing in to the keynote now. There is a DJ spinning some tunes as a rumored 5,500 attendees file in.




Citrix Acquires Cloud Control Panel Company EMS Cortex

Citrix acquired EMS Cortex – a cloud control panel company. This web-based control panel allows for provisioning of a multitude of resources including Microsoft Exchange, Citrix XenApp, Microsoft SharePoint, DNS, SQL, Hyper-V, and more.

citrix cortex

Citrix announced today that they have acquired a Cloud control panel company called EMS Cortex. EMS Cortex makes a web-based cloud control panel that automates the provisioning of an array of Microsoft Products including Exchange, SharePoint, OCS, Web Hosting, SQL Server, DNS, RDS, Microsoft Dynamics CRM, and Hyper-V.  The EMS Cortex control panel also automates the provisioning of Citrix XenApp applications and desktops.  I am personally very excited about this news because I use Cortex in my current job at Xcentric.

What is EMS Cortex?

In a multi-tenant hosting environment, it is very important to have a strict provisioning routine to ensure consistency.  EMS Cortex makes a web-based control panel to automate the provisioning process used in multi-tenant hosting environments.  Cortex provisions Active Directory OUs, user accounts, groups, file shares, SharePoint sites, Citrix XenApp resources, etc.  Through the use of Cortex, you no longer have to visit multiple consoles to provision users – just set up the user in Cortex and the rest is taken care of.  This is good because Cortex removes the human error factor.

As I mentioned before, we use Cortex at Xcentric.  Cortex is the centralized provisioning engine for our multi-tenant hosting environment.  There are a lot of good things about Cortex and some things I wish I could change (I’ve already started talking with Cortex about the things I wish I could change).  I’m hopeful that we, the community, will see even more Citrix-focused integration points in future releases.

How EMS Cortex Works

Cortex is a multi-tier application consisting of the following components:

  • SQL Database – for configuration, users, customers, auditing and reporting.
  • Web Services – for real time interaction with Active Directory and other hosted services.
  • Provisioning Engine – via Microsoft Message Queue (MSMQ), provisioning requests are dispatched to the provisioning engine.

The Cortex web application is loosely coupled with the other Cortex components. This loose coupling provides several security benefits, as the web server has no dependency on Active Directory it can essentially operate outside of the managed domain.  Cortex can also manage multiple domains.

cortex architecture Image source:

What will Citrix do with EMS Cortex?

Now, the things I’m about to share are purely off the top of my head and are not necessarily the direction Citrix intends on taking this product (although I hope they do).

Virtual Machine automation – ok, I kind of cheated on this one because Cortex already integrates with Hyper-V.  But this automation is solely based on System Center Microsoft Virtual Machine Manager.  So, it would be cool to provision VMs for XenServer and *gasp* VMware.  SCVMM is somewhat sketchy with VMware ESX and vSphere and there is currently no SCVMM integration with XenServer (although, there were some screenshots of SCVMM and XenServer at Synergy last year – not sure where that is now).  So, either SCVMM will have to amp up on vendor support or Cortex will need to go native API for vendors besides Microsoft.

Cloud bursting – this one goes along with the Virtual Machine automation.  Citrix has been working with Amazon Web Services, SoftLayer, and even has their Citrix Cloud Center (C3).  So, it would be cool to see some hooks built in for platforms like these.  Imagine being able to provision an tenant in one of the vendor clouds instead of provisioning local resources.

Access Gateway Policy provisioning – Cortex provides a lot of self-service functionality for tenants.  It would be cool to give tenants the ability to define Access Gateway policies tailored to their own needs without the help of a system administrator.

XenDesktop integration – currently, Cortex only supports hosted apps and desktops via XenApp.  It would be nice to see integration with XenDesktop.

PowerShell – the current API for Cortex is a mixture of web services and a somewhat proprietary API for the  MSMQ.  It would be cool to see some PowerShell cmdlets to interface with the provisioning lifecycle.

Workflow StudioCitrix Workflow Studio is all about infrastructure automation/orchestration.  Wouldn’t it be cool if Workflow Studio has activities to create a user that utilized the Cortex provisioning engine?  Workflow Studio already has an activity to create Active Directory users, but imagine an activity that used Cortex to create a user instead – thus provisioning all the other “stuff” like Exchange, SharePoint, file system, website access, etc. as well.  That would be cool.

Storage provisioning – one piece that we still have to provision manually at Xcentric is dedicated storage for each tenant.  It would be cool to see some kind of storage provisioning system – maybe pull in the StorageLink group?

Single tenant support – For the near term, the Cortex Cloud Control Panel will be offered as a standalone product on a subscription basis, as it was prior to the acquisition.  Cortex is great for multi-tenant environments, but it is also very helpful in a single tenant environment.  So, it would be cool to see Cortex rolled into one of the editions of XenDesktop or XenApp.

Postini integration – this is another feature that currently isn’t offered by Cortex.  Granted, Google gives you a cool utility to sync users with LDAP directories, but it would be even cooler if Cortex worked with Postini API’s directly.

I could keep making this list for a while.  Needless to say, I’m very excited about this acquisition.