Fall, my favorite time of year. More so now that Citrix has released the next version of WEM. The version numbering system in now in line with other newly released Citrix products. This version is 1808. You can now download the new version here (requires Platinum licenses and login to Citrix.com). I’ve provided the release notes below. I also have it on good authority that Citrix added Pumpkin Spice to this this version.

What’s new

What’s new in Workspace Environment Management 1808

Workspace Environment Management 1808 includes the following new features. For information about bug fixes, see Fixed issues.

New product names

If you’ve been a Citrix customer or partner for a while, you’ll notice new names in our products and in this product documentation. If you’re new to this Citrix product, you might see different names for a product or component.

The new product and component names stem from the expanding Citrix portfolio and cloud strategy. Articles in this product documentation use the following names:

  • Citrix Virtual Apps and Desktops: Citrix Virtual Apps and Desktops offers a virtual app and desktop solution, provided as a cloud service and as an on-premises product, giving employees the freedom to work from anywhere on any device while cutting IT costs. Deliver Windows, Linux, web, and SaaS applications or full virtual desktops from any cloud: public, on premises or hybrid. Virtual Apps and Desktops was formerly XenApp and XenDesktop.
  • Citrix Workspace app: The Citrix Workspace app incorporates existing Citrix Receiver technology as well as the other Citrix Workspace client technologies. It has been enhanced to deliver additional capabilities to provide end users with a unified, contextual experience where they can interact with all the work apps, files, and devices they need to do their best work. For more information, see this blog post.
  • Citrix Provisioning: The Citrix Provisioning is a solution for managing virtual machine images, combining previous technologies known as Machine Creation Services (MCS) and Citrix Provisioning Services (PVS). Citrix Provisioning was formerly Provisioning Services.

Here’s a quick recap:

Is Was
Citrix Virtual Apps and Desktops XenApp and XenDesktop
Citrix Workspace app Citrix Receiver
Citrix Provisioning Provisioning Services

Implementing this transition in our products and their documentation is an ongoing process.

  • In-product content might still contain former names. For example, you might see instances of earlier names in console text, messages, and directory/file names.
  • It is possible that some items (such as commands and MSIs) might continue to retain their former names to prevent breaking existing customer scripts.
  • Related product documentation and other resources (such as videos and blog posts) that are linked from this product’s documentation might still contain former names.

Your patience during this transition is appreciated. For more detail about our new names, see https://www.citrix.com/about/citrix-product-guide/.

New product and component version numbers

In this release, product and component version numbers are displayed in the format: YYMM.c.m.b.

  • YYMM = Year and month when the features are finalized. For example, if the features are finalized in August, a release in September 2018 appears as 1808.
  • c = Maintenance version (if applicable).
  • m = Citrix Cloud release number for the month.
  • b = Build number. This field is shown only on the About page of the product, and in the OS’s feature for removing or changing programs.

For example, Workspace Environment Management 1808.0.1 indicates that the released product with features finalized in August 2018 is associated with Citrix Cloud release 1 in that month, and is not a maintenance version. Some UI elements display only the version’s year and month, for example, Workspace Environment Management 1808.

In earlier releases of this product (Workspace Environment Management 4.7 and earlier), version numbers were displayed in the format: 4.version, where the version value incremented by one for each release. For example, the release following 4.6 was 4.7. Those earlier releases will not be updated with the new numbering format.

Administration console

In this release, an “Everyone” default group is provided on the Assignments > Action Assignment tab. To simplify assigning actions for all users in Active Directory, you can use the ‘Everyone’ default group to assign the actions.

Profile management

As of this release, Workspace Environment Management supports configuring all settings for Citrix Profile Management 1808. The following new options are now available in the administration console:

  • Enable application profiler (option for defining application-based profile handling)
  • Enable search index roaming for Microsoft Outlook users (option for improving the user experience when searching mail in Microsoft Outlook)
  • Enable Large File Handling (option for eliminating the need to synchronize large files over the network)


Workspace Environment Management documentation is updated to reflect current product behavior.

The Workspace Environment Management SDK documentation is updated to version 1808.

Thanks for reading,

PowerShell: XenServer Count Function



I’ve been hesitant to dive into XenServer PowerShell cmdlets, but there’s no rational reason to not do it. Citrix continues to make great strides in expanding and updating PowerShell for XenServer, PVS, and XenDesktop. Today, we’ll go over a function that queries an array of XenServer Poolmasters and returns the total VM count on each. The idea behind this function was to stop manually counting VM’s in XenCenter and to understand VM growth and XenServer Pool utilization.

NOTE: Thanks to The Scripting Frog for getting me most of the way there with this function.

The manual count of VM’s

XenServer and PowerShell?

It may seem weird to use PowerShell to perform queries of a Linux-based system, but such is the world we live in. I remember back in my day :). Apple was a joke, IBM ruled the PC market and Linux didn’t exist. Of course I still remember saving BASIC programs to a cassette deck.


The script will prompt for credentials which can be root or any XenServer administrator. Then you connect to each pool master in turn…

# Loop through list of hosts (poolmaster)
$xenserver_poolmaster | ForEach-Object {
# Connect to XenServer pool
Connect-XenServer Server $_ Creds $xenserver_credential SetDefaultSession NoWarnNewCertificates

The important flags are -SetDefaultSession and -NoWarnNewCertificates. You must set the default session on each new XenServer connection, otherwise, the script will not know what pool master to query. The NoWarnNewCertificates flag prevents a prompt asking you to accept the new XenServer certificate (you can leave this out if you want this additional warning to let you know you’re connecting to a new XenServer).

Unless you can refer to your XenServers with a DNS name, you can do some quick translation to make your output more readable. I’m using a switch statement to replace the IP address with a XenServer name.

switch ($_) {
"" {$xsn = "XenServerPool1"; break}
"" {$xsn = "XenServerPool2"; break}
default {"UNKNOWN XENSERVER"; break}

The rest is just getting all the VM’s (minus snapshots, templates, etc), counting them and putting the results into a custom PowerShell Object. Finally you disconnect from each XenServer and go to the next one.

# Retrieve the information
$XenServerVMs = Get-XenVM | Where-Object {$_.is_a_snapshot -eq $false -and $_.is_a_template -eq $false -and $_.is_control_domain -eq $false -and $_.power_state -eq 'running'} | Select-Object name_label
$vmCount = $XenServerVMs.count
$objctxsrv = new-object System.Object
$objctxsrv | Add-Member type NoteProperty name XenServer value $xsn
$objctxsrv | Add-Member type NoteProperty name 'VM Count' value ($vmCount)
$finalout += $objctxsrv
# Disconnect from the XenServer pool
Get-XenSession Server $_ | Disconnect-XenServer

The results…

XenServer VM Count
--------- --------
XenServerPool1 108
XenServerPool2 109

You can get this and so much more from my github.

Thanks for reading,
Alain Assaf




Summer is time for vacations, beaches, and WEM Upgrades! Citrix has released version 4.7 of WEM. You can now download the new version here (requires Platinum licenses and login to Citrix.com). I’ve provided the release notes below.

What’s new

Workspace Environment Management 4.7 includes the following new features. For information about bug fixes, see Fixed issues.

New-wemDatabase PowerShell cmdlet updated

PowerShell modules in the Workspace Environment Management SDK are updated at this release. A new parameter CommandTimeout is provided for the New-wemDatabase cmdlet which allows you to configure timeout period for connection attempts to the WEM database. After the timeout period an error message is displayed. The default timeout is 300 seconds.

The Workspace Environment Management SDK documentation is updated to version 4.7.

Thanks for reading,