This new feature aims to offer the possibility of performing the deployment correctly with minimum Active Directory permissions. Keep in mind that some actions must be performed manually both before and after deployment.
Requirements
There are a few things you need to set up deployment. Before you start the deployment, we recommend that you review this topic to ensure you meet the requirements. The following actions must be executed in your Active Directory Domain Controller.
The required permissions are the following:
-
Domain user account:
- With permissions to read Active Directory forest
- Allow adding computers to the domain (at least 10 computers)
Delegate full control permissions only in provided base OU
Next and Finish.
-
Domain user account must be a member of 'Remote Management Users' during deployment. If not, adding only the user with the following command (this command must be launched in Domain Controller):
Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI -Force
-
Generates a new root key for the Microsoft Group KdsSvc within Active Directory, required to create gMSA accounts. Run following PowerShell command in your Domain Controller:
Add-KDSRootKey -EffectiveTime ((get-date).addhours(-10))
Create aliases DNS (SQL listeners databases)
Explanation:
dnscmd /recordadd <domain_name> <dns_record_name> 'CNAME' <fqdn_record>
Where:
domain_name is your Active Directory domain name (contoso.local)
dns_record_name is the name provided in QCS. For more information click here.
fqdn_record: hostname of server that has database server. If you choice 'Deploy with High Availability Roles' this value always will be SQL Server 1 hostname. If not, you will use Virtual Machine server 1 for VMM (by default FLXSQLVMM01) and Citrix Controller 1 hostname for the rest. This information must be entered in the 'Deployment' section.
Hyper-V (deployment with 1 role)
dnscmd /recordadd 'flx.local' 'flxsqlvmm01' 'CNAME' 'flxvmm01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlvdi01' 'CNAME' 'flxcont01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxds01' 'CNAME' 'flxcont01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdl01' 'CNAME' 'flxcont01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdm01' 'CNAME' 'flxcont01.flx.local'
Hyper-V (deployment with double role - HA)
dnscmd /recordadd 'flx.local' 'flxsqlvmm01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlvdi01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxds01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdl01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdm01' 'CNAME' 'flxsql01.flx.local'
VMware
dnscmd /recordadd 'flx.local' 'flxsqlvdi01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxds01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdl01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxsqlxdm01' 'CNAME' 'flxsql01.flx.local'
dnscmd /recordadd 'flx.local' 'flxnode01' 'A' '172.30.13.11'
dnscmd /recordadd 'flx.local' 'flxnode02' 'A' '172.30.13.12'
dnscmd /recordadd 'flx.local' 'flxnode03' 'A' '172.30.13.9'
dnscmd /recordadd 'flx.local' 'flxvcsa01' 'A' '172.30.13.16'
Deploy Quick Config Setup (QCS):
Follow Quick Config Setup guide here and remember to uncheck Provided user has administrative rights in AD Integration section.
Post-deployment actions (when the deployment is finished)
If you have chosen 'Deploy with High Availability Roles' you must update DNS records to provide High Availability to SQL Server.
Hyper-V:
dnscmd /recordadd 'env216dom.local' 'FLXSQLVMM01' 'CNAME' 'SCVMM01LIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLVDI01' 'CNAME' 'VDIMANAGERLIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDS01' 'CNAME' 'XD01SITELIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDL01' 'CNAME' 'XD01LOGLIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDM01' 'CNAME' 'XD01MONLIST.env216dom.local'
VMware:
dnscmd /recordadd 'env216dom.local' 'FLXSQLVDIOS01' 'CNAME' 'VDIMANAGERLIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDS01' 'CNAME' 'XD01SITELIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDL01' 'CNAME' 'XD01LOGLIST.env216dom.local'
dnscmd /recordadd 'env216dom.local' 'FLXSQLXDM01' 'CNAME' 'XD01MONLIST.env216dom.local'