Bob's Notes on optimizing Windows 2000 Pro as a file server

Windows 2000 has some brain-dead features that need to be turned off to make it more "Win98ish", and run fast.  Here are the registry mods that are necessary, and also some helpful hints that should get your peer network up and running:

1. Disable auto-disconnect.  Windows is set to automatically disconnect a share if not used within 15 minutes.  Use this registry mod, or change the following key:


Change autodisconnect to "9999" (hex or decimal, this number is the number in minutes it will hang on to the connection, so this should be plenty long.)  This should be done on all workstations, also.

2. Remove the check for scheduled tasks.  Windows checks the other side to see if the task scheduler is running.  I have no idea how or why this should relate to file sharing.  To eliminate this behavior, go to

and delete the key named {D6277990-4C6A-11CF-8D87-00AA0060F5BF}.  This also should be done to all the clients.

3. Configure one machine (hopefully your peer server) as the master browser.  Edit:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters and set the IsDomainMaster to True.  Also, set MaintainServerList to True.

4. Disable the other Windows clients from trying to be a master browser.  This probably isn't going to be necessary if your Win2k machine is set to be the domain master (in step 3), but if you do start having browser wars (evidenced by a lack of computers showing up in Network Neignborhood), follow this procedure:

    For Win2k machines, in the same parameter of the registry listed in step 3, change the MaintainServerList to False.  Note that this is set to Auto by default, which means it will go out looking for a master browser, and if it finds none, becomes one.  It is a good idea to let one computer on your network remain in this "Auto" setting.

    For Win9x machines, follow this procedure:

1. On the machine open Control Panel (Right click on Network Neighborhood and select properties)
2. Click the Configuration tab
3. Check the list of installed network components for "File and Printer sharing for Microsoft Networks". If this is here go to step v.
4. If this is not installed click the Add button, select Service and click Add. Select Microsoft and select "File and Printer Sharing for Microsoft Networks" and click OK. Click OK to the configuration tab and when asked reboot the machine.
5. Select "File and Printer Sharing for Microsoft Networks" and click Properties.
6. In the property box click Browse Master and select Disabled in the Value box.
7. Click OK.

5. Add the Netbeui protocol if you don't have IP addresses assigned to each box.  This is only necessary if you have a network that is not using a LAN connection to the internet (and thus, a DHCP server).  While windows 98 and above is supposed to assign IP addresses within the same subnet when no DHCP server exists, best to use this IP-less connection protocol.  Besides, it works with default Win95 machines!

These steps should yield a network that runs reasonably fast.  Also, don't forget to check that you have UDMA enabled on your hard drives.  This is done by checking the "Extra settings" in the IDE Bus area of the device manager in Win2k.

If you are trying to connect to a machine on another subnet, or a machine that is filtered (by a firewall perhaps) from broadcast traffic, you may never see it show up in Network Neighborhood.  You can force this by creating / editing a LMHOSTS file, which then needs to be propagated to every machine on the network.  

This file will be c:\windows\lmhosts for Win9x machines, and c:\winnt\system32\drivers\etc\lmhosts for Win2k machines.

Here's an example setup: 3 machines with fixed IP addresses, with the workgroup "net":

    Machine 1:  Name: Bob (configured to be the master browser)
    Machine 2:  Name: Scott
    Machine 3:  Name: Phil

The LMHOSTS file will look like this: BOB #PRE #Bob's Machine SCOTT #PRE #Scott's Machine PHIL #PRE #Phil's Machine BOB #PRE #DOM:NET "NET            \0x1b" #PRE

Note that the last line has spaces in it.  There MUST be 15 characters between the first quote and the \0x1b, so in this example, there are 12 spaces to pad out the workgroup name.