If your environment dictates a different profile for roaming users, based upon the location they log on from, as in multiple student labs, try the following approach:

Assumptions

- Each client computer has a fixed location.

- The client computer contains the proper initial default profile for new users.

Server configuration changes

- Create folders for the roaming profiles on the server using a path similar to:

      \\<Server Name>\<Location Name>\<UserName>

    When the user logs on, they will receive a location environment variable based upon the client PC.

- Share each location folder as hidden share <Location Name$>.

- Set the user's Profile Path to \\<Server Name>\%location%$\%UserName%

NOTE: You must create a folder for each possible %location% that the user can use.

NOTE: You can use the net user <User Name> /profilepath:\\<Server Name>\^%location^%$\^%UserName^% /domain command. The ^ prevents the environment variable from being immediately interpreted.

NOTE: Set NTFS permissions according to your normal security policy.

Client computer configuration changes

- Use the freeware REG to set the location system environent variable by issuing the following command from your computer:

      <path>\REG -Set "\\ClientComputerName\Machine\System\currentControlSet\Control\Session Manager\Environment\location"=<Location Name>

- Shutdown and restart the client computer by using Shutdown.exe from your computer.

NOTE: You can create a batch file and run the commands when no one is logged on.

This procedure works because the %location% and %UserName% environment variables in the Profile Path are NOT interpreted until the user logs on.

When a new user logs on, they receive their initial profile from the local PC. When they log off, their profile is written to the server at \\<Server Name>\<Location Name>\<UserName>.

When an existing user logs on, the System environment variable %location% and the %userName% variable are expaned, causing the user profile to be download from the server.