XenDesktop 7 Powershell DSC module

Powershell module for Citrix XenDesktop 7 deployment automation

Powershell DSC module description

Published by VirtualEngine in 2015, the XenDesktop7 DSC module provide resources for deployment and configuration automation of all the major components of a Citrix XenApp/XenDesktop 7.x environment. This DSC module is the foundation of the XenDesktop puppet modules provided on this website. Ressources have been published on Github and released on Powershell Gallery by VirtualEngine.

Unfortunately, no offiicial Citrix DSC module is available for XenDesktop7.

Module available on GitHub : https://github.com/VirtualEngine/XenDesktop7

Powershell DSC module installation

Current version of the XenDesktop7 module is 2.5.11. This is a maintenance version correcting various issues in XenDesktop7 2.5.x .

Download XenDesktop7 powershell DSC module from powershell gallery ( https://www.powershellgallery.com/packages/XenDesktop7/2.5.11) using the follwoing commands

Inspect

PS> Save-Module -Name XenDesktop7 -Path <path>

Install

PS> Install-Module -Name XenDesktop7

Powershell DSC resources available for Citrix XenDesktop 7

XenDesktop 7 initial setup

XD7Feature : Installs Citrix XenDesktop 7 server role/feature

XD7Features : Installs multiple Citrix XenDesktop 7 server roles/features in a single pass, reducing the number of reboots.

XD7Database : Creates a Citrix XenDesktop 7 site, logging or monitor database. Mandatory before Xendesktop site creation.

XD7Site : Creates a new Citrix XenDesktop 7 site.

XD7SiteConfig : Configures a Citrix XenDesktop 7 global site settings.

XD7SiteLicense : Configures a Citrix XenDesktop 7 licensing scheme.

XD7Administrator : Registers an administrator in Citrix XenDesktop site.

XD7Role : Assigns a Citrix XenDesktop 7 delegated security role to an administrator.

Example of delivery controller installation & initial configuration :

XD7Feature XD7Controller {
        Role = 'Controller';
        SourcePath = $XenDesktopMediaPath;
}

XD7Database 'XD7SiteDatabase' {
	SiteName = $SiteName;
	DatabaseServer = $DatabaseServer;
	DatabaseName = $SiteDatabaseName;
	Credential = $Credential;
	DataStore = 'Site';
	DependsOn = '[XD7Feature]XD7Controller';
}

XD7Database 'XD7SiteLoggingDatabase' {
	SiteName = $SiteName;
	DatabaseServer = $DatabaseServer;
	DatabaseName = $LoggingDatabaseName;
	Credential = $Credential;
	DataStore = 'Logging';
	DependsOn = '[XD7Feature]XD7Controller';
}

XD7Database 'XD7SiteMonitorDatabase' {
	SiteName = $SiteName;
	DatabaseServer = $DatabaseServer;
	DatabaseName = $MonitorDatabaseName;
	Credential = $Credential;
	DataStore = 'Monitor';
	DependsOn = '[XD7Feature]XD7Controller';
}

XD7Site 'XD7Site' {
	SiteName = $SiteName;
	DatabaseServer = $DatabaseServer;
	SiteDatabaseName = $SiteDatabaseName;
	LoggingDatabaseName = $LoggingDatabaseName;
	MonitorDatabaseName = $MonitorDatabaseName;
	Credential = $Credential;
	DependsOn = '[XD7Feature]XD7Controller','[XD7Database]XD7SiteDatabase','[XD7Database]XD7SiteLoggingDatabase','[XD7Database]XD7SiteMonitorDatabase';
}

Joining a Delivery Controller to an existing deployment

XD7WaitForSite : Waits for a Citrix XenDesktop 7 site to become available.

XD7Controller : Adds or removes a Citrix XenDesktop 7 controller to or from a Citrix XenDesktop site.

Building a master image

XD7VDAController : Assigns a Citrix XenDesktop Controller to a Citrix Virtual Delivery Agent (VDA).

XD7VDAFeature : Installs Citrix XenDesktop 7 Virtual Delivery Agent (VDA) feature (remote assistance / Telemetry service, RealTime transport, optimization, receiver installation)

Desktop / applications publication

XD7Catalog : Creates a Citrix XenDesktop machine catalog

XD7CatalogMachine : Adds/assigns an Active Directory machine to a Citrix XenDesktop 7 machine catalog

XD7DesktopGroup : Creates a Citrix XenDesktop delivery group

XD7DesktopGroupMember : Adds or removes Active Directory computer accounts to or from a Citrix XenDesktop 7 delivery group

XD7DesktopGroupApplication : Adds or removes published applications to or from a Citrix XenDesktop 7 delivery group

XD7EntitlementPolicy : Grants Active Directory users/groups access to a Citrix XenDesktop 7 delivery group

XD7AccessPolicy : Defines a set of connection filters and access control rights assciated to a delivery group

Storefront configuration

XD7StoreFrontAuthenticationMethod : Configures the available authentication providers of a Citrix StoreFront 2.x or 3.x server.

XD7StoreFrontBaseUrl : Configures the base URL of a Citrix StoreFront 2.x or 3.x server.

XD7StoreFrontReceiverAuthenticationMethod : Configures the available authentication providers of a Citrix StoreFront 2.x or 3.x server.

XD7StoreFrontUnifiedExperience : Configures the Citrix Storefront Unified Experience of a Citrix Storefront 3.x server.