vCAC 5.2 Operating Guide, page 262, Table 30 "Custom Properties for Citrix Provisioning Server Integration" states that the property Infrastructure.Admin.MachineObjectOU should "Use Citrix’s format; for example, for OU=Xen-Farm,OU=QA use the value Xen-Farm, QA with no extra commas or spaces."
This may have been correct for 5.1, but not for 5.2: The function InitializeOrganizationUnitAndDomain in 'C:\Program Files (x86)\VMware\vCAC\Agents\<epi agent name>\ScriptsCitrixProvisioningFunctions.ps1' is reformatting the Distinguished Name (DN) into Citrix's format and parses out the domain parameter for 'Mcli-Run AddDeviceToDomain -p deviceName=$machineName, organizationUnit=$organizationUnit, domain=$domain'
Without the DN format of Infrastructure.Admin.MachineObjectOU, the EPI agent simply fails on Mcli-Run AddDeviceToDomain with something like this:
Adding device [HCAXD90010] to [build,citrixxd,servers,datacentre,no,enterdir,com] OU of [] domain ... Executing: Run AddDeviceToDomain Executing: Delete Device Delete succeeded. Error: [ ERROR: Unable to add device [HCAXD90010] to [build,citrixxd,servers,datacentre,no,enterdir,com] OU of [] domain! EnterpriseAccess.EAException: The following items failed: at McliPSSnapIn.McliSpecialCommands.AddDeviceToDomain(List`1 parameterList_) at McliPSSnapIn.McliSpecialCommands.SpecialRunCommand(PSCmdlet cmdl, String objectType_, List`1 parameterList_, MapiReturn& mapiReturn) at McliPSSnapIn.McliRun.ProcessRecord() at System.Management.Automation.CommandProcessor.ProcessRecord()
Heads-up for future integration with Citrix PVS via MCLI.
From the MCliPSSnapIn doc for Citrix PVS 6.1 about the function 'Mcli-Run AddDeviceToDomain'
-p organizationUnit:
Organizational Unit to add the Device(s) to. [...] Child OU's should be delimited with forward slashes, e.g. "ParentOU/ChildOU". [...] The old syntax of delimiting child OU's with a comma is still supported, but deprecated. Note that in this case, the child OU comes first, e.g. "ChildOU,ParentOU"