Citrix Virtual Apps and Desktops 2402 SDK

Get-BrokerCatalog

Gets catalogs configured for this site.

Syntax

Get-BrokerCatalog
   [[-Name] <String>]
   [-AdminFolderName <String>]
   [-AdminFolderUid <Int32>]
   [-AllocationType <AllocationType>]
   [-AppDnaAnalysisState <AppDnaAnalysisState>]
   [-AssignedCount <Int32>]
   [-AvailableAssignedCount <Int32>]
   [-AvailableCount <Int32>]
   [-AvailableUnassignedCount <Int32>]
   [-CatalogName <String>]
   [-Description <String>]
   [-HypervisorConnectionUid <Int32>]
   [-IsRemotePC <Boolean>]
   [-MachinesArePhysical <Boolean>]
   [-MdmEnrollment <String>]
   [-Metadata <String>]
   [-MinimumFunctionalLevel <FunctionalLevel>]
   [-PersistUserChanges <PersistUserChanges>]
   [-ProvisioningSchemeId <Guid>]
   [-ProvisioningType <ProvisioningType>]
   [-PvsAddress <String>]
   [-PvsDomain <String>]
   [-RemotePCDesktopGroupPriority <Int32>]
   [-RemotePCDesktopGroupUid <Int32>]
   [-RemotePCHypervisorConnectionUid <Int32>]
   [-ScopeId <Guid>]
   [-ScopeName <String>]
   [-SessionSupport <SessionSupport>]
   [-Tag <String>]
   [-TenantId <Guid>]
   [-TimeZone <String>]
   [-UnassignedCount <Int32>]
   [-UsedCount <Int32>]
   [-UUID <Guid>]
   [-ZoneHealthy <Boolean>]
   [-ZoneName <String>]
   [-ZoneUid <Guid>]
   [-MachineUid <Int32>]
   [-TagUid <Int32>]
   [-Property <String[]>]
   [-ReturnTotalRecordCount]
   [-MaxRecordCount <Int32>]
   [-Skip <Int32>]
   [-SortBy <String>]
   [-Filter <String>]
   [-FilterScope <Guid>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->
Get-BrokerCatalog
   [-Uid] <Int32>
   [-Property <String[]>]
   [<CitrixCommonParameters>]
   [<CommonParameters>]
<!--NeedCopy-->

Description

Retrieves catalogs matching the specified criteria. If no parameters are specified this cmdlet enumerates all catalogs.

See about_Broker_Filtering for information about advanced filtering options.

————————– BrokerCatalog Object

The catalog object returned represents a group of related physical or virtual machines that have been configured in the site.

See about_Broker_Machines for more information.

  • AdminFolderName (System.String)

    The name of the admin folder the catalog is in (including trailing backslash), or the empty string if the catalog is at the root level

  • AdminFolderUid (System.Int32)

    The Uid of the admin folder the catalog is in (if any)

  • AllocationType (Citrix.Broker.Admin.SDK.AllocationType)

    Denotes how the the machines in the catalog are allocated to a user. Possible values are:

    • Static: Machines get assigned to a user either by the admin or on first use. This relationship is static and changes only if an admin explicitly changes the assignments.
    • Random: Machines are allocated to users randomly from a pool of available machines.
  • AppDnaAnalysisState (Citrix.Broker.Admin.SDK.AppDnaAnalysisState?)

    The AppDNA Analysis State of the catalog

  • AssignedCount (System.Int32)

    The number of assigned machines (machines that have been assigned to a user/users or a client name/address).

  • AvailableAssignedCount (System.Int32)

    The number of available machines (not in a desktop group), that are also assigned to users.

  • AvailableCount (System.Int32)

    The number of available machines (those not in any desktop group).

  • AvailableUnassignedCount (System.Int32)

    The number of available machines (those not in any desktop group) that are not assigned to users.

  • CatalogName (System.String)

    Name of the catalog (must be unique within a Folder)

  • Description (System.String)

    Description of the catalog.

  • HypervisorConnectionUid (System.Int32?)

    The Uid of the hypervisor connection that is associated with the machines in the catalog. This property only applies to MCS provisioned catalogs. For other provisioning types machines can be from one or more different hypervisor connections.

  • IsRemotePC (System.Boolean)

    Specifies whether or not the catalog is a RemotePC catalog. Remote PC catalogs automatically configure appropriate machines without the need for manual configuration. See about_Broker_RemotePC for more information.

  • MachinesArePhysical (System.Boolean)

    Specifies whether or not the machines in the catalog can be power-managed by the broker.

  • MdmEnrollment (System.String)

    Indicates the MdmEnrollment of the catalog. Possible values:

    • None: No Mdm.
    • Intune: Microsoft Intune.
    • IntuneWithCitrixTags: Microsoft Intune with Citrix tags.
  • MetadataMap (System.Collections.Generic.Dictionary<string, string>)

    Holds any metadata associated with the catalog.

  • MinimumFunctionalLevel (Citrix.Broker.Admin.SDK.FunctionalLevel)

    The expected minimal functional level of the machines in the catalog.

  • Name (System.String)

    Site-wide unique full path name of the catalog including all containing folders, for example, Folder1\Folder2\MyCatalog.

  • PersistUserChanges (Citrix.Broker.Admin.SDK.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.
  • ProvisioningSchemeId (System.Guid?)

    The GUID of the provisioning scheme (if any) associated with the catalog. This only applies if the provisioning type is MCS.

  • ProvisioningType (Citrix.Broker.Admin.SDK.ProvisioningType)

    Specifies how the machines are provisioned in the catalog. Possible values are:

    • Manual: No provisioning.
    • PVS: Machine provisioned by PVS (machine may be physical, blade, VM…)
    • MCS: Machine provisioned by MCS (machine must be a VM).
  • PvsAddress (System.String)

    IP address of the PVS server to be used in a catalog with a PVS ProvisioningType.

  • PvsDomain (System.String)

    The domain of the PVS server to be used in a catalog with a PVS ProvisioningType.

  • RemotePCDesktopGroupPriorities (System.Int32[])

    Remote PC desktop groups’ association priorities.

  • RemotePCDesktopGroupUids (System.Int32[])

    UIDs of the Remote PC desktop groups associated with this catalog.

  • RemotePCHypervisorConnectionUid (System.Int32?)

    UID of the hypervisor connection used for powering on RemotePC machines in this catalog (only for catalogs with IsRemotePC set to true).

  • Scopes (Citrix.Fma.Sdk.DelegatedAdminInterfaces.ScopeReference[])

    The list of the delegated admin scopes to which the catalog belongs.

  • SessionSupport (Citrix.Broker.Admin.SDK.SessionSupport)

    Specifies the session support of the machines in the catalog. Valid values are: SingleSession, MultiSession.

  • Tags (System.String[])

    Tags associated with the catalog.

  • TenantId (System.Guid?)

    Identity of tenant associated with catalog. Not applicable (always blank) in non-multitenant sites.

  • TimeZone (System.String)

    The timezone that desktops in the catalog are in (for catalog reboot schedule purposes).

  • Uid (System.Int32)

    Uid of the catalog.

  • UnassignedCount (System.Int32)

    The number of unassigned machines (machines not assigned to users).

  • UsedCount (System.Int32)

    The number of machines in the catalog that are in a desktop group.

  • UUID (System.Guid)

    The global ID of the catalog.

  • ZoneHealthy (System.Boolean?)

    Health state of the Zone associated with this catalog.

  • ZoneName (System.String)

    Name of the Zone associated with this catalog.

  • ZoneUid (System.Guid)

    Uid of the Zone associated with this catalog.

Examples

EXAMPLE 1

These commands return all catalogs containing machines that are randomly assigned to users. The second form uses advanced filtering (see about_Broker_Filtering).

Get-BrokerCatalog -AllocationType Random
Get-BrokerCatalog -Filter { AllocationType  -eq 'Random'}
<!--NeedCopy-->

EXAMPLE 2

This command returns catalogs with more than 10 unused machines that are available for assignment to users.

Get-BrokerCatalog -Filter { AvailableCount  -gt 10}
<!--NeedCopy-->

EXAMPLE 3

This command returns the unmanaged catalog with the highest number of available machines.

Get-BrokerCatalog -MaxRecordCount 1 -ProvisioningType Manual -SortBy '-AvailableCount'
<!--NeedCopy-->

Parameters

-Uid

Get catalogs with the specified UID.

Type: Int32
Position: 2
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-Name

Gets catalogs whose full path name matches the specified supplied pattern.

Type: String
Position: 2
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: True

-AdminFolderName

Gets catalogs that are in admin folders matching the specified name.

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

-AdminFolderUid

Gets catalogs that are in the specified admin folder.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AllocationType

Gets catalogs that are of the specified allocation type. 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
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AppDnaAnalysisState

Gets catalogs that have of the specified AppDNA Analysis State. Values can be:

  • None - No AppDNA analysis has not been preformed.
  • Capturing - AppDNA analysis is running and capturing infomation from a catalog machine.
  • Canceled - The AppDNA analysis process was cancelled.
  • Ready - The AppDNA analysis process has finished correctly.
  • Failed - The AppDNA analysis process failed.
  • Importing - AppDNA analysis is running and uploading results to the AppDNA server.
Type: AppDnaAnalysisState
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AssignedCount

Gets catalogs containing a specified number of assigned machines (machines that have been assigned to users).

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AvailableAssignedCount

Gets catalogs containing a specified number of available machines (those not in any desktop group) that are also assigned to users.

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AvailableCount

Gets catalogs containing a specified number of available machines (those not in any desktop group).

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-AvailableUnassignedCount

Gets catalogs containing a specified number of available machines (those not in any desktop group) that are not assigned to users.

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-CatalogName

Gets Catalogs that match the specified simple name.

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

-Description

Gets catalogs with the specified description.

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

-HypervisorConnectionUid

Gets catalogs associated with the specified hypervisor connection.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-IsRemotePC

Gets catalogs with the specified IsRemotePC value.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: False
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 the machine 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: False
Accept wildcard characters: False

-MdmEnrollment

Gets catalogs that have the specified MdmEnrollment. Values can be:

  • None - No enrollment.
  • Intune - Microsoft Intune.
Type: String
Accepted values: Intune, IntuneWithCitrixTags, None
Position: Named
Default value: If no value is provided, the catalog does not enroll with Mdm.
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Metadata

Gets records with matching metadata entries.

The value being compared with is a concatenation of the key name, a colon, and the value. For example: -Metadata “abc:x*” matches records with a metadata entry having a key name of “abc” and a value starting with the letter “x”.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-MinimumFunctionalLevel

Gets catalogs with a specific MinimumFunctionalLevel.

Valid values are L5, L7, L7_6, L7_7, L7_8, L7_9, L7_20, L7_25, L7_30, L7_34

Type: FunctionalLevel
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PersistUserChanges

Gets catalogs with the specified behavior when persisting changes made by the end user. Possible values are:

  • OnLocal - User changes are stored on the machine’s local storage.
  • Discard - User changes are discarded.
Type: PersistUserChanges
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ProvisioningSchemeId

Gets catalogs associated with the specified provisioning scheme.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ProvisioningType

Specifies the provisioning type 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
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-PvsAddress

Gets catalogs containing machines provided by the Provisioning Services server with the specified address.

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

-PvsDomain

Gets catalogs containing machines provided by the Provisioning Services server in the specified domain.

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

-RemotePCDesktopGroupPriority

Gets Remote PC catalogs with a Remote PC desktop group association with the specified priority.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-RemotePCDesktopGroupUid

Gets Remote PC catalogs associated with the specified Remote PC desktop group.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-RemotePCHypervisorConnectionUid

Gets Remote PC catalogs associated with the specified Remote PC hypervisor connection.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ScopeId

Gets catalogs that are associated with the given scope identifier.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ScopeName

Gets catalogs that are associated with the given scope name.

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

-SessionSupport

Gets catalogs that have the specified session capability. Values can be:

  • SingleSession - Single-session only machine.
  • MultiSession - Multi-session capable machine.
Type: SessionSupport
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Tag

Gets catalogs tagged with the specified tag.

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

-TenantId

Gets catalogs associated with the specified tenant identity.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-TimeZone

Gets catalogs with the specified value of TimeZone.

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

-UnassignedCount

Gets catalogs containing a specified number of unassigned machines (machines not assigned to users).

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-UsedCount

Gets catalogs containing a specified number of machines used in a desktop group.

This property is typically used with advanced filtering; see about_Broker_Filtering.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-UUID

Get catalogs with the specified global ID.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ZoneHealthy

Gets catalogs located in the zone with the specified health state.

Type: Boolean
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ZoneName

Gets catalogs located in the zone with the specified name.

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

-ZoneUid

Gets machines located in the zone with the specified UID.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-MachineUid

Gets the catalog containing the machine referenced by the specified unique identifier (UID).

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-TagUid

Gets catalogs to which the specified tag (identified by its Uid) has been added to help identify it - see Add-BrokerTag for more information.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-ReturnTotalRecordCount

When specified, this causes the cmdlet to output an error record containing the number of records available. This error record is additional information and does not affect the objects written to the output pipeline. See about_Broker_Filtering for details.

Type: SwitchParameter
Position: Named
Default value: False
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-MaxRecordCount

Specifies the maximum number of records to return.

Type: Int32
Position: Named
Default value: 250
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Skip

Skips the specified number of records before returning results. Also reduces the count returned by -ReturnTotalRecordCount.

Type: Int32
Position: Named
Default value: 0
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-SortBy

Sorts the results by the specified list of properties. The list is a set of property names separated by commas, semi-colons, or spaces. Optionally, prefix each name with a + or - to indicate ascending or descending order. Ascending order is assumed if no prefix is present.

Type: String
Position: Named
Default value: The default sort order is by name or unique identifier.
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Filter

Gets records that match a PowerShell style filter expression. See about_Broker_Filtering for details.

Type: String
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-FilterScope

Gets only results allowed by the specified scope id.

Type: Guid
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-Property

Specifies the properties to be returned. This is similar to piping the output of the command through Select-Object, but the properties are filtered more efficiently at the server.

Type: String[]
Position: Named
Default value: None
Required: False
Accept pipeline input: False
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 can’t pipe objects to this cmdlet.

Outputs

Citrix.Broker.Admin.SDK.Catalog

Get-BrokerCatalog returns an object for each matching catalog.

Get-BrokerCatalog