How do you force Steam to use a different account for each Windows user account on the same machine?

I just built a PC because my son wants to play PC games. I installed Windows 7, and created 2 user accounts, one for each of us. Within my Windows user account I installed Steam, and downloaded some games from my catalogue.
I was expecting that when the other Windows user account was logged in, it would see the Steam application, but would be required to log in again, thus allowing my son to use his own account. But when he logged in, Steam had retained my account details and was still logged in as me.
I don't want to share games. In fact I want the opposite, as I do not want my 12 year old to have access to 18 certificate games etc, and also I want to keep my achievements and friends lists to be just my own.
How can I tell Steam to use a different Steam account when logged into a different Windows account?
Best Answer
I had the same issue, and while there are some good solutions here, none were quite right for me. I wanted to save my password for offline mode options, I didn't like the idea of relying on the Steam shortcut to do the work (they might launch Steam another way, like at startup), and I also didn't want to have multiple copies of Steam (since that wastes a lot of space).
Here's what works for me:
- Open the Steam directory, then the config subdirectory. Sort by date modified.
- For each Steam account:
- Sign into Steam, saving the login details.
- Quit Steam.
- Copy SteamAppData.vdf to SteamAppData_username.vdf (where username is the Windows user name you'll use for that Steam account).
Create a new text file in the Steam directory (not the config subdirectory) called ChangeLoginPerUser.cmd with the following contents:
@echo on move config\SteamAppData.vdf config\SteamAppData_backup.vdf copy "config\SteamAppData_%USERNAME%.vdf" config\SteamAppData.vdf
- Add a shortcut to this script in the All Users Startup folder. This is where to put it:
- Press Win+R
- The Run dialog pops up
- Enter this:
shell:common startup
This means whenever a user logs on to Windows, it will move the old saved login out of the way (just in case an unanticipated user account logs in) and then copy your account's saved login as the current one in the directory.
If your other user accounts are not administrators, you may need to set the permissions of SteamAppData.vdf and the SteamAppData_username.vdf files to be full control by anyone. On my system, all 3 of the accounts are administrators, so I didn't have to do this.
Pictures about "How do you force Steam to use a different account for each Windows user account on the same machine?"



Can I switch Steam accounts on same computer?
Can I use multiple Steam accounts on one computer? Yes, you can access different Steam accounts from one computer. However, you may only access one account at a time.Can two accounts play a game only bought on one account on the same computer?
Yes, you can share your games with your family. Steam recently introduced Family Sharing, a system where a user can share his library with the rest of the family and others who use the same computer. You simply need to enable Family Sharing on the computer you want to use: Log in with the account you want to play with.Can multiple users play simultaneously on one Steam account?
Yes. You may authorize Family Library Sharing on up to 10 devices at a given time, and for up to 5 accounts that may then use your game library on any of your authorized computers.How to have | 2 STEAM ACCOUNTS | on | ONE COMPUTER |
More answers regarding how do you force Steam to use a different account for each Windows user account on the same machine?
Answer 2
It doesn't seem like Steam was really designed with this use case in mind. (There's no such thing as Steam Parental Controls, for instance, although both my Xbox 360 and my Wii have parental controls, if I remember correctly.) I've found several threads where people were having similar issues with their kids.
One suggestion was to change the shortcut to Steam so that it supplies a username and password from the command line, like so:
-login %u %p - This logs into Steam with the specified Username and Password combination. Replace %u with the username, and %p with the password you want to login with (Steam must be off for this to work.)
However, this seems like it could be worked around, especially if you tend to forget to log out of steam when you lock your computer. The account credentials might still be cached, and then you'd end up giving your kid access to your games without your knowledge. That's just one possible attack vector, there may be many others, not to mention storing your passwords in this manner is incredibly insecure.
There's also all manner of "free" games that are probably inappropriate for children, but which can be downloaded into any Steam account. Team Fortress 2 contains quite a bit of violence (not all of it cute and cuddly) and bad language, among other things. It's kind of a personal parenting decision as far as what you consider to be "off limits" - but there are free rated-M games on Steam, and TF2 is one of them.
I found this thread over at Gamers With Jobs to be illuminating. They suggested limiting the access rights to certain applications and/or other files (violent games included) using the Group Policy Editor and file permissions settings in Windows 7. This would ensure that your child's Windows account could not access the games in question, even if your Steam account was properly logged in and authorized.
Another thing that was brought up in that thread that I think needs to be said is this:
Whatever barriers you put in his way, are just puzzles between him and the prize, and the more you put barriers in his way the more he will discover ways around them. You're teaching him how to hack in the most effective way possible.
They go further to suggest that in addition to protecting the content, you should also realize that kids with unsupervised access to computers will figure out a way around any level of protection - regardless of how foolproof, given enough time. (I was a living example of this as a child, sorry Mom & Dad!) You might consider putting the machine somewhere public in addition to these security measures, so that it's more likely that their computer time will be more closely supervised.
Don't look at this just as a technical problem that needs a technical solution; it's a complex psychology problem with a technical manifestation.
Answer 3
I managed to have it like this:
When steam installs, it asks you "install for every user" or similar. Install only for you. And keep the installed data in your account. When your account is password protected, no other user except for admin should have access to your orders or account.
Then install steam again on your kids account. Again password protect it. Again click install only for this user. Again store all data in the users orders.
This is how I managed to separate mine and my brothers steam accounts. Oh and I also unmarked "automatically log in" but let "save password / remember me" simply press log in and you're good to go.
Hope this will word for you too.
Answer 4
Raptor007's solution is great, but it has one problem: it does not work when you switch users without logging off. I have improved it by using Windows Task Scheduler.
The first 3 step is exactly the same as Raptor007's ones, except one thing: for some reason it doesn't work with relative paths when called from Task Scheduler, so need to specify absolute paths:
- Open the Steam directory, then the config subdirectory.
- For each Steam account:
- Sign into Steam, saving the login details.
- Quit Steam.
- Copy SteamAppData.vdf to SteamAppData_username.vdf (where username is the Windows user name you'll use for that Steam account).
Create a new text file anywhere you want (for example, in the Steam directory) called ChangeLoginPerUser.cmd with the following contents (replace C:\Program Files (x86)\Steam by your path to Steam directory):
@echo on
move "C:\Program Files (x86)\Steam\config\SteamAppData.vdf" "C:\Program Files (x86)\Steam\config\SteamAppData_backup.vdf"
copy "C:\Program Files (x86)\Steam\config\SteamAppData_%USERNAME%.vdf" "C:\Program Files (x86)\Steam\config\SteamAppData.vdf"
Open Task Scheduler (Control Panel -> System and Security -> Administrative Tools -> Task Scheduler).? You need administrative rights for that.
For each Steam account:
- Click Create Task (not Create Basic Task).
- When running this task, use the following user account: select Windows user that will use that Steam account.
- Open Triggers tab, click New, select trigger type At log on and select Windows user that will use the Steam account.
- Add another trigger with trigger type On connection to user session, select the same Windows user and Connection from the local computer.
- Open Actions tab, click New, select Start a program action and specify path to ChangeLoginPerUser.cmd file in Program/script.
That's all! Now it should change Steam user even if you switch users without logging off.
Answer 5
Many of the above solutions work great, but I believe I've found a way that incorporates a different version of the above that focuses on closing steam out for inactive users, and will work better than the other proposed solutions as it:
- Does not require you to save your password in a file
- Does not require you to copy/move the steam profile each time
- Does not require multiple installs of Steam
- Works when two users are logged on at the same time (the "move" solution can still confuse Cloud Sync)
- NOTE: This does not work to keep users out of your account. It's an alternate solution that makes it easy for multiple users to access their accounts and games
Here's how:
Step 1: Create the shutdown shortcut
Create a file called "CloseSteam.cmd" in a directory of your choosing with the following contents:
@echo on
"C:\Program Files (x86)\Steam\Steam.exe" -shutdown
Step 2: Force Steam to start in Big Screen mode
Doing this next step will force Steam to start in Big Screen mode. This will bring up the user switcher by default automatically on start. As long as you've logged in before and saved password, no user will need to enter their password again. To do this:
- Hit the start menu and find your Steam shortcut
- Right click on the shortcut and go to properties
- In Windows 8, you must right click, open file location, then right click, and go to properties
- Change "C:\Program Files (x86)\Steam\Steam.exe" to "C:\Program Files (x86)\Steam\Steam.exe" -bigpicture (Pay attention to the location of the quotes)
- Save
Step 3: Create tasks to kill Steam at session exit
This will close steam whenever you either log off or switch out of your user to another user.
Open Task Scheduler as administrator (Control Panel -> System and Security -> Administrative Tools -> Task Scheduler)
For each user account who may start steam
- Click Action then Create Task (not Create Basic Task).
- When running this task, use the following user account: select Windows user that will use that Steam account.
- Open Triggers tab, click New, select trigger type On disconnect from user session and select Windows user that will use the Steam account.
- Open Actions tab, click New, select Start a program action and specify path to CloseSteam.cmd file in Program/script.
Answer 6
You can uninstall all of steam and reinstall it in a folder separate then the other users profile and that works
Sources: Stack Exchange - This article follows the attribution requirements of Stack Exchange and is licensed under CC BY-SA 3.0.
Images: Karolina Grabowska, Monstera, Gustavo Fring, Anna Nekrashevich