Citrix Provisioning

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:

  1. Import Citrix Provisioning API PowerShell module.

    Import-Module "C:\Program Files\Citrix\Provisioning Services\Citrix.ProvisioningServices.dll"
    <!--NeedCopy-->
    
  2. Establish a connection to the Citrix Provisioning API server.

    Set-PvsApiConnection -PvsServerAddress <server.domain> -PvsServerPort 54324 `
    -Domain <domain> -Username <username>
    -Password <password>
    <!--NeedCopy-->
    
  3. Input the credentials to create machine accounts in the untrusted domain.

    $targetDeviceDomainCredentials = Get-Credential
    <!--NeedCopy-->
    
  4. Run Start-PvsProvisionXdMachines or Start-PvsProvisionMachines with the DomainCredentials 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-->
      
  5. 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-->
    
Provision target devices in untrusted domain using API PowerShell commands

In this article