Windows – Disconnect from samba share

network-sharessambawindows

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:

netbios aliases = altservername

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.

Related Question