This article was previously published under Q168918
This article has been archived. It is offered "as is" and will no longer be updated.
Windows NT does not currently support the ability to map a drive letter ona client to a directory on a server, unless the directory is shared. Thisfunction, known in other network implementations as MAP ROOT, is desirablefor connecting users directly to their home directories on the server.
An alternative for this is to individually share each user's homedirectory. This can be a labor-intensive process, especially for existinginstallations with large numbers of users. However, this process can beautomated.
This workaround will work on all Windows clients, including the MicrosoftClient Version 3.0 for MS-DOS, Windows for Workgroups, Windows 95 andWindows NT Workstation versions 3.51 and 4.0.
The following command, which can be used in a batch file, willautomatically share out each user's home directory with permissions forthat user only, if the directory currently exists and has the same name asthe user. The ability to create a share requires Administrative Rights.
FOR %%X IN (list of users) DO RMTSHARE \\SERVER\%%X=C:\USERS\%%X /GRANT %%X:F
NOTE: Because RMTSHARE is a resource kit utility, this batch file requiresthe Windows NT Server Resource Kit to be installed on the computer on whichit is run.
Each share will be created with the user's name and the Full Controlpermission will be granted to the user for that share. Memory resourcesare used for each share on a server. Therefore, it is advisable to load-balance by dividing the home directories evenly among several servers.
Use the following procedure to obtain a list of all user home directories:
Open an MS-DOS command prompt on the computer where the user home directories reside.
Change to the root user directory (that is, C:\Users)
Get a directory listing and pipe it to a text file using the following command:
DIR *. /W >> C:\Temp\Userdirs.txt
Use a word processor to remove extraneous text (date, and so forth) and separate each name by only one space.
NOTE: The maximum number of characters on a command line is 255. Therefore, you will not be able to put more than 20 to 30 user names on each line. Repeat the command several times for each block of users.
Modify each line to look like the example line above. The finished file will look something like this:
NOTE: Each two-line pair should be on one line.
FOR %%X IN (USER1 USER2 USER3) DO RMTSHARE \\SERVER\%%X C:\USERS\%%X/GRANT %%X:F
FOR %%X IN (USER4 USER5 USER6) DO RMTSHARE \\SERVER\%%X C:\USERS\%%X/GRANT %%X:F
FOR %%X IN (USER7 USER8 USER9) DO RMTSHARE \\SERVER\%%X C:\USERS\%%X/GRANT %%X:F
Save the file as a batch file and carry it out from the MS-DOS command prompt.