After much reading and experimentation I have worked out the answer to this.

You log into a PC on your network (lets call that the client) as ?Fred?, for example. Then you look to see what shared directories are on another PC on the same network (lets call that the server). The directories you see depend on the permissions set for the account ?Guest? on the server. The server does not ask you who you are, it just assumes you are ?Guest?. It does this even if the account ?Guest? is disabled on the server!

This example assumes you are running Windows XP on the server and you do not have a domain, just a simple home network. The problem with this is you might want to give some people on your network access to a shared directory and others not, but everyone from client PC?s is treated as ?Guest?.

The answer is to enable ?Guest? on the server, then set a password, then disabled it (you could leave it enabled, but there are security problems with doing that). Then the next time to try to access a shared directory on the server, you will be asked for a username and password, you can use Guest or any other username set up on the server. It stops assuming you are Guest and starts asking.

One thing that caught me out when I was testing this: you need to reboot the client after making the changes on the server. Otherwise the two machines remain connected and you will still be ?Guest?.

I hope that helps others going down this route.