More and more of the customers I work with are becoming interested in creating customized Citrix Machine Creation Services (MCS) catalogs. Full-clone MCS virtual machines (VMs) have the benefit of being easily migrated between environments and can enable an accelerated boot-up time for target devices. However, in the GUI of Citrix Studio, there’s only the option to create dedicated machines with a desktop OS catalog, which means the server OS type of VMs won’t benefit from the full-clone feature in MCS.

After some research and testing, I have identified two ways to accomplish this with server OS workloads, as well. Keep reading to find out how.

Create an MCS-based Machine Catalog Using PowerShell

First, I looked at the PowerShell command line for how a full-clone catalog is created.

The key to a full-clone MCS machine catalog is a parameter named “UseFullDiskCloneProvisioning” in the “New-ProvScheme” cmdlet. It’s a boolean-type on/off parameter.

If you add “-UseFullDiskCloneProvisioning” in the “New-ProvScheme” command line, the VMs in that catalog will be created in full-clone mode.

I then captured how a standard server OS based machine catalog is provisioned and ran the PowerShell commands again with the additional “-UseFullDiskCloneProvisioning” parameter in the “New-ProvScheme” command. It successfully created a server OS catalog with “dedicated” machines.

While this PowerShell method is a functional workaround, using pure PowerShell to create an MCS-based machine catalog isn’t easy. You need at least 13 different lines of PowerShell commands. I will detail this approach in a future blog post.

Wait! There’s an Easier Way

So I kept digging deep into the database and compared the differences between a server OS type of machine catalog and a desktop OS type. Fortunately, I found another, much easier way to achieve our goal to leverage the GUI to create full-clone server OS machine catalogs.

But before we go over this other approach, please note that the method described below includes modifications directly to the SQL database and is not officially supported by Citrix. I recommend that you try it in your test environment before applying the steps to your production environment. Citrix is not responsible for any damages associated with making these changes.

Here we go:

  1. Create a desktop OS dedicated machine catalog in Citrix Studio.
  2. When it asks you to select the snapshot, just select the server OS one.
  3. When everything is provisioned, shut down all target machines.
  4. Shut down all Delivery Controllers.
  5. Go to the SQL server.
  6. Open your Citrix site database.
  7. Find the table named [chb_Config.Catalogs].
  8. Right click and choose “Edit top 200 lines.”
  9. From the [Displayname] field, find the catalog you just created.
  10. Scroll to [SessionSupport] field, change the value from “0” to “1”.
  11. Save the database.
  12. Now boot up all your Delivery Controllers.
  13. Open Citrix Studio. You now have a full-clone persistent server OS catalog.

Let me know in the comments below if either of these approaches work for you!


Citrix Tech Bytes – Created by Citrix Experts, made for Citrix Technologists! Learn from passionate Citrix Experts and gain technical insights into the latest Citrix Technologies.

Click here for more Tech Bytes and subscribe.

Want specific Tech Bytes? Let us know! tech-content-feedback@citrix.com.