What you describe it's not standard Active Directory behaviour, so you probably have some policy or other settings in place which is creating that; standard behaviour is for each user to have its own profile and to have it stored locally on the computer where s/he logs on, so:
- Each user who logs on to a computer for the first time gets a new profile.
- Each user who logs on again to a computer where s/he logged on before gets the last profile that has been saved on that machine.
- Each user who logged on to a computer but logs on to another one for the first time gets a new profile there, too.
First of all, you should solve this problem, or nothing else is going to work as it should.
What you seem to want is for your users to:
- Have each one his/her own profile.
- Have only one profile regardless of the actual machine where they log on.
This can be accomplished with the so-called "roaming profiles", which has been around since Windows NT. There is plenty of documentation around about them , but basically you set them up by:
- Creating a network share where they will be centrally stored
- Populating the "Profile" field in the user properties with a path like
\\servername\share\username. You can actually use a variable here instead of the actual username, so
\\servername\share\%username% will work, too: you can simply set it for all your users at the same time, an each one of them will get his/her own profile in a distinct folder.
Be careful with roaming profiles, as their content is fully synchronized between the server and the client at each logon/logoff, and their size can grow very quicly if your users are used to store big things in their Documents folder or on their desktops; folder redirection can help you mitigate this.