none
Logging into a specific server in a terminal server farm RRS feed

  • Question

  • We have several terminal server farms and in each farm we have the need for 1 user to always log into a specific server in the farm.   This is due to a little piece of sortware that is required for a device that only this one user has and the fact the it is licensed to only one server.   The user must use that server for it to work.  I want to include this server in the farm because it seems silly to have a server for only one user.    How can I point one PC/user to the same server in the farm all the time?  We are using the Connection Broker and NLB which seems to work just fine for all other users. 

    Thanks

    Saturday, October 13, 2012 4:51 AM

Answers

  • Hi Steve,

    What operating system version are you running on your servers?  Server 2008 R2?  Server 2012?

    When you configure a RDS farm to be load-balanced by the connection broker, all servers in the unique farm are intended to have the exact same applications installed.  The idea is the RDCB can redirect users to different servers as needed to balance the load, and that you may take any particular server (or servers, if you have enough) offline and your farm will still work.

    Now, there are always exceptions and I understand it would be nice if you could assign a user/app to a specific server to handle a case like yours.  For example, you would understand this particular user or app would not be load-balanced or highly available and if the one server was down it would not work, but other users/RemoteApps would be load-balanced as usual.  This is not a feature of the current versions of RDS.

    To do what you want the "best way" would require writing a custom plugin for RDCB.  In your custom plugin you would specifiy the load-balancing logic.  For example, when one of the "special" users logs on, your logic would direct them to the correct specific server, but when a regular user logs on you would allow the normal RDCB load-balancing logic to apply.  Please see here for more information:

    Terminal Services Session Broker Plug-in reference

    http://msdn.microsoft.com/en-us/library/windows/desktop/cc644962(v=vs.85).aspx

    Besides writing a custom plugin I suggest you consider the following workarounds:

    1. Instead of running the app under RDSH, run it in a Win7/Win8 VM pool if possible.  Either a pool of identical VMs or assign each user that needs to run the app to a dedicated VM.  Downside of this is added complexity, licensing for VDI, and an increase in hardware resources required to run the VMs.

    2. Have the user connect to the server using /admin.  You can change the permissions so that a specific group may connect using a /admin connection, without them being administrators.  Downside of this is that some features of RDSH are not present when connected as an administrative RDP session, and only two Active admin sessions are permitted.

    3. If running Server 2008 R2 you could set the server so that it does not participate in load balancing and have the users that need to run this special app connect directly to the server's ip address instead of to the farm name.  Downside of this is that you will get more uneven load distribution, however, it may not be that bad if you are balancing your initial connections using NLB and you have all of your regular users connecting to the farm name as usual.

    4. Have a separate server in each farm (not joined to the farm) just for this one app.  If possible they could be VMs with not much resources dedicated to each.  I know this is what you did not want to do, but I mention it because an extra base Windows Server license, one for each farm, is likely less additional cost than licensing the special software on all servers.  If you can run the app in VMs then the additional hardware cost of doing it this way is reduced.

    -TP

    Tuesday, October 16, 2012 3:38 AM
    Moderator

All replies

  • Is this log into a specific server, or access a remote app on a specific server?

    To log into a specific server start their session with mstsc  /v:[servername]

    To make sure an application starts on a specific server - publish that an application with a unique name and *only* publish that unique name from one server. e.g.

    Notepad - Server A

    Notepad - Server B

    Notepad - Server C


    Andrew Wood Sunderland, UK

    Sunday, October 14, 2012 7:42 PM
  • No it is not a remote app.   It is the full desktop.  I have tried the  /v:server but I still get redirected to another server.

    Sunday, October 14, 2012 8:33 PM
  • even if you pop the ip address in after /v rather than a name ?

    Andrew Wood Sunderland, UK

    Monday, October 15, 2012 7:51 AM
  • I have the
    same issue, I cannot remote desktop into a specific server. Our current Terminal Servers are running Windows Server 2003 and I added two NICs to each server, one is for production and one is for administration. This works well as IT can always access a server when needed. I am attempting to create the same setup in Windows Server 2012. I have two servers setup, Server A and Server B.   Server A has RD Connection Broker, RD Session Host, RD Web Access, RD Gateway, and RD Licensing. Server B has just RD Connection Broker, RD Session Host, and RD Web Access. I have created a Remote Desktop Services collection setup that includes both Server A and Server B. The deployment properties are configured with Load Balancing as this is a huge plus over our current setup. But, no matter how I attempt to remote into Server A, whether it is via FQDN or by IP address (doesn't matter if I use production or administration IP address) the remote desktop connection is load balanced and connecting to Server A is difficult to make.<o:p></o:p>

    I tried /v:[server] and /v:IP and get the same behavior. But, in Windows Server 2003 I could go to Terminal Services Configuration and set which NIC I wanted to
    answer the production and administration remote desktop requests. I have not found the same functionality in Windows Server 2012 yet.<o:p></o:p>

    Any help is appreciated,

    Derek

    Monday, October 15, 2012 10:35 PM
  • Yes

    MSTSC  /v:172.31.1.14    I get the certificate warning showing 172.31.1.14 I click ok then I get the same warning showing 172.31.1.15 I click yes and I get logged in.   The bar at the top shows 172.31.1.14 but cmd - and hostname show 172.31.1.15.  RDP manager confirms I am logged into 172.1.1.15. Just to be double sure I shutdown 172.31.1.14 and I can still work

     

    Tuesday, October 16, 2012 2:46 AM
  • Hi Derek,

    If you need to connect to a specific server for administrative purposes then you need to use the /admin command line switch, like this:

    mstsc /admin

    -TP

    • Proposed as answer by Andweeb Tuesday, January 16, 2018 9:50 AM
    Tuesday, October 16, 2012 2:49 AM
    Moderator
  • Yes but we need to login as a user.  We have a software package that only on user in each cluster will use.  It is $400 per server so we see no reason to license it on 5 or 6 servers in each cluster.   It also makes no sense to have a server for just on user so thye can run this software.  We are managing 36 server farms with 202 servers total.  On 36 users (1 in each) need to run this software.  

    Any other ideas would be helpful.

    Thanks

    Tuesday, October 16, 2012 2:58 AM
  • Hi Steve,

    What operating system version are you running on your servers?  Server 2008 R2?  Server 2012?

    When you configure a RDS farm to be load-balanced by the connection broker, all servers in the unique farm are intended to have the exact same applications installed.  The idea is the RDCB can redirect users to different servers as needed to balance the load, and that you may take any particular server (or servers, if you have enough) offline and your farm will still work.

    Now, there are always exceptions and I understand it would be nice if you could assign a user/app to a specific server to handle a case like yours.  For example, you would understand this particular user or app would not be load-balanced or highly available and if the one server was down it would not work, but other users/RemoteApps would be load-balanced as usual.  This is not a feature of the current versions of RDS.

    To do what you want the "best way" would require writing a custom plugin for RDCB.  In your custom plugin you would specifiy the load-balancing logic.  For example, when one of the "special" users logs on, your logic would direct them to the correct specific server, but when a regular user logs on you would allow the normal RDCB load-balancing logic to apply.  Please see here for more information:

    Terminal Services Session Broker Plug-in reference

    http://msdn.microsoft.com/en-us/library/windows/desktop/cc644962(v=vs.85).aspx

    Besides writing a custom plugin I suggest you consider the following workarounds:

    1. Instead of running the app under RDSH, run it in a Win7/Win8 VM pool if possible.  Either a pool of identical VMs or assign each user that needs to run the app to a dedicated VM.  Downside of this is added complexity, licensing for VDI, and an increase in hardware resources required to run the VMs.

    2. Have the user connect to the server using /admin.  You can change the permissions so that a specific group may connect using a /admin connection, without them being administrators.  Downside of this is that some features of RDSH are not present when connected as an administrative RDP session, and only two Active admin sessions are permitted.

    3. If running Server 2008 R2 you could set the server so that it does not participate in load balancing and have the users that need to run this special app connect directly to the server's ip address instead of to the farm name.  Downside of this is that you will get more uneven load distribution, however, it may not be that bad if you are balancing your initial connections using NLB and you have all of your regular users connecting to the farm name as usual.

    4. Have a separate server in each farm (not joined to the farm) just for this one app.  If possible they could be VMs with not much resources dedicated to each.  I know this is what you did not want to do, but I mention it because an extra base Windows Server license, one for each farm, is likely less additional cost than licensing the special software on all servers.  If you can run the app in VMs then the additional hardware cost of doing it this way is reduced.

    -TP

    Tuesday, October 16, 2012 3:38 AM
    Moderator
  • The /admin switch works like a charm.   Now, a few more lessons to learn before unleashing the new servers on the users.

    Thanks TP!

    Tuesday, October 16, 2012 9:44 PM
  • Sorry for the delay.  the OS is Server 2008r2.   I am still looking at other options but at this point nothing is a ideal fit.

    Sunday, October 21, 2012 5:20 PM
  • "2. Have the user connect to the server using /admin.  You can change the permissions so that a specific group may connect using a /admin connection, without them being administrators.  Downside of this is that some features of RDSH are not present when connected as an administrative RDP session, and only two Active admin sessions are permitted." How can i do this

    Wednesday, March 25, 2015 9:29 AM
  • Hello TP,

    We have the same issue like Steve and I don't see your reponse about your second point :

    "2. Have the user connect to the server using /admin.  You can change the permissions so that a specific group may connect using a /admin connection, without them being administrators.  Downside of this is that some features of RDSH are not present when connected as an administrative RDP session, and only two Active admin sessions are permitted"

    We are in RDS 2012 R2, and due to a software limitation, we need to enable connection to only one host to an user to developp Bi reports...

    We have 2 nodes and tried to deny access to the second host to the user to force the broker to connecter user to the first host....doesn't work...:-(

    Thanks in advance...

    Hervé.

    Tuesday, March 29, 2016 11:00 PM
  • We also have the need to point a small group of users to a specific Server in our Farm. We just add an entry in the Hosts file on their local machine to resolve the Farm name to the IP address of the specific Terminal Server that we want them to connect to. So we add a line like the one below in the Hosts file (C:\Windows\System32\Drivers\etc\hosts) and it skips the Load Balancer and directs them to the desired server automatically. They just use the same RDP shortcut as all our other users, but theirs takes them to the specified Terminal Server versus hitting the Load Balancer. Not sure if this will work for others but it seems to do fine in our situation. 

    <IP of Desired Terminal Server> farm.Fabrikam.local

    Thursday, May 12, 2016 3:29 PM
  • We publish .rdp files for users requiring access to a specific server.  Also useful in publishing W2K8 32-bit servers where 16-bit backward compatibility is required ;-)
    • Edited by LeaUK Friday, May 13, 2016 3:24 PM
    Friday, May 13, 2016 3:24 PM
  • "Have the user connect to the server using /admin.  You can change the permissions so that a specific group may connect using a /admin connection, without them being administrators.  Downside of this is that some features of RDSH are not present when connected as an administrative RDP session, and only two Active admin sessions are permitted."

    ^^^Did anyone ever find a way to do this or can anyone elaborate on the steps needed to do so?

    Tuesday, May 2, 2017 3:27 PM