Desconectar / cerrar sesión del recurso compartido de red de Windows sin reiniciar el servicio de estación de trabajo

14

Tengo un servidor de archivos en ejecución (SMB) al que me conecté en Explorer (Windows 7 Professional) visitando \\ 1.2.3.4 directamente. Me conecté como un usuario, sin guardar las credenciales, y ahora deseo cerrar sesión (en realidad quiero cambiar a un usuario diferente, pero poder cerrar sesión en general sería útil).

He buscado formas de hacer esto y encontré un montón de información que sugiere usar alguna forma de net use \\1.2.3.4 /del:

Sin embargo, ninguno de estos realmente parecía funcionar para mí. Ejecuto net use * /del, luego uso net usepara verificar que la lista está vacía, y sin embargo, el recurso compartido permanece misteriosamente en el explorador, no se ve afectado, es accesible y aún usa el inicio de sesión anterior.

Otra cosa que intenté, que también falló, fue hacer, por ejemplo, net use \\1.2.3.4 /user:newusernamecambiar las credenciales. Sin embargo, incluso cuando se net usemostró una lista de conexiones vacía , esto todavía produjo un error que indicaba que no se permitían múltiples conexiones al mismo recurso con diferentes usuarios; por qué había conexiones que no aparecían en net usela lista es un misterio para mí.

Luego encontré este artículo Cómo cerrar sesión desde una carpeta compartida (microsoft.com), que recomienda:

  1. net use * /del (o cualquier servidor).
  2. Borrar credenciales del Administrador de credenciales.
  3. Reinicie el servicio de estación de trabajo.

Este procedimiento funcionó para mí. No había nada de interés en el Administrador de credenciales, ya que no guardé las credenciales, sin embargo, reiniciar el servicio de estación de trabajo después de borrar las conexiones netfue la clave (tuve que cerrar todas las ventanas del explorador para que el servicio se reiniciara).

Mi pregunta es: esto no es muy conveniente en absoluto, especialmente cuando tengo que explicárselo a los usuarios menos expertos en tecnología. Si bien podría crear, por ejemplo, un script por lotes para automatizar todo, ¿existe una forma real, adecuada y coherente de hacer esto que no implique reiniciar los servicios (y posiblemente no implique la línea de comandos, aunque personalmente no lo hago) t mente)?

Además, una subpregunta: es extraño para mí que la gran mayoría de los recursos que encontré sobre este tema no sugirieron reiniciar Workstation, y el proceso sugerido de usar net usesolo parecía funcionar al menos para las otras personas que publicaron comentarios sobre esas publicaciones ¿El reinicio de la estación de trabajo es exclusivo para mí e indica algún otro problema en mi máquina, o simplemente se omitió de todas las instrucciones por alguna razón? Solo la publicación de soporte de microsoft.com tenía instrucciones que recomendaban este paso, que es lo que finalmente lo hizo funcionar para mí.

Cerrar la sesión de un recurso compartido parece ser un caso de uso lo suficientemente común como para justificar una forma simple de hacerlo, por lo que estoy desconcertado por lo difícil que fue para mí resolver esto.


Otras cosas que he probado sin efecto:

  • Cerrar todas las ventanas del Explorador antes y después de usar los net usecomandos (como se sugiere en la respuesta de Kody Browns ), así como continuar con la configuración de "proceso separado por ventana de carpeta" con la esperanza de que sea algún tipo de almacenamiento en caché de credenciales por proceso (también inspirado en esa respuesta) .
  • Cambiar la configuración de administración de la conexión del grupo en el hogar (sugerido por la respuesta de holmzi_online en la publicación anterior de microsoft.com).
  • Matar todos los procesos del explorador (incluido el principal) y reiniciar el explorador después net use * /del(sugerido por Robert Greer aquí , aunque ese problema fue con las unidades mapeadas).
Jason C
fuente
1
@sttr Gracias, pero no estoy seguro de ver la conexión entre este y aquel artículo. ¿Puedes dar una pista?
Jason C
Indique que en el modo ABE, cada usuario solo ve las carpetas y los archivos que tiene derecho. De lo contrario, el usuario debe ser autosuficiente para acceder a los recursos y sin la necesidad de ingresar una contraseña. Si el "servidor" es Windows 7, busque slickit.ca/2009/07/webdav-on-windows-7.html
STTR
1
@STTR Gracias. ¿Cómo ocultar carpetas de usuarios no autorizados o configurar un servidor WebDAV ayuda a cerrar sesión en un recurso compartido SMB al que se accede escribiendo \\ dirección?
Jason C
1
@STTR La pregunta es, como su título lo indica, cómo cerrar sesión desde una carpeta compartida (SMB, que es lo que Windows usa para "carpetas compartidas") sin reiniciar el servicio de estación de trabajo (ver también, "Ingresé como un usuario, sin guardar credenciales y ahora desea cerrar sesión " ). No estoy agregando WebDAV a mis servidores, ni puedo agregar servicios WebDAV a servidores sobre los que no tengo control, ni tengo claro cómo eso resuelve el problema de cerrar sesión convenientemente. ¿Sabes cómo cerrar sesión en una carpeta compartida?
Jason C

Respuestas:

1

2) No estás solo en este tema. La mayoría de las personas probablemente nunca lo experimenten porque solo tienen un usuario y / o múltiples usuarios, pero todos con la misma contraseña. Parece que lo experimento todo el tiempo. Supongo que es porque tengo el mismo nombre de usuario en varias computadoras pero con diferentes contraseñas ... (No estoy en un dominio; la computadora portátil es Windows 8.1 con Windows y servidores basados ​​en Linux ...)

(desde la memoria) Si abro el recurso compartido raíz de una computadora, como \ raspi, antes de acceder a un recurso compartido bloqueado como \ raspi \ private tendré ese problema. Parece que primero se establece una conexión utilizando el recurso compartido público / abierto y luego se almacena.

En cuanto a 1), solo necesito cerrar las ventanas del Explorador y (a veces mensajes de comando) que han accedido a ese recurso compartido. Nunca he tenido que reiniciar el servicio de la estación de trabajo.

Pero puede funcionar para mí porque siempre le digo a Windows que "inicie las ventanas de carpetas en un proceso separado".

Solo un pensamiento..

Kody Brown
fuente
¡¡Gracias!! Realmente esperaba que su sugerencia de cerrar las ventanas del explorador fuera la solución simple (también tengo procesos separados por ventanas de carpeta), tal vez algunas credenciales en caché por proceso. Desafortunadamente, eso no funcionó, ni deshabilitó procesos separados por ventana. Tampoco vi ningún cambio en el comportamiento si intenté acceder a \\ 1.2.3.4 \ Share primero en lugar de la raíz (tampoco hay diferencia en el acceso por nombre de host en lugar de IP). Tampoco estoy en un dominio y uso servidores basados ​​en Windows y Linux. Algo está guardando credenciales o conexiones, pero no sé qué.
Jason C
Otro punto de datos: independientemente de la configuración del proceso por carpeta, eliminar todos los procesos del explorador (incluido el principal) y reiniciar el explorador tampoco tuvo ningún efecto, lo que me sorprendió.
Jason C
Estoy a punto de jugar un poco con mi entorno para probar esto más, y pensé ... sus ventanas (explorador, símbolo del sistema, etc.) están todas Elevadas o no, ¿verdad? Me he sentido frustrado muchas veces cuando no me di cuenta u olvidé que una de mis aplicaciones estaba elevada. Hace algunas cosas extrañas para compartir en red ...
Kody Brown
La cuenta que he estado usando es un administrador y todo está elevado. Creé una nueva cuenta no administrativa y probé desde allí, el comportamiento no ha cambiado.
Jason C
1

Lo hice funcionar haciendo lo siguiente:

  1. correr net use * /delete
  2. Borre las credenciales (por ejemplo, la mía es 172.26.190.129, y la fecha de creación es hoy, solo eso)
  3. Deshabilite "conexión local" (Panel de control \ Redes e Internet \ Conexión de red \ Conexión local)
  4. Espere un momento (no sé por qué, pero creo que puede romper algunos enlaces de mi Win7 a Ubuntu y puede borrar algo de caché)
  5. Habilita la "conexión local" y funcionó.
Seiya Cai
fuente
2
¿Qué quiere decir con "Borrar las credenciales" y cómo lo hace?
Calimo
"Borrar las credenciales" no está del todo claro aquí.
Jonathan Wood
0

Esto podría ser una posibilidad remota, pero ¿esperó lo suficiente después de usarlo net use * /d? Hasta donde sé, incluso después de eliminar el recurso compartido, Windows mantiene la sesión abierta si hay identificadores abiertos (ventana del Explorador, etc.). E incluso después de cerrar esos identificadores, hay un período de tiempo de espera durante el cual volverá a conectar la parte. El valor predeterminado parece ser de 10 a 15 minutos. Puede acortar esto en el registro.

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

Sin embargo, parece que "KeepConn" ya no se usa en versiones más recientes de Windows. Consulte "Temporizador de conexión inactiva" en esta página: http://blogs.msdn.com/b/openspecification/archive/2013/03/19/cifs-and-smb-timeouts-in-windows.aspx

Stimm
fuente
0

Inicio -> Panel de control -> Cuentas de usuario y seguridad familiar -> Cuentas de usuario -> Administre sus credenciales.

Expanda una de sus "Credenciales de Windows" y luego haga clic en "Eliminar de la bóveda".

Inicio -> Panel de control

Panel de control -> Cuentas de usuario y seguridad familiar

Cuentas de usuario y seguridad familiar -> Cuentas de usuario

Cuentas de usuario -> Administre sus credenciales

Cerrar sesión

si

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

Forma 2: use múltiples nombres NetBIOS para una computadora:

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

Luego puede conectar los recursos de diferentes usuarios utilizando diferentes nombres 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

Editar %windir%\system32\drivers\etc\lmhostsy agregar

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

en todas las estaciones de trabajo de red

Todos los usuarios se conectarán a sus recursos.

STTR
fuente
Según el título de la pregunta, esto no responde la pregunta.
Daniel B
Gracias, pero esto reinicia el servicio de estación de trabajo. Mencioné esto en la pregunta, pero ya sé que puedo automatizar el reinicio con un script. En realidad, publiqué aproximadamente el mismo conjunto de comandos en superuser.com/a/883606/245945 . Lo que realmente estoy buscando se detalla donde escribí "pregunta" y "subpregunta" en negrita en mi publicación.
Jason C
@JasonC La causa original de todas estas acciones ¿Error del sistema 1219?
STTR
@STTR La causa original es el deseo de cerrar sesión sin reiniciar los servicios. Los resultados de mis intentos se describen en mi publicación.
Jason C
@STTR Gracias. La actualización es interesante y agradezco su tiempo, pero no estoy claro acerca de la conexión. No estoy tratando de asignar unidades o iniciar sesión con varios usuarios al mismo tiempo. Simplemente estoy tratando de cerrar sesión en un recurso compartido al que se accede originalmente yendo directamente a \\ dirección. Ni siquiera tiene que ser necesariamente para cambiar de usuario. Tal vez me estoy alejando de la computadora y no quiero dejar el recurso compartido conectado. ¿Cómo ayudará el inicio de sesión cuando varios usuarios en múltiples unidades compartidas salgan de una carpeta compartida sin reiniciar los servicios?
Jason C