Desconectar / desconectar do compartilhamento de rede do Windows sem reiniciar o serviço Estação de Trabalho


14

Eu tenho um servidor de arquivos em execução (SMB) ao qual me conectei no Explorer (Windows 7 Professional) visitando \\ 1.2.3.4 diretamente. Entrei como um usuário, sem salvar credenciais, e agora quero sair (na verdade, quero mudar para um usuário diferente, mas ser capaz de sair em geral seria útil).

Pesquisei maneiras de fazer isso e encontrei várias informações que sugerem o uso de alguma forma de net use \\1.2.3.4 /del:

No entanto, nenhum deles parecia funcionar para mim. Eu corro net use * /dele depois uso net usepara verificar se a lista está vazia e, no entanto, o compartilhamento permanece misteriosamente no explorer, inalterado, acessível e ainda usando o login anterior.

Outra coisa que tentei, que também falhou, foi fazer, por exemplo, net use \\1.2.3.4 /user:newusernametrocar as credenciais. No entanto, mesmo quando net usemostrava uma lista de conexões vazia , isso ainda produzia um erro informando que várias conexões com o mesmo recurso com usuários diferentes não eram permitidas - por que houve conexões que não apareceram na net uselista é um mistério para mim.

Encontrei este artigo Como sair da pasta compartilhada (microsoft.com), que recomenda:

  1. net use * /del (ou qualquer servidor).
  2. Limpar credenciais do Credential Manager.
  3. Reinicie o serviço Estação de Trabalho.

Este procedimento funcionou para mim. Não havia nada de interessante no Credential Manager, pois eu não salvei credenciais; no entanto, reiniciar o serviço Estação de Trabalho depois de limpar as conexões com netera a chave (eu precisava fechar todas as janelas do explorer para reiniciar o serviço).

Minha pergunta é: isso não é muito conveniente, especialmente quando eu tenho que explicar isso para usuários com menos conhecimento de tecnologia. Embora eu possa certamente criar, por exemplo, um script em lote para automatizar tudo, existe uma maneira real, adequada e consistente de fazer isso que não envolva reiniciar os serviços (e possivelmente não envolva a linha de comando, embora eu pessoalmente não mente)?

Além disso, uma sub-pergunta: É estranho para mim que a grande maioria dos recursos que encontrei sobre esse assunto não tenha sugerido reiniciar a Estação de Trabalho, e o processo sugerido de uso net usesozinho pareceu funcionar pelo menos para as outras pessoas que postaram comentários em essas postagens. A reinicialização da estação de trabalho é exclusiva para mim e indica algum outro problema na minha máquina ou foi deixada de fora de todas as instruções por algum motivo? Somente a postagem de suporte do microsoft.com tinha instruções que recomendavam essa etapa, que foi o que finalmente a fez funcionar para mim.

Desconectar-se de um compartilhamento parece ser um caso de uso comum o suficiente para justificar uma maneira simples de fazê-lo, por isso estou desconcertado com o quão difícil foi para mim descobrir isso.


Outras coisas que tentei sem efeito:

  • Fechando todas as janelas do Explorer antes e depois de usar os net usecomandos (como sugerido na resposta de Kody Browns ), além de futzing com as configurações de "processo separado por janela de pasta", esperando que fosse algum tipo de cache de credenciais por processo (também inspirado nessa resposta) .
  • Alterando as configurações de gerenciamento de conexão de grupo doméstico (sugeridas pela resposta de holmzi_online na postagem acima do microsoft.com).
  • Matar todos os processos do explorer (incluindo o principal) e reiniciar o explorer depois net use * /del(sugerido por Robert Greer aqui , embora esse problema tenha ocorrido com as unidades mapeadas).


1
@sttr Obrigado, mas não tenho certeza de ver a conexão entre este e aquele artigo. Você pode dar uma dica?
Jason C

Sugira que, no modo ABE, cada usuário veja apenas as pastas e arquivos aos quais tem direito. Caso contrário, o usuário deve ser auto-suficiente para acessar os recursos e sem a necessidade de digitar uma senha. Se o "servidor" for o Windows 7, procure slickit.ca/2009/07/webdav-on-windows-7.html
STTR

1
@STTR Obrigado. Como ocultar pastas de usuários não autorizados ou configurar um servidor WebDAV ajuda a desconectar-se de um compartilhamento SMB acessado digitando \\ endereço?
Jason C

1
@STTR A pergunta é, como o título indica, como sair de uma pasta compartilhada (SMB, que é o que o Windows usa para "pastas compartilhadas") sem reiniciar o serviço Estação de Trabalho (consulte também "Entrei como um usuário, sem salvar credenciais e agora deseja sair " ). Não estou adicionando WebDAV aos meus servidores, nem posso adicionar serviços WebDAV a servidores sobre os quais não tenho controle, nem tenho certeza de como isso resolve o problema de fazer logoff de maneira conveniente. Você sabe como sair de uma pasta compartilhada?
Jason C

Respostas:


1

2) Você não está sozinho nesta edição. A maioria das pessoas provavelmente nunca o experimenta porque possui apenas um usuário e / ou vários usuários, mas todos com a mesma senha. Eu pareço experimentar isso o tempo todo. Suponho que seja porque tenho o mesmo nome de usuário em vários computadores, mas com senhas diferentes .. (não estou em um domínio; o laptop é o Windows 8.1 com servidores baseados em Windows e Linux ..)

(da memória) Se eu abrir o compartilhamento raiz de um computador, como \ raspi, antes de acessar um compartilhamento bloqueado como \ raspi \ private, terei esse problema. Parece que uma conexão é feita usando o compartilhamento público / aberto primeiro e depois é armazenada.

Quanto a 1), só preciso fechar as janelas do Explorer e (às vezes, prompts de comando) que acessaram esse compartilhamento. Eu nunca tive que reiniciar o serviço da estação de trabalho.

Mas pode funcionar para mim, porque eu sempre digo ao Windows para "iniciar janelas de pastas em um processo separado" ..

Apenas um pensamento..


Obrigado!! Eu estava realmente esperando que sua sugestão de fechar as janelas do explorer fosse a correção simples (também tenho processos separados por janelas de pasta), talvez algumas credenciais em cache por processo. Infelizmente, isso não deu certo, nem desabilitou processos separados por janela. Também não vi nenhuma alteração no comportamento se tentasse acessar o \\ 1.2.3.4 \ Share primeiro em vez da raiz (também não há diferença no acesso pelo nome do host em vez do IP). Também não estou em um domínio e usando servidores baseados em Windows e Linux. Algo está salvando credenciais ou conexões, mas não sei o quê.
Jason C

Outro ponto de dados: independentemente das configurações de processo por pasta, matar todos os processos do explorer (incluindo o principal) e reiniciar o explorer também não teve efeito, o que me surpreendeu.
Jason C #

Estou prestes a brincar um pouco com meu ambiente para testar mais isso, e pensei: suas janelas (explorer, prompt de comando etc.) estão todas elevadas ou não, certo? Eu tenho sido frustrados muitas vezes quando eu não percebeu ou esqueceu um de meus aplicativos foi elevada .. Ele faz algumas coisas estranhas para compartilhamentos de rede ...
Kody Brown

A conta que tenho usado é um administrador e tudo está elevado. Criei uma nova conta de não administrador e testei a partir daí, o comportamento não foi alterado.
Jason C

1

Eu consegui fazer o seguinte:

  1. Corre net use * /delete
  2. Limpe as credenciais (por exemplo, a minha é 172.26.190.129 e a data de criação é hoje, apenas isso)
  3. Desabilitar "conexão local" (Painel de Controle \ Rede e Internet \ Conexão à Internet \ Conexão Local)
  4. Espere um momento (não sei por que, mas acho que pode quebrar alguns links do meu Win7 para o Ubuntu e limpar o cache)
  5. Ative "conexão local" e funcionou ..

2
O que você quer dizer com "Limpar as credenciais" e como você faz isso?
Calimo

"Limpar as credenciais" não é totalmente claro aqui.
Jonathan Wood

0

Isso pode ser um tiro no escuro, mas você esperou o tempo suficiente após o uso net use * /d? Até onde eu sei, mesmo depois de excluir o compartilhamento, o Windows mantém a sessão aberta se houver identificadores abertos (janela do Explorer etc.). E mesmo depois de fechar essas alças, há um período de tempo limite durante o qual ele reconectará o compartilhamento. O padrão parece ser de 10 a 15 minutos. Você pode encurtar isso no registro.

Consulte https://blogs.msdn.microsoft.com/oldnewthing/20110223-00/?p=11413

No entanto, parece que "KeepConn" não é mais usado nas versões mais recentes do Windows. Consulte "Temporizador de conexão ociosa" nesta página: http://blogs.msdn.com/b/openspecification/archive/2013/03/19/cifs-and-smb-timeouts-in-windows.aspx


0

Iniciar -> Painel de Controle -> Contas de Usuário e Segurança Familiar -> Contas de Usuário -> Gerenciar suas credenciais.

Expanda uma das suas "Credenciais do Windows" e clique em "Remover do Vault".

Iniciar -> Painel de Controle

Painel de Controle -> Contas de Usuário e Segurança Familiar

Contas de Usuário e Segurança Familiar -> Contas de Usuário

Contas de usuário -> Gerenciar suas credenciais

Sair

sim


-1
net use * /del
net stop Workstation /Y
cmdkey /delete:<resourcename>
net start Workstation
net start browser

Caminho 2: use vários nomes NetBIOS em um computador:

reg add "HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters" /v OptionalNames /t REG_MULTI_SZ /d "NetBIOSName01\0 NetBIOSName02\0 NetBIOSName03\0"

Em seguida, você pode conectar os recursos de diferentes usuários usando nomes diferentes de NetBIOS.

net use L: \\NetBIOSName01 /user:<username01> <password01> /P:Yes
net use M: \\NetBIOSName02 /user:<username02> <password02> /P:Yes
net use N: \\NetBIOSName03 /user:<username03> <password03> /P:Yes

Edite %windir%\system32\drivers\etc\lmhostse adicione

<Server IP>  NetBIOSName01            #PRE
<Server IP>  NetBIOSName02            #PRE
<Server IP>  NetBIOSName03            #PRE
<Server IP>  <OriginalNetBIOSname>            #PRE

em todas as estações de trabalho da rede

Todos os usuários se conectarão aos seus recursos.


Conforme o título da pergunta, isso não responde à pergunta.
Daniel B

Obrigado, mas isso reinicia o serviço Estação de Trabalho. Mencionei isso na pergunta, mas já sei que posso automatizar a reinicialização com um script. Na verdade, publiquei aproximadamente o mesmo conjunto de comandos em superuser.com/a/883606/245945 . O que estou procurando é detalhado onde escrevi "pergunta" e "sub-pergunta" em negrito no meu post.
Jason C

@JasonC A causa original de todas essas ações Erro do sistema 1219?
STTR

@STTR A causa original é o desejo de sair sem reiniciar os serviços. Os resultados das minhas tentativas estão descritos no meu post.
Jason C

@STTR Obrigado. A atualização é interessante e agradeço seu tempo, mas não estou claro sobre a conexão. Não estou tentando mapear unidades ou fazer login com vários usuários ao mesmo tempo. Estou simplesmente tentando sair de um compartilhamento acessado originalmente, indo diretamente para o endereço \\. Nem sempre é necessário trocar de usuário. Talvez eu esteja apenas me afastando do computador e não queira deixar o compartilhamento conectado. Como o login como vários usuários em várias unidades compartilhadas ajuda a sair de uma pasta compartilhada sem reiniciar os serviços?
Jason C #
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.