Às vezes, durante a mesma sessão do Windows (Vista), tenho que me conectar ao mesmo servidor de arquivos (samba) em um grupo de trabalho (sem domínio) que outro usuário. Parece que o Windows armazenou em cache a conexão atual com as informações do usuário. Para forçar uma nova autenticação, eu executo um script em lote:
@echo off
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
net use * /delete /y
Mas isso às vezes funciona e às vezes não, e me força a fechar a sessão do Windows.
Existe uma maneira de desconectar completamente dos compartilhamentos reais para fazer login como um novo usuário.
Atualizar
Não tenho nenhum programa aberto, nenhuma letra de unidade conectada e "net use" vazio, mas ainda o compartilhamento IPC $ aberto no servidor samba (smbstatus).
Agora adicionando
net use \\server\IPC$
e de novo
net use * /delete /y
E "net use" reclama de arquivos abertos ou pesquisas em pastas com \ server \ IPC $ (mensagem em espanhol).
Eu acho que o Vista ainda está mantendo o compartilhamento para pesquisa e indexação.
Atualização 2
Acho que entendi isso agora: parei o serviço "Windows Search" e depois de executar o lote, as credenciais são novamente solicitadas.
fonte
Respostas:
Clicar com o botão direito do mouse na unidade em Meu computador e dizer desconectar é a maneira mais confiável que eu encontrei. Os problemas geralmente surgem quando você tem um arquivo em um dos compartilhamentos abertos por algum processo.
No entanto, em vez de desconectar quando você precisa acessar os compartilhamentos como outro usuário, por que não adiciona um alias de netbios ao samba para poder usar os compartilhamentos com 2 usuários diferentes simultaneamente?
Por exemplo, se o seu servidor foi nomeado "servername", você pode adicionar esta linha no /etc/samba/smb.conf:
Reinicie o samba e você poderá conectar-se ao \\ altservername \ share com um novo usuário e o Windows não se importará. A conexão com o endereço IP provavelmente também funcionaria, mas isso sempre me pareceu mais fácil.
fonte
Você pode parar o serviço "Estação de trabalho". Ele lida com todos os compartilhamentos SMB, portanto, a reinicialização liberará essas conexões.
services.msc
e pressione Enter).fonte