Product Documentation

Get-BrokerResource

Apr 15, 2014

Gets resources that a user can broker connections to.

Syntax

Get-BrokerResource [-User] <String> [-Groups <String[]>] [-ClientName <String>] [-ClientIP <String>] [-ViaAG <Boolean>] [-SmartAccessTags <String[]>] [-AdminAddress <String>] [<CommonParameters>]

Detailed Description

Retrieve a list of resources that a user has access to, taking into account the site access policy, configuration of desktop groups, assignments, entitlements, and applications.

What a user has access to depends on a number of attributes:

-- User's name or security identifier.

-- Groups that the user is a member of (names or security identifiers).

-- IP address of the client the user connects from.

-- Name of the client that the user connects from.

-- Whether the user is connecting via Citrix Access Gateway.

-- SmartAccess tags when connecting via Citrix Access Gateway.

You must always specify the user's name or security identifier, but you will not always be able to predict what some of the other values will be. By omitting these values the corresponding access checks are ignored.

Consider for example, a site configuration that uses IP address ranges to allow access to private desktop A when connecting from the local network and private desktop B when connecting from home. Running this cmdlet without specifying a client IP address would return both A and B.

The output of this cmdlet depends on the available resources:

-- Assigned private desktops are returned as PrivateDesktop objects.

-- Shared desktops are returned as EntitlementPolicyRule objects.

-- Assign-On-First-Use desktops that have not been assigned yet are returned as AssignmentPolicyRule objects.

-- Application resources produce Application objects.

If more than one type of resource is available, the output pipeline contains a mixture of the above objects, in no particular order.

Only resources accessible based on the specified parameters, and visible to the administrator running this cmdlet are returned.

Related topics

Parameters

-User<String>

Gets resources given the specified user name or security identifier.

Required? true
Default Value  
Accept Pipeline Input? false

-Groups<String[]>

Get resources accessible given a list of group names or security identifiers.

Required? false
Default Value  
Accept Pipeline Input? false

-ClientName<String>

Get resources given the specified client name.

Required? false
Default Value  
Accept Pipeline Input? false

-ClientIP<String>

Get resources given the specified client IP address.

Required? false
Default Value  
Accept Pipeline Input? false

-ViaAG<Boolean>

Gets resources given the specified ViaAG setting.

Required? false
Default Value  
Accept Pipeline Input? false

-SmartAccessTags<String[]>

Get resources given the specified SmartAccess tags.

Required? false
Default Value  
Accept Pipeline Input? false

-AdminAddress<String>

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.

Required? false
Default Value Localhost. Once a value is provided by any cmdlet, this value will become the default.
Accept Pipeline Input? false

Input Type

None You cannot pipe input into this cmdlet.

Return Values

Citrix.Broker.Admin.SDK.PrivateDesktop

Get-BrokerResource returns a PrivateDesktop for each accessible assigned private desktop.Citrix.Broker.Admin.SDK.EntitlementPolicyRule

Get-BrokerResource returns an EntitlementPolicyRule object for each accessible entitlement to a shared desktop.Citrix.Broker.Admin.SDK.AssignmentPolicyRule

Get-BrokerResource returns an AssignmentPolicyRule object for each accessible Assign-On-First-Use desktop.Citrix.Broker.Admin.SDK.Application

Get-BrokerResource returns an Application object for each accessible application.

Examples

-------------------------- EXAMPLE 1 --------------------------

Get-BrokerResource -User MYDOMAIN\User1 -Group MYDOMAIN\Accounts,MYDOMAIN\Managers

List resources visible by User1 assuming membership of a couple of groups.

-------------------------- EXAMPLE 2 --------------------------

[int[]]$groups = (Get-BrokerResource -User MYDOMAIN\User1 | %{ $_.DesktopGroupUid }) 
Get-BrokerDesktopGroup -Filter { Uid -in $groups } -Property Uid,Name

Get all of the desktop groups supporting the resources accessible by User1, outputting the uid and name of each desktop group.