Automate a PoC environment for Citrix with a PowerShell script on-premise (Part-1)

Introduction

I would like to share some of my experiences creating a PowerShell script to deploy a Citrix PoC environment and hope to help others and enjoy working with it as much as I do. As part of this series of blogs, I will discuss the script that I’ve created and used to help streamline the installation and configuration of a complete Citrix PoC. This first post will cover why I used PowerShell to automate and give an overview of the final result. In the next blogs I’ll cover the following topics:

  • Part 1: Automate a PoC environment for Citrix with a PowerShell script on-premise (this blog)
  • Part 2: The script explained “The base Infrastructure”
  • Part 3: The script explained “Citrix Virtual Apps & Desktop”
  • Part 4: The end result “Let the PoC begin!”

The start

For a long time, I’ve been working as a consultant advising, designing and building Virtual Desktop Infrastructures environment for customers. Since I am a Citrix VDI specialist my advice are mostly about Citrix Virtual, Apps and Desktop (VAD) and how to build them. Mostly I start from scratch on a VMware, Hyper-V or Citrix Hypervisor and the start is mostly the same, building and tearing down environments. So I thought, why not develop a PowerShell script that fully automates speed up the process and reduce the number of errors. I’m a lazy consultant 😉.

There are many PowerShell scripts that can be found on the world wide web that let you build, configure and setting up a Microsoft Windows virtual machine and there are separate installation scripts for installing the Citrix components on a server giving it the needed role in the infrastructure. But there isn’t a complete PowerShell script for the entire build of a complete PoC Environment with everything inside for you to build within a couple of hours without manual interaction. In the past, I needed every virtual machine to be built from scratch with an unattended Windows installation and an answering file to fill the numbers and configuration parameters.

The script I developed is for building a virtual desktop environment on a Hyper-V environment. But can also be used for the most part for VMware. The script will build and configure the VMs with its roles in an on-premise environment. Normally it takes time to build a VDI on-premise environment. The PowerShell script will shorten that time and creates an error-free and consistent PoC environment, every time. It creates a complete PoC environment with an Active Directory & DNS, DHCP, SQL and Citrix Delivery Controller, StoreFront, License Server and Hosted Desktops (VDI) all in a couple of hours depending on the size of the PoC. When a PoC environment is ready it can show the customer how VDI works and what the options are. The goal is to let the customer see how it works in a period before the trail licenses of the products expire. It is possible to get a trial license for 30 to up to 90 days. The key is to plan everything, starting with a kick-off and determine what result should be achieved. In the end finish the Proof of Concept period with a presentation that shows the achieved results.

The script will setup and configure all the green components shown in the figure so you are ready to go with the PoC when the script is finished.

In Part 2, I will explain the PowerShell script and how it is built. So till next time and stay tuned!

7 januari 2021
Julien Anthony