Citrix Daas SDK


Creates a new identity pool.


New-AcctIdentityPool -IdentityPoolName <String> [-OU <String>] [-Domain <String>] [-NamingScheme <String>] [-NamingSchemeType <ADIdentityNamingScheme>] [-AllowUnicode] [-IdentityType <String>] [-DeviceManagementType <String>] [-StartCount <Int32>] [-Scope <String[]>] [-TenantId <Guid>] [-ZoneUid <Guid>] [-AzureADSecurityGroupName <String>] [-AzureADAccessToken <String>] [-AzureADTenantId <Guid>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]<br /><br />New-AcctIdentityPool -WorkgroupMachine -IdentityPoolName <String> [-NamingScheme <String>] [-NamingSchemeType <ADIdentityNamingScheme>] [-AllowUnicode] [-IdentityType <String>] [-DeviceManagementType <String>] [-StartCount <Int32>] [-Scope <String[]>] [-TenantId <Guid>] [-ZoneUid <Guid>] [-AzureADSecurityGroupName <String>] [-AzureADAccessToken <String>] [-AzureADTenantId <Guid>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Detailed Description

Provides the ability to create identity pools that can be used to store AD computer accounts.

The naming scheme, naming scheme type, and domain must be specified if the identity pool is to be used to create new accounts.

Each identity pool is tied to a single domain. All the identities in an identity pool belong to the same domain. If the domain is not specified by a parameter to this command the domain will be set when an account is imported into it.


Name Description Required? Pipeline Input Default Value  
IdentityPoolName The name of the identity pool. This must not contain any of the following characters \/;:#.*?=<> []()””’ true false  
WorkgroupMachine Indicates whether the accounts created should be part of a workgroup rather than a domain. true false    
NamingScheme Defines the template name for AD accounts created in the identity pool. The scheme can consist of fixed characters and a variable part defined by ‘#’ characters. There can be only one variable region defined. The number of ‘#’ characters defines the minimum length of the variable region. For example, a naming scheme of H#### could create accounts called H0001, H0002 (for a numeric scheme type) or HAAAA, HAAAB (for an alphabetic type).
Citrix recommends that you define a naming scheme that will not clash with accounts which already exist in AD; account creation will fail if a clash occurs.
There are restrictions on what constitutes a valid computer name: Minimum name length: 2 (DNS) Maximum name length: 15 bytes (NetBIOS) The following characters are not allowed in a computer name: backslash (\) slash mark (/) colon (:) asterisk (*) question mark (?) quotation mark (“) less than sign (<) greater than sign (>) vertical bar (
) comma (,) tilde (~) exclamation point (!) at sign (@) number sign (#) dollar sign ($) percent (%) caret (^) ampersand (&) apostrophe (‘) parenthesis (()) braces ({}) underscore (_) The following names are reserved and must not be used at the end of the naming scheme: -GATEWAY -GW -TAC Names must not start with a period (NetBIOS). Names must not be composed entirely of numbers (NetBIOS). Names must not contain a blank or space characters (DNS). false false  
NamingSchemeType The type of naming scheme. This can be Numeric or Alphabetic. This defines the format of the variable part of the AD account names that will be created. false false Numeric  
AllowUnicode Allow the naming scheme to have characters other than alphanumeric characters. false false    
IdentityType The type of identity type. This can be ActiveDirectory, AzureAD, HybridAzureAD, or Workgroup. false false ActiveDirectory  
DeviceManagementType The type of device management type. This can be Intune, IntuneWithCitrixTags, or None. false false None  
StartCount Specifies the next number to be used when creating new AD accounts in the identity pool. false false 1  
Scope The administration scopes to be applied to the new identity pool. false false    
TenantId Specifies identity of tenant associated with identity pool. Must always be specified in multitenant sites, must not be specified otherwise. false false    
ZoneUid The UID that corresponds to the Zone in which these AD accounts will be created. This is only intended to be used for Citrix Cloud Delivery Controllers. false false    
AzureADSecurityGroupName The name of AzureAD security group. This is only intended to be used when IdentityType is “AzureAD” or “HybridAzureAD”. false false    
AzureADAccessToken The access token of Microsoft Graph API. Must be specified if “AzureADSecurityGroupName” is specified to create Azure AD security group, and IdentityType is “AzureAD” or “HybridAzureAD”. false false    
AzureADTenantId The tenantId of AzureAD. Must be specified if “AzureADSecurityGroupName” is specified to create Azure AD security group, and IdentityType is “AzureAD” or “HybridAzureAD”. false false    
LoggingId Specifies the identifier of the high-level operation this cmdlet call forms a part of. Citrix Studio and Director typically create high-level operations. PowerShell scripts can also wrap a series of cmdlet calls in a high-level operation by way of the Start-LogHighLevelOperation and Stop-LogHighLevelOperation cmdlets. false false    
BearerToken Specifies the bearer token assigned to the calling user false false    
AdminClientIP Specifies the Client IP of the calling user false false    
TraceParent Specifies the trace parent assigned for internal diagnostic tracing use false false    
TraceState Specifies the trace state assigned for internal diagnostic tracing use false false    
VirtualSiteId Specifies the virtual site the PowerShell snap-in will connect to. false false    
AdminAddress The address of a Citrix Virtual Apps and Desktops controller the PowerShell snap-in will connect to. You can provide this as a host name or an IP address. false false Localhost. Once a value is provided by any cmdlet, this value becomes the default.  
OU The OU that computer accounts will be created in. If this is not specified, accounts are created into the default account container specified by AD. This is the ‘Computers’ container for out-of-the-box installations of AD. The OU must be a valid AD container of the domain specified for the pool. false false    
Domain The AD domain name for the pool. Specify this in FQDN format; for example, false false    

Input Type

Return Values


This object provides details of the identity pool and contains the following information:
AvailableAccounts <int>
    The number of existing accounts (AcctADAccount objects) in the ‘Available’ state (not in ‘InUse’, ‘Tainted’, or ‘Error’).
DeviceManagementType <string>
    The device management type. Can be Intune, IntuneWithCitrixTags, or None by default.
Domain <string>
    The Active Directory domain (in FQDN format) that accounts in the pool belong to.
ErrorAccounts <int>
    The number of existing AD accounts in the ‘Error’ state.
IdentityContent <string>
    JSON formatted metadata containing Azure AD tenant and Azure AD security group information associated with this identity pool.
IdentityPoolName <string>
    The name of the identity pool.
IdentityPoolUid <GUID>
    The unique identifier for the identity pool.
IdentityType <string>
    The identity type.
InUseAccounts <int>
    The number of existing AD accounts in the ‘InUse’ state.
Lock <bool>
    Indicates if the identity pool is locked.
MetadataMap <IDictionary[string, string];>
    The metadata associated with this identity pool arranged in key value pairs.
NamingScheme <string>
    The naming scheme for the identity pool.
NamingSchemeType <string>
    The naming scheme type for the identity pool. This can be one of the following:
        Numeric - naming scheme uses numeric indexes
        Alphabetic - naming scheme uses alphabetic indexes
OU <string>
    The Active Directory distinguished name for the OU in which accounts for this identity pool will be created.
ResourceLocationId <GUID>
    The UID that corresponds to the resource location (DaaS only).
StartCount <int>
    The next index to be used when creating an account in the identity pool.
TaintedAccounts <int>
    The number of existing AD accounts in the ‘Tainted’ state.
WorkgroupMachine <bool>
    If this is true, the identity pool can have an IdentityType of ‘AzureAD’ or ‘Workgroup’.
    If this is false, the identity pool can have an IdentityType of ‘ActiveDirectory’ or ‘HybridAzureAD’.
ZoneUid <GUID>
    The UID that corresponds to the Zone in which AD accounts are created.
Scopes <Citrix.ADIdentity.Sdk.ScopeReference[]>
    The administration scopes associated with this identity pool.
TenantId <GUID>
    Identity of the Citrix tenant associated with this identity pool.
    Not applicable (always blank) in non-multitenant sites.


In the case of failure, the following errors can result.
Error Codes
Unable to convert domain name to DNS format.
Naming scheme does not have enough characters specified.
Naming scheme has too many characters specified.
Naming scheme contains illegal characters.
Naming scheme starts with a period (.) character.
Naming scheme contains only numbers.
Naming scheme does not contain any variable specification (i.e. no ‘#’ characters are specified).
Naming scheme has more than one variable region (i.e. there are ‘#’ characters separated by other characters).
An identity pool with the same name already exists.
Identity pool OU invalid as it does not exist.
Identity pool OU invalid as it refers to a different domain to the domain specified for the pool.
Caused by either of the following validation errors:
* If an OU is specified then a domain must also be specified.
* NamingScheme, NamingSchemeType and Domain must all be present if any of these are specified.
Domain is not reachable. Check if the domain exists in any zones and if the domain contains the specified OU.
If an OU is specified then a domain must also be specified.
NamingScheme and NamingSchemeType must be used together.
The naming scheme supplied is not valid.
The user does not have administrative rights to perform this operation.
The operation could not be performed because of a configuration logging error
An error occurred in the service while attempting a database operation.
The operation could not be completed because the database for the service is not configured.
An error occurred in the service while attempting a database operation - communication with the database failed for various reasons.
An error occurred while communicating with the service.
Must specify “AzureADAccessToken” parameter to operate AzureAD security group.
Current IdentityType not support AzureAD security group.
Must specify AzureAD security group.
AzureAD TenantId must be specified.
The TenantId extracted from AccessToken must be the same as specified TenantId in IdentityContent.
The given AzureADTenantId mismatchs TenantId contained in AzureAD AccessToken.
Current IdentityType requires WorkgroupMachine.
Domain not required for AzureAD and Workgroup.
An error occured in the service while creating AzureAD security group.
An error occured in the service while deleting AzureAD security group.
NamingScheme and Domain must be used together for ActiveDirectory or HybridAzureAD.
No result returned when create AzureAD security group though doesn’t get error when execute cmdlet.
Intune enroll requires AzureAD Joined or Hybrid AzureAD Joined.
An unexpected error occurred. To locate more details, see the Windows event logs on the controller being used or examine the Citrix Virtual Apps and Desktops logs.


Example 1

c:\PS>New-AcctIdentityPool -IdentityPoolName MyPool -NamingScheme Acc#### -Domain -NamingSchemeType Numeric -OU "CN=MyOU,DC=MyDomain,DC=com"<br /><br />AvailableAccounts    : 0<br /><br />DeviceManagementType : None<br /><br />Domain               :<br /><br />ErrorAccounts        : 0<br /><br />IdentityContent      :<br /><br />IdentityPoolName     : MyPool<br /><br />IdentityPoolUid      : 22072d9e-6a8f-494b-a5bc-2ef18ca4b915<br /><br />IdentityType         : ActiveDirectory<br /><br />InUseAccounts        : 0<br /><br />Lock                 : False<br /><br />MetadataMap          : {}<br /><br />NamingScheme         : Acc####<br /><br />NamingSchemeType     : Numeric<br /><br />OU                   : CN=MyOU,DC=MyDomain,DC=com<br /><br />ResourceLocationId   :<br /><br />StartCount           : 1<br /><br />TaintedAccounts      : 0<br /><br />WorkgroupMachine     : False<br /><br />ZoneUid              :<br /><br />Scopes               :<br /><br />TenantId             :


Create a new identity pool from which accounts can be created in the domain called “” using a numeric scheme of the format Acc####. The first account created from this identity pool will be named Acc0001 and placed in the OU named “MyOU”.
New AD accounts can be imported into this pool too, but must be from the Domain “”.

Example 2

c:\PS>New-AcctIdentityPool -WorkgroupMachine -IdentityPoolName MyWorkgroupPool -NamingScheme Acc####  -NamingSchemeType Numeric<br /><br />AvailableAccounts    : 0<br /><br />DeviceManagementType : None<br /><br />Domain               :<br /><br />ErrorAccounts        : 0<br /><br />IdentityContent      :<br /><br />IdentityPoolName     : MyWorkgroupPool<br /><br />IdentityPoolUid      : f4aef7af-4298-44a3-a5fb-4a9201ca01d7<br /><br />IdentityType         : Workgroup<br /><br />InUseAccounts        : 0<br /><br />Lock                 : False<br /><br />MetadataMap          : {}<br /><br />NamingScheme         : Acc####<br /><br />NamingSchemeType     : Numeric<br /><br />OU                   :<br /><br />ResourceLocationId   :<br /><br />StartCount           : 1<br /><br />TaintedAccounts      : 0<br /><br />WorkgroupMachine     : True<br /><br />ZoneUid              :<br /><br />Scopes               : {}<br /><br />TenantId             :


Create a new identity pool named “MyWorkgroupPool” where accounts are created as workgroup machines rather than part of a domain. Note that the OU and Domain parameters must be unused.

Example 3

c:\PS>New-AcctIdentityPool -IdentityPoolName AzureADIdentityPool -DeviceManagementType Intune -IdentityType AzureAD -NamingScheme AzureAD-### -NamingSchemeType Numeric -WorkgroupMachine<br /><br />AvailableAccounts    : 0<br /><br />DeviceManagementType : Intune<br /><br />Domain               :<br /><br />ErrorAccounts        : 0<br /><br />IdentityContent      :<br /><br />IdentityPoolName     : AzureADIdentityPool<br /><br />IdentityPoolUid      : a0208d3f-7467-4cec-b6cb-b3e14560e1e7<br /><br />IdentityType         : AzureAD<br /><br />InUseAccounts        : 0<br /><br />Lock                 : False<br /><br />MetadataMap          : {}<br /><br />NamingScheme         : AzureAD-###<br /><br />NamingSchemeType     : Numeric<br /><br />OU                   :<br /><br />ResourceLocationId   :<br /><br />StartCount           : 1<br /><br />TaintedAccounts      : 0<br /><br />WorkgroupMachine     : True<br /><br />ZoneUid              :<br /><br />Scopes               : {}<br /><br />TenantId             :


Create a new identity pool named “AzureADIdentityPool” using the AzureAD identity type. Accounts created in this pool are joined to Azure Active Directory, and Microsoft Intune is used for device management.

Example 4

c:\PS>New-AcctIdentityPool -IdentityPoolName HybridAzureADIdentityPool -IdentityType HybridAzureAD -NamingScheme HAAD-### -NamingSchemeType Numeric -Domain -OU "CN=Computers,DC=izone,DC=cloud"<br /><br />AvailableAccounts    : 0<br /><br />DeviceManagementType : None<br /><br />Domain               : IZONE.CLOUD<br /><br />ErrorAccounts        : 0<br /><br />IdentityContent      :<br /><br />IdentityPoolName     : HybridAzureADIdentityPool<br /><br />IdentityPoolUid      : d08ffd26-6600-46d9-b649-786f201082b3<br /><br />IdentityType         : HybridAzureAD<br /><br />InUseAccounts        : 0<br /><br />Lock                 : False<br /><br />MetadataMap          : {}<br /><br />NamingScheme         : HAAD-###<br /><br />NamingSchemeType     : Numeric<br /><br />OU                   : CN=Computers,DC=izone,DC=cloud<br /><br />ResourceLocationId   :<br /><br />StartCount           : 1<br /><br />TaintedAccounts      : 0<br /><br />WorkgroupMachine     : False<br /><br />ZoneUid              :<br /><br />Scopes               : {}<br /><br />TenantId             :


Create a new identity pool named “HybridAzureADIdentityPool” using the HybridAzureAD identity type. Accounts created in this pool are joined to both the domain “IZONE.CLOUD” and Azure Active Directory.