Solved

1 User Logging into Multiple PC terminal service session:  %clientname% environment variable doesn't update:  why?

Posted on 2007-11-20
5
1,513 Views
Last Modified: 2013-11-21
OS:  Windows 2003 Server SP2 (with terminal services enabled).  
We are keying off the %clientname% environment variable for our application to work under terminal services.
The problem is this:
A user logs into a terminal service session from PC a.  Then the user doesn't log out of the terminal server session but creates another terminal service session from PC b.  So now the user is logged into the same terminal server 2x but with different session id's.  The problem is that the %clientname% variable doesn't update when the user logs in from PC b.  The %clientname% is still reflecting that of PC a.  

Is there a way to force this variable to update when the user logs into PC b?  Better yet is there a better variable that is unique and static to each PC?
0
Comment
Question by:carswelldp
  • 3
  • 2
5 Comments
 
LVL 31

Expert Comment

by:Cláudio Rodrigues
ID: 20320160
Why do not you combine both CLIENTNAME and SESSION ID on your application? This will be definitely unique.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 
LVL 1

Author Comment

by:carswelldp
ID: 20320411
Yes unique but not static.  The session id can change.
Our program has been coded to look into a folder c:\tsclient\%CLIENTNAME%\... for its configuration settings.  Each client machine has specific settings relating to it.  So the configuration cannot change and must remain static.


0
 
LVL 31

Expert Comment

by:Cláudio Rodrigues
ID: 20321141
Why you do not restrict the user to one single session? Launch TSCC.MSC and you will see the setting right there.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0
 
LVL 1

Author Comment

by:carswelldp
ID: 20321336
I would like to do that very much.  However, the needs of our client dictate otherwise.  In this circumstance the user (according to the client) has to be logged into 2 sessions with the same userid.  I am trying to find a way around this by selecting a unique environment variable to the client terminal server session.  CLIENTNAME appeared to work wonderfully till this issue with the CLIENTNAME not being updated upon login to a different user session  while connected to the other.  I realize this may be a limitation of terminal services and in our extensive research this seems to be the case.  
0
 
LVL 31

Accepted Solution

by:
Cláudio Rodrigues earned 500 total points
ID: 20321402
The WTSAPI returns both CLIENTNAME and the client IP address. If you use the API instead of relying on the environment variables, it will work indeed.
More information here:
http://msdn2.microsoft.com/en-us/library/aa383468.aspx

In your case you will probably be using the WTSQuerySessionInformation function.

Claudio Rodrigues
Microsoft MVP
Windows Server - Terminal Services
0

Featured Post

Do email signature updates give you a headache?

Do you feel like all of your time is spent managing email signatures? Too busy to visit every user’s desk to make updates? Want high-quality HTML signatures on all devices, including on mobiles and Macs? Then, let Exclaimer solve all your email signature problems today!

Join & Write a Comment

The question has been asked on multiple occasions as to how best to do printing in a remote desktop or terminal services environment.   It seems that this particular question has plagued several people and most especially as Terminal Services, as…
Restoring deleted objects in Active Directory has been a standard feature in Active Directory for many years, yet some admins may not know what is available.
In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're interested in additional methods for monitoring bandwidt…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now