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.