Citrix Virtual Apps and Desktops SDK

New-BrokerCatalog

Adds a new catalog to the site.

Syntax

New-BrokerCatalog
   [-AdminFolder <AdminFolder>]
   [-AllocationType] <AllocationType>
   [-Description <String>]
   [-IsRemotePC <Boolean>]
   [-MachinesArePhysical <Boolean>]
   [-MdmEnrollment <String>]
   [-MinimumFunctionalLevel <FunctionalLevel>]
   [-Name] <String>
   [-PersistUserChanges] <PersistUserChanges>
   [-ProvisioningSchemeId <Guid>]
   [-ProvisioningType] <ProvisioningType>
   [-PvsAddress <String>]
   [-PvsDomain <String>]
   [-RemotePCHypervisorConnectionUid <Int32>]
   [-Scope <String[]>]
   [-SessionSupport] <SessionSupport>
   [-TenantId <Guid>]
   [-TimeZone <String>]
   [-UUID <Guid>]
   [-ZoneUid <Guid>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
New-BrokerCatalog
   [-PvsForVM <String[]>]
   [-AdminFolder <AdminFolder>]
   [-AllocationType] <AllocationType>
   [-CatalogKind] <CatalogKind>
   [-Description <String>]
   [-IsRemotePC <Boolean>]
   [-MachinesArePhysical <Boolean>]
   [-MdmEnrollment <String>]
   [-MinimumFunctionalLevel <FunctionalLevel>]
   [-Name] <String>
   [-PvsAddress <String>]
   [-PvsDomain <String>]
   [-RemotePCHypervisorConnectionUid <Int32>]
   [-Scope <String[]>]
   [-TenantId <Guid>]
   [-TimeZone <String>]
   [-UUID <Guid>]
   [-ZoneUid <Guid>]
   [-LoggingId <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->

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).

Examples

EXAMPLE 1

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

New-BrokerCatalog -AllocationType Static -CatalogKind Unmanaged -Description "Catalog1 Description" -Name "Catalog1 Name"
<!--NeedCopy-->

EXAMPLE 2

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

New-BrokerCatalog -AllocationType Random -CatalogKind PowerManaged -Description "catalog 2 Description" -Name "Catalog2 Name"
<!--NeedCopy-->

EXAMPLE 3

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

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-->

Parameters

-Name

Specifies a name for the catalog. Each catalog within a site must have a unique name.

Type: String
Position: 2
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True
Length range: 1 to 64
Disallowed characters: /;:#.*?=<>\|[]()"`' and all ASCII control characters

-AllocationType

Specifies how machines in the catalog are assigned to users. Values can be:

  • Static - Machines in a catalog of this type are permanently assigned to a user.
  • Permanent - equivalent to ‘Static’.
  • Random - Machines in a catalog of this type are picked at random and temporarily assigned to a user.
Type: AllocationType
Accepted values: Permanent, Static, Random
Position: 3
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-CatalogKind

Deprecated: The type of machines the catalog will contain. Values can be: ThinCloned, SingleImage, PowerManaged, Unmanaged, or Pvs.

  • Thin-Cloned, Single-Image and Personal vDisk Catalogs

    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.

Type: CatalogKind
Accepted values: ThinCloned, SingleImage, PowerManaged, Unmanaged, Pvs, Pvd, PvsPvd
Position: 4
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ProvisioningType

Specifies the ProvisioningType for the catalog. Values can be:

  • Manual - No provisioning.
  • PVS - Machine provisioned by PVS (machine may be physical, blade, VM,…).
  • MCS - Machine provisioned by MCS (machine must be VM).
Type: ProvisioningType
Accepted values: Manual, PVS, MCS
Position: 4
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-SessionSupport

Specifies whether machines in the catalog are single or multi-session capable. Values can be:

  • SingleSession - Single-session only machine.
  • MultiSession - Multi-session capable machine.
Type: SessionSupport
Accepted values: SingleSession, MultiSession
Position: 5
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PersistUserChanges

Specifies how user changes are persisted on machines in the catalog. Possible values are:

  • OnLocal: User changes are stored on the machine’s local storage.
  • Discard: User changes are discarded.
Type: PersistUserChanges
Accepted values: OnLocal, Discard, OnPvd
Position: 6
Default value: None
Required: True
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-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.

Type: String[]
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-AdminFolder

The folder in which the new catalog should reside (if any).

Type: AdminFolder
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2112

-Description

A description for the catalog.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True
Disallowed characters: All ASCII control characters

-IsRemotePC

Specifies whether this is to be a Remote PC catalog.

IsRemotePC can only be enabled when:

  • SessionSupport is SingleSession
  • MachinesArePhysical is true.
Type: Boolean
Position: Named
Default value: False
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: 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.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-MdmEnrollment

MdmEnrollment for this catalog. Values can be:

  • None - No enrollment.
  • Intune - Microsoft Intune.
Type: String
Accepted values: None, Intune, IntuneWithCitrixTags
Position: Named
Default value: If no value is provided, the catalog does not enroll with Mdm.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2206

-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, L7_30, L7_34

Type: FunctionalLevel
Accepted values: L5, LMIN, L7, L7_6, L7_7, L7_8, L7_9, L7_20, L7_25, L7_30, L7_34, LMAX
Position: Named
Default value: The default value for new Catalogs comes from the DefaultMinimumFunctionalLevel property of the Site object (see Get-BrokerSite).
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-PvsAddress

Specifies the URL of the Provisioning Services server. Only applicable to Provisioning Services or Provisioning Services-personal vDisk catalogs.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-PvsDomain

Specifies the Active Directory domain of the Provisioning Services server. Only applicable to Provisioning Services or Provisioning Services-personal vDisk catalogs.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True

-RemotePCHypervisorConnectionUid

Specifies the hypervisor connection to use for powering on remote PCs in this catalog (only allowed when IsRemotePC is true).

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-Scope

Specifies the name of the delegated administration scope to which the catalog belongs.

Type: String[]
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-TenantId

Specifies identity of tenant associated with catalog. Must always be specified in multitenant sites, must not be specified otherwise.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-TimeZone

The time zone in which this catalog’s machines reside.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: True
Introduced in: Citrix Virtual Apps and Desktop 7 2209

-UUID

An optional GUID for this catalog.

Type: Guid
Position: Named
Default value: A new GUID is generated if none is supplied.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-ZoneUid

Zone Uid associated with this catalog.

Type: Guid
Position: Named
Default value: If no Uid is provided the catalog is associated with Primary Zone.
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

-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.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: 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).

Type: Guid
Position: Named
Default value: $null
Required: False
Accept pipeline input: True (ByPropertyName)
Accept wildcard characters: False

CitrixCommonParameters

This cmdlet supports the common Citrix parameters: -AdminAddress, -AdminClientIP, -BearerToken, -TraceParent, -TraceState and -VirtualSiteId. For more information, see about_CitrixCommonParameters.

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

None

You cannot pipe input into this cmdlet.

Outputs

Citrix.Broker.Admin.SDK.Catalog

New-BrokerCatalog returns the created catalog.

New-BrokerCatalog