Provision target devices in untrusted domain using API PowerShell commands
You can provision target devices in an untrusted domain using Citrix Provisioning API PowerShell commands. Add the parameter DomainCredentials
to the provisioning commands Start-PvsProvisionMachines
and Start-PvsProvisionXdMachines
.
The detailed steps are as follows:
-
Import Citrix Provisioning API PowerShell module.
Import-Module "C:\Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll" <!--NeedCopy-->
-
Establish a connection to the Citrix Provisioning API server.
Set-PvsApiConnection -PvsServerAddress <server.domain> -PvsServerPort 54324 ` -Domain <domain> -Username <username> -Password <password> <!--NeedCopy-->
-
Input the credentials to create machine accounts in the untrusted domain.
$targetDeviceDomainCredentials = Get-Credential <!--NeedCopy-->
-
Run
Start-PvsProvisionXdMachines
orStart-PvsProvisionMachines
with theDomainCredentials
parameter to provision target devices.Note:
Run
Start-PvsProvisionXdMachines
if you want to provision VMs for XenDesktop in the specified XenDesktop machine catalog.-
Provision XenDesktop machines: Example:
$provisionMachinesId = Start-PvsProvisionXdMachines ` -DdcAddress <your-ddc-address>` -BootType <your-boot-type> ` -CatalogName <your-catalog-name> ` -CatalogDescription <your-catalog-description> ` -SessionSupport <your-session-support> ` -AllocationType <your-allocation-type> ` -PersistUserChanges <your-persist-user-changes> ` -Scope <your-scope>` -VdaLevel <your-vda-level> ` -XenDesktopHostResource <your-xd-host-resource> ` -HostResourcePassword <your-host-resource-passsword> ` -TemplateName <your-template-name> ` -NetworkPath <your-network-path> ` -StoreId <your-store-id> ` -SiteId <your-site-id> ` -DiskLocatorId <your-disk-locator-id>` -Domain <target-device-domain> ` -OrganizationalUnit <target-device-ou> ` -NamingScheme <your-naming-scheme> ` -VmCount <vm-count> ` -DeviceMemory <device-memory-size> ` -DeviceCpu <device-cpu-count> ` -DeviceWriteCacheSize <device-write-cache-size> ` -NameSuffixType <your-name-suffix-type> ` -CitrixCloud: <is-Citrix-Cloud> ` -DomainCredentials $targetDeviceDomainCredentials <!--NeedCopy-->
-
Provision VMs:
$provisionMachinesId = Start-PvsProvisionMachines ` -HostType <your-host-type> ` -HostAddress <your-host-address> ` -HostUsername <your-host-user-name> ` -HostPassword <your-host-password> ` -TemplateName <your-template-name> ` -StoreId <your-PVS-store-id> ` -SiteId <your-PVS-site-id> ` -CollectionId <your-collection-id> ` -DiskLocatorId <your-disk-locator-id> ` -Domain <target-device-domain> ` -OrganizationalUnit <target-device-ou>` -NamingScheme <your-naming-scheme> ` -VmCount <vm-count> ` -DeviceMemory <device-memory-size> ` -DeviceCpu <device-cpu-count> ` -NameSuffixType <your-name-suffix-type> ` -DomainCredentials $targetDeviceDomainCredentials <!--NeedCopy-->
-
-
Query the provisioning status repeatedly until the provisioning job is complete.
Get-PvsProvisioningStatus -ProvisionMachinesConnectionId $provisionMachinesId <!--NeedCopy-->
When provisioning of target devices in an untrusted domain is complete, you get the following output:
Cancelled : False CurrentVmPercentComplete : 100 ErrorOccurred : False Message : Machine Provisioning Complete! OverallPercentComplete : 100 <!--NeedCopy-->