Citrix Virtual Apps and Desktops SDK

New-BrokerCatalog

Adds a new catalog to the site.

Syntax


New-BrokerCatalog [-Name] <String> [-AllocationType] <AllocationType> [-CatalogKind] <CatalogKind> [-PvsForVM <String[]>] [-AdminFolder <AdminFolder>] [-Description <String>] [-IsRemotePC <Boolean>] [-MachinesArePhysical <Boolean>] [-MdmEnrollment <String>] [-MinimumFunctionalLevel <FunctionalLevel>] [-PvsAddress <String>] [-PvsDomain <String>] [-RemotePCHypervisorConnectionUid <Int32>] [-Scope <String[]>] [-TenantId <Guid>] [-TimeZone <String>] [-UUID <Guid>] [-ZoneUid <Guid>] [-LoggingId <Guid>] [-AdminAddress <String>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [<CommonParameters>]

New-BrokerCatalog [-Name] <String> [-AllocationType] <AllocationType> [-ProvisioningType] <ProvisioningType> [-SessionSupport] <SessionSupport> [-PersistUserChanges] <PersistUserChanges> [-ProvisioningSchemeId <Guid>] [-AdminFolder <AdminFolder>] [-Description <String>] [-IsRemotePC <Boolean>] [-MachinesArePhysical <Boolean>] [-MdmEnrollment <String>] [-MinimumFunctionalLevel <FunctionalLevel>] [-PvsAddress <String>] [-PvsDomain <String>] [-RemotePCHypervisorConnectionUid <Int32>] [-Scope <String[]>] [-TenantId <Guid>] [-TimeZone <String>] [-UUID <Guid>] [-ZoneUid <Guid>] [-LoggingId <Guid>] [-AdminAddress <String>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [<CommonParameters>]

<!--NeedCopy-->

Detailed Description

New-BrokerCatalog adds a catalog through which machines can be provided to the site.

In order for a machine to register in a site, the machine must belong to a catalog with which it is compatible. The compatibility of a machine with a catalog is determined by two of the parameters of New-BrokerCatalog:

  • MinimalFunctionalLevel: The minimal functional level supported in the catalog. The functional level of the machine is determined by the capabilities of the Citrix VDA software on it.

  • SessionSupport: The session support (single/multi) of the catalog. The session support of the machine is determined by the variant of the Citrix VDA software installed (workstation/terminal services, respectively).

Parameters

Name Description Required? Pipeline Input Default Value
Name Specifies a name for the catalog. Each catalog within a site must have a unique name. true true (ByPropertyName)  
AllocationType Specifies how machines in the catalog are assigned to users. Values can be:      

o Static - Machines in a catalog of this type are permanently assigned to a user. o Permanent - equivalent to ‘Static’. o Random - Machines in a catalog of this type are picked at random and temporarily assigned to a user. | true | true (ByPropertyName) | | | CatalogKind | Deprecated: The type of machines the catalog will contain. Values can be: ThinCloned, SingleImage, PowerManaged, Unmanaged, or Pvs. Thin-cloned and single-image catalog kinds are for machines created and managed with Provisioning Services for VMs. All machines in this type of catalog are managed, and so must be associated with a hypervisor connection. A thin-cloned catalog is used for original golden VM images that are cloned when they are assigned to a VM, and users’ changes to the VM image are retained after the VM is restarted. A single-image catalog is used when multiple machines provisioned with Provisioning Services for VMs all share a single golden VM image when they run and, when restarted, they revert to the original VM image state. A personal vDisk catalog is similar to a single-image catalog, but it also uses personal vDisk technology. PowerManaged: This catalog kind is for managed machines that are manually provisioned by administrators. All machines in this type of catalog are managed, and so must be associated with a hypervisor connection. Unmanaged: This catalog kind is for unmanaged machines, so there is no associated hypervisor connection. PVS: This catalog kind is for managed machines that are provisioned using Provisioning Services. All machines in this type of catalog are managed, and so must be associated with a hypervisor connection. Only shared desktops are suitable for this catalog kind. | true | true (ByPropertyName) | | | ProvisioningType | Specifies the ProvisioningType for the catalog. Values can be: o Manual - No provisioning. o PVS - Machine provisioned by PVS (machine may be physical, blade, VM,…). o MCS - Machine provisioned by MCS (machine must be VM). | true | true (ByPropertyName) | | | SessionSupport | Specifies whether machines in the catalog are single or multi-session capable. Values can be: o SingleSession - Single-session only machine. o MultiSession - Multi-session capable machine. | true | true (ByPropertyName) | | | PersistUserChanges | Specifies how user changes are persisted on machines in the catalog. Possible values are: o OnLocal: User changes are stored on the machine’s local storage. o Discard: User changes are discarded. | true | true (ByPropertyName) | | | PvsForVM | Deprecated: Identifies the provisioning scheme used by this catalog. To be specified in the format: ProvisioningSchemeGuid:ServiceGroupGuid. Applicable only to thin-cloned, single-image or personal vDisk catalogs. | false | true (ByPropertyName) | | | AdminFolder | The folder in which the new catalog should reside (if any). | false | true (ByPropertyName) | | | Description | A description for the catalog. | false | true (ByPropertyName) | | | IsRemotePC | Specifies whether this is to be a Remote PC catalog. IsRemotePC can only be enabled when: o SessionSupport is SingleSession o MachinesArePhysical is true. | false | true (ByPropertyName) | false | | MachinesArePhysical | Specifies whether machines in the catalog can be power-managed by the Citrix Broker Service. Where the Citrix Broker Service cannot control the power state of themachine specify $true, otherwise $false. Can only be specified together with a provisioning type of Pvs or Manual, or if used with the legacy CatalogKind parameter only with a Pvs catalog kind. | false | true (ByPropertyName) | | | MdmEnrollment | MdmEnrollment for this catalog. Values can be: o None - No enrollment. o Intune - Microsoft Intune. | false | true (ByPropertyName) | If no value is provided, the catalog does not enroll with Mdm. | | MinimumFunctionalLevel | The minimum FunctionalLevel required for machines to register in the site. Valid values are L5, L7, L7_6, L7_7, L7_8, L7_9, L7_20, L7_25 | false | true (ByPropertyName) | The FunctionalLevel of the current release (L7_6); by default no machines with less than the most current FunctionalLevel will be functional. | | PvsAddress | Specifies the URL of the Provisioning Services server. Only applicable to Provisioning Services or Provisioning Services-personal vDisk catalogs. | false | true (ByPropertyName) | | | PvsDomain | Specifies the Active Directory domain of the Provisioning Services server. Only applicable to Provisioning Services or Provisioning Services-personal vDisk catalogs. | false | true (ByPropertyName) | | | RemotePCHypervisorConnectionUid | Specifies the hypervisor connection to use for powering on remote PCs in this catalog (only allowed when IsRemotePC is true). | false | true (ByPropertyName) | | | Scope | Specifies the name of the delegated administration scope to which the catalog belongs. | false | true (ByPropertyName) | | | TenantId | Specifies identity of tenant associated with catalog. Must always be specified in multitenant sites, must not be specified otherwise. | false | true (ByPropertyName) | | | TimeZone | The time zone in which this catalog’s machines reside. | false | true (ByPropertyName) | null | | UUID | An optional GUID for this catalog. | false | true (ByPropertyName) | A new GUID is generated if none is supplied. | | ZoneUid | Zone Uid associated with this catalog. | false | true (ByPropertyName) | If no Uid is provided the catalog is associated with Primary Zone. | | LoggingId | Specifies the identifier of the high level operation that this cmdlet call forms a part of. Desktop Studio and Desktop 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 | | | AdminAddress | Specifies the address of a XenDesktop controller that the PowerShell snapin will connect to. This can be provided as a host name or an IP address. | false | false | Localhost. Once a value is provided by any cmdlet, this value will become the default. | | BearerToken | Specifies the bearer token assigned to the calling user | false | false | | | AdminClientIP | Internal use only. | 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 | | | ProvisioningSchemeId | Specifies the identity of the MCS provisioning scheme the new catalog is associated with (can only be specified for new catalogs with a ProvisioningType of MCS). | false | true (ByPropertyName) | $null |

Input Type

None

You cannot pipe input into this cmdlet.

Return Values

Citrix.Broker.Admin.Sdk.Catalog

New-BrokerCatalog returns the created catalog.

Examples

Example 1


C:\PS> New-BrokerCatalog -AllocationType Static -CatalogKind Unmanaged -Description "Catalog1 Description" -Name "Catalog1 Name"

<!--NeedCopy-->

Description

This command creates a catalog that can contain unmanaged physical or virtual machines that are permanently assigned to the user.

Example 2


C:\PS> New-BrokerCatalog -AllocationType Random -CatalogKind PowerManaged -Description "catalog 2 Description" -Name "Catalog2 Name"

<!--NeedCopy-->

Description

This command creates a catalog that can contain power-managed machines that are randomly assigned to the user.

Example 3


C:\PS> New-BrokerCatalog -AllocationType Random -CatalogKind PVS -Description "PVS Catalog Desc" -Name "PVS Catalog Name" -PvsAddress "pvsServer@pvsDomain.com" -PvsDomain "pvsDomain.com" -PvsForVM $($farmGuid:$schemeGuid)

<!--NeedCopy-->

Description

This command creates a catalog that can contain managed machines that are provisioned using Provisioning Services.

New-BrokerCatalog