Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2007-11-20
5
Medium Priority
?
1,541 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 2000 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

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Some time ago I faced the need to use a uniform folder structure that spanned across numerous sites of an enterprise to be used as a common repository for the Software packages of the Configuration Manager 2007 infrastructure. Because the procedu…
Have you considered what group policies are backwards and forwards compatible? Windows Active Directory servers and clients use group policy templates to deploy sets of policies within your domain. But, there is a catch to deploying policies. The…
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Loops Section Overview

877 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