Citrix XenDesktop 7 - Unattended from scratch

· 4 min read

So auto-install and auto join an already XenDesktop 7 Site is cool but what if you need to automate the first DDC installation ? Here is how I did with help of a great blog (Timm Brochhaus) who made a script available for everyone, and I personally used it.

Let’s do it for a full automated installation, I will install all the components from XenDesktop 7.

New-XDDatabase -AdminAddress DDC02 -SiteName TEST-archynet_SITE -DataStore Site -DatabaseServer -DatabaseName XD7_archynet_Site -DatabaseCredentials metal.inc_XD 
New-XDDatabase -AdminAddress DDC02 -SiteName TEST-archynet_SITE -DataStore Logging -DatabaseServer -DatabaseName XD7_archynet_Logging -DatabaseCredentials metal.inc_XD 
New-XDDatabase -AdminAddress DDC02 -SiteName TEST-archynet_SITE -DataStore Monitor -DatabaseServer -DatabaseName XD7_archynet_Monitor -DatabaseCredentials Metal.inc_XD

Timm Brochhaus wrote a very cool blog and give you the explanation about a script he wrote to automate this part with a very useful script. Juts don’t forget to run this script in 32bit mode…. [link]

I did use Timm’s script and here is the result I got :

Name                : XD7-DB_Site
DataStore           : Site
ServerAddress       :
MirrorServerAddress : 
IntegratedSecurity  : True
Name                : XD7-DB_Logging
DataStore           : Logging
ServerAddress       :
MirrorServerAddress : 
IntegratedSecurity  : True
Name                : XD7-DB_Monitor
DataStore           : Monitor
ServerAddress       :
MirrorServerAddress : 
IntegratedSecurity  : True

3 databases were created, one for the Site informations, one for the log informations and a last one for monitoring (edgesight-like)

Now we are ready for the next step which is site creation with the command New-XDSite

New-XDSite -DatabaseServer -LoggingDatabaseName XD7-DB_Logging -MonitorDatabaseName XD7-DB_Monitor -SiteDatabaseName XD7-DB_Site -SiteName TEST_SITE2 -AdminAddress DDC02

with the result :

Name               : TEST_SITE2
Controllers        : {METALDDC02}
Databases          : {Site, Logging, Monitor}
DefaultIconUid     : 1
LicenseInformation : PLT
Metadata           : {[Citrix_StoreFront_Cluster_Id, 29eaffbb-0915-47a2-a856-641ec5703ef1], [ConfiguredComponents, Admin Config Log Acct Hyp Prov Broker Lic Monitor Pvs Sf 
                     UpmSdk EnvTest AppV], [Studio_SiteConfigurationComplete, True]}

If I use the script Timm make available and use the same syntax, this is pretty easy to add this line and add what we need to automate DataBase creation + Site creation in one script :

$DatabaseServer = ""
$DatabaseName_Site = "XD7-DB_Site"
$DatabaseName_Logging = "XD7-DB_Logging"
$DatabaseName_Monitor = "XD7-DB_Monitor"
# Database user must be sysadmin on db server
$DatabaseUser = "DomainUsername"
$DatabasePassword = "********"
$XD7Site = "XD7TEST"
$DatabasePassword = $DatabasePassword | ConvertTo-SecureString -asPlainText -Force
$Database_CredObject = New-Object System.Management.Automation.PSCredential($DatabaseUser,$DatabasePassword)
Add-PSSnapin Citrix.*
New-XDDatabase -AdminAddress $env:COMPUTERNAME -SiteName $XD7Site -DataStore Site -DatabaseServer $DatabaseServer -DatabaseName $DatabaseName_Site -DatabaseCredentials $Database_CredObject 
New-XDDatabase -AdminAddress $env:COMPUTERNAME -SiteName $XD7Site -DataStore Logging -DatabaseServer $DatabaseServer -DatabaseName $DatabaseName_Logging -DatabaseCredentials $Database_CredObject 
New-XDDatabase -AdminAddress $env:COMPUTERNAME -SiteName $XD7Site -DataStore Monitor -DatabaseServer $DatabaseServer -DatabaseName $DatabaseName_Monitor -DatabaseCredentials $Database_CredObject 
New-XDSite -DatabaseServer $DatabaseServer -LoggingDatabaseName $DatabaseName_Logging -MonitorDatabaseName $DatabaseName_Monitor -SiteDatabaseName $DatabaseName_Site -SiteName $XD7Site -AdminAddress $env:COMPUTERNAME -DatabaseCredentials $Database_CredObject

So now your XenDesktop 7 DDC is ready to work, you can launch the Desktop Studio console, you just need to create your Machine Catalogs and Delivery Groups etc… This next part of automation is in my next blog about XenDesktop 7