Let me state the objective first. I would like to configure a Remote Desktop Services paradigm such that a Remote Desktop Client is able to connect to an entity, likely an RD Gateway or RD Connection Broker, and be directed to a specific server with the RD Session Host role -- based on the user's group membership.
For example, if there exist servers with RD Session host roles called SVR1 and SVR2 and a RD Connection Broker named CB1 with a farm called rd-farm of which SVR1 and SVR2 are members. I'd like to be able to point the user Remote Desktop Client at rd-farm and based on the user's group membership, be directed to SVR1 xor SVR2, but not both.
RD Gateway or RD Connection Broker are both on the table for achieving the objective.
From the investigation I have done I understand it such the RD Connection Broker can use either session load balancing or round-robin DNS like behavior for handing off sessions to Session Hosts. However, I'd like to use a user's group membership to determine to what Session Host they are redirected, not session load balancing or round-robin.
The reason why we would like to achieve this is that we have a fleet of session hosts that are not identical -- and as such are not a "farm" in the truest sense of the word. However, we would still like to push out a single client profile (be it from a single RDP icon across the enterprise, a Wyse thin client configuration, etc.) that directs users to the same RD Connection Broker/Gateway and have the user's Active Directory group membership determine to which Session Host they are redirected.
This serverfault Use RD Gateway to direct users to certain term server? doesn't answer the question with the specific qualifiers -- group membership, Connection Broker, or with single remote desktop client profile.
I do not believe the exact configuration you are looking for is possible in the way you are looking to implement it.
I would possibly look at creating multiple collections based on the different types of users you have and then using RDWeb to deploy the RDP icons. You can control what icons are displayed by using groups in RDWeb.
This way you could deploy a single icon (Shortcut to http://rdweb.mycompany.com) across your enterprise and still control everything by groups.
Your shortcut could be a batch file (you can turn it into an exe with some free tools like batch2exe) that looks up a configuration file for which server you want to send the user to.
Windows RD Session hosts use a crappy NLB load balancer, basically a round robin DNS, this is not load balancing as if you switch off a session host the broker will still route traffic to it - in order to get traffic management, server health checks, sticky session and ssl off loading you need a proper load balancer and virtualize the IP address for all hosts, here is a long article on LB a RD deployment with Kemp load balancers, I'm sure you could do this with HAProxy https://charbelnemnom.com/2015/03/how-to-load-balance-remote-desktop-session-host-with-kemp-virtual-loadmaster-kemptech-rds-hyperv/