You can use the Terminal Services Configuration Console
(Tscc.msc) to force users to only use one session by using the "Restrict each
user to one session" policy in the Server Setting portion of Tscc.msc. However,
certain circumstances allow for more than one session to be run by a single
user.
To reproduce this scenario:
- On a Windows Server-based computer, enable "Restrict each
user to one session" by using the Terminal Service Configuration or "Restrict
Terminal Services Users to a single remote session" by using Group
Policy.
- Apply the changes in Terminal Services Configuration or
refresh the policy in Group Policy.
- On a client computer, start the Remote Desktop
Connection.
- Set any program to run on connection and then connect to
the Windows Server-based computer.
- On the same client computer, open another Remote Desktop
session with the same user account as before, but this time, do not set any
program to run on connection.
You expect the first Remote Desktop session to be disconnected
when the new Remote Desktop session is opened. However, the first Remote
Desktop session stays open, and the second Remote Desktop session is also
opened successfully. The same user (technically) has multiple sessions.
This policy/configuration works as expected when you do not select
any programs on connection (when the second Remote Desktop session is opened,
the first one is disconnected). It also works even when the you try to open
multiple sessions with some program on connection, provided that the program
you selected in each connection is the same. That is, if you open a Remote
Desktop session by using Notepad as the initial program and you try to open
another session by using Notepad again, the first session is disconnected as
expected. However, if you open multiple Remote Desktop sessions each time with
different initial programs, you can use multiple sessions.