This is a guest post from Esther Barthel, Senior Technical Consultant at PepperByte

As a Citrix consultant, I’m privileged to visit different customers and get a look inside their “kitchens” to see how they set up their IT departments and processes to service their end users and manage the IT infrastructure. To my surprise, a lot of customers that I see are still relying on manual processes for deploying infrastructure components, using, for example, manual instructions of 37 pages or more to roll out new virtual machines in production.

In an age where end users are requesting faster delivery of applications and data, as they have grown accustomed to instant delivery of apps from public App Stores, it is a hard sell to explain that a service request will take multiple days to be processed. Not to mention the vault tolerance that each manual deployment introduces that could lead to unsatisfied customers, as human errors may unintentionally bring down the service level.

Over a year ago, I was fortunate to help a customer automate the deployment process for their IaaS and PaaS infrastructure services. There are many solutions available to support IT automation and orchestration, so I will not go into too much detail on the pros and cons of each solution. The lesson I learned during the tool-selection process was that it all still comes down to getting the right (supporting) processes in place as each solution is still a supporting tool.

But what did fascinate me was the fact that if you break down each orchestrating and automating solution to its core, it boils down to automating simple tasks into programmable scripts and linking these tasks together to automate your IT processes. And so the first DevOps team was born and we focused on translating the manual actions into process flow, which were translated into scripts to automate each step of the process flow.

My scripting language of choice became PowerShell and even though I still feel like a novice, I’ve managed to script automated deployments for the different Citrix components, like XenDesktop, StoreFront and Director, which turned out to be a lot of fun.

And when I was working on a NetScaler implementation using Command Center to create the configuration scripts, I ran into this great blog post series on the Citrix Blog on Automating NetScaler configurations using NITRO REST API and PowerShell by Santiago Cardenas. This five-part series even offers a downloadable PowerShell module that contains a lot of functions to automatically add basic configuration settings to a NetScaler.

I played around with the module and very soon found myself adding more functions to the module to not only add new configurations, but be able to fully manage the NetScaler configuration with add, delete, update and read functions.

Even though it is by far not a complete PowerShell module, as the NetScaler has so many configurable features and settings, I am happy to share my work with the community and even more so my enthusiasm to be able to extend the automatic deployments options for the Citrix infrastructure components by including the NetScaler configuration as well.

So, why just write a blog post about it when you can use the Citrix Synergy podium to share that enthusiasm? If you are interested in automating your NetScaler deployment and configurations by using NITRO and PowerShell, to join my session SYN234: Automate NetScaler using NITRO API and PowerShell on May 26, 2:30PM – 3:15PM in Bellini2101A at Citrix Synergy.

Esther Barthel designs and implements Citrix solutions for both small-business and large-enterprise infrastructures scaling up to 15,000 users at PepperByte. Esther is awarded as a Citrix Technology Professional (CTP) and shares her knowledge with Citrix and the Citrix community through Twitter (@viruEs_IT), blogs ( and by writing books.

Citrix invited the author of this post to present at Citrix Synergy 2016 and to participate in a related contest. The author received an entry into the contest for submitting this blog post.

Synergy Banner