Sometimes during the same Windows (Vista) session i have to connect to the same (samba) file server in a workgroup (no domain) as another user. It seems Windows has cached the current connection with user info.
To force a new authentification i run a batch script:
@echo off
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
But this sometime works and sometimes doesn't and force me to close the Windows session.
Is there a way to completely disconnect from actual shares to login as a new user.
Update
I have no program open, no drive letter connected and "net use" empty but still the IPC$ share open on the samba server (smbstatus).
Now adding
net use \\server\IPC$
and again
net use * /delete /y
And "net use" complains about open files or searches in folders with \server\IPC$ (message in spanish).
I think Vista is still holding the share for searching and indexing.
Update 2
I think i get this now: i stopped "Windows Search" service and after running the batch i get asked again for credentials.
Best Answer
Right-clicking on the drive in My Computer and saying disconnect is the most reliable way that I've found. Problems usually arise when you have a file on one of the shares held open by some process.
However, rather than disconnect when you need to access the shares as another user why don't you add a netbios alias to samba so you can use the shares with 2 different users simultaneously?
For example, if your server was named "servername" you could add this line in /etc/samba/smb.conf:
Restart samba and you can then connect to \\altservername\share with a new user and windows won't care. Connecting to the IP address would probably work too but this has always seemed easier to me.