Encuentra usuarios conectados a un recurso compartido de red

18

En mi servidor de Windows 2008 tengo un recurso compartido de red. Estoy conectado al servidor con todos los derechos de administrador. Me gustaría saber qué usuarios tienen conexiones activas con ese recurso compartido.

¿Cómo encuentro esa información?

Mark Arnott
fuente

Respuestas:

24

Hay dos maneras de hacer esto que sé si. Uno no es confiable, pero probablemente sea lo suficientemente bueno para la mayoría de los escenarios. Uno es extenso, pero difícil de implementar a cualquier escala que exceda un puñado de conexiones de usuario.

La forma de ordenar un poco: seleccione Herramientas del sistema >> Carpetas compartidas >> Abrir archivos para ver qué archivos están abiertos en el servidor de archivos. Desde allí, puede correlacionar las cuentas de usuario que tienen archivos abiertos con los recursos compartidos a los que están conectados.

Sin embargo, eso puede ser insuficiente. No me creas Vaya a Administración de equipos y seleccione Herramientas del sistema >> Carpetas compartidas >> Sesiones para ver quién está conectado. Luego mira la # open filescolumna. Algunas sesiones deben tener 0 archivos abiertos. ¿Cómo sabes a qué parte están técnicamente conectados? Me alegra que hayas preguntado ...

La forma extensa pero difícil de escalar: Realice net share [sharename]en cada recurso compartido en cuestión para obtener una lista de los usuarios que están conectados a él. En mis pruebas, incluso los usuarios que no tienen un archivo abierto se enumeran.

También puede utilizar la herramienta administrativa Administrador de almacenamiento y uso compartido en Server 2008 y versiones posteriores en lugar de Administración de equipos. Busque el recurso compartido en la lista de recursos compartidos y luego, en el panel de acciones a la derecha, haga clic en "Administrar sesiones". Verá una lista de sesiones, incluidas las que tienen cero archivos abiertos.

Pero ... pero ... ¡quiero encontrar un usuario específico sin consultar cada recurso compartido! Si tiene un usuario específico que desea rastrear, parece que su único medio para encontrar esa información es consultar cada recurso compartido y mirarlo para encontrar el usuario que desea. Y por globo ocular me refiero a la salida de tubería a findstro select-string. Se podría extrapolar el flujo de trabajo a un script que enumera todos los recursos compartidos disponibles, consultas para usuarios conectados y busca la salida para el usuario en cuestión, pero eso parece ser un ejercicio para el lector y no algo que Microsoft haya incluido como característica nativa .

Wesley
fuente
La información proporcionada no es suficiente en sesiones o recursos compartidos. No muestra específicamente qué usuarios están conectados a qué compartir. A menudo veo múltiples conexiones a un recurso compartido de red, pero si un usuario no tiene un archivo abierto, entonces no puedo decir quién está conectado. Solo puedo decir que hay un cierto número de conexiones abiertas. No quién tiene la conexión abierta. Entonces Rick es simplemente correcto en este caso.
Veo la situación específica que podría existir, donde un usuario tiene una sesión abierta, pero no tiene un archivo abierto, por lo tanto, no está seguro de qué recurso específico tiene abierta una sesión fantasma. En ese escenario, no sé cómo vincular las sesiones de 0 archivos con el recurso compartido al que están conectadas.
Wesley
O, desde una línea de comando: NET SHARE <SHARENAME>
Simon Catlin
@SimonCatlin Acabo de probar esto en una máquina Server 2008. Tenía un usuario sin archivos abiertos pero figuraba como una sesión abierta. Tuve que consultar cada uno de los recursos compartidos en el servidor, net share sharenamepero finalmente encontré el recurso compartido al que estaba conectada la sesión. No sé si uno puede revertir la consulta y comenzar con el usuario que le interesa y luego rastrearlo hasta el recurso compartido con el que tienen conexión. Es posible que necesite un PowerShelling personalizado.
Wesley
4

Esta es una pregunta muy antigua, pero la respuesta aceptada omitió una de las mejores formas de encontrar la información. La GUI puede mostrar que hay "clientes conectados" pero no mostrar esas conexiones en "archivos abiertos". En ese caso, se requiere el uso de WMI para encontrar quién está conectado a un recurso compartido.

Aquí está el comando powershell para ver quién está conectado a un recurso compartido específico y salida de ejemplo:

Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}

Salida de ejemplo:

ShareName        UserName        ComputerName
---------        --------        ------------
SHARENAME        user1           10.0.0.20
SHARENAME        user2           10.0.0.30
SHARENAME        user3           10.0.0.40
Brady Witbeck
fuente
Felicitaciones locas Tenía dos recursos compartidos con diferentes nombres en la misma ruta local y esto fue lo único que me permitió limitar los usuarios y las PC usando uno de los dos recursos compartidos de los que quería deshacerme :)
gregg
0

No se accede a Computer Manager de la misma manera que en versiones anteriores. Obtendrá el "Administrador del servidor" cuando haga clic con el botón derecho en Equipo y seleccione "administrar". Entonces, en lugar de eso, simplemente escriba compmgmt.msc en el campo "buscar programas y archivos" debajo de inicio.

Invitado
fuente
-3

No creo que las respuestas proporcionadas realmente respondan la pregunta. Si está utilizando Windows Server 2008 (NO R2), y hace clic con el botón derecho en Equipo y selecciona Administrar, luego de confirmar el mensaje de UAC, se inicia el MMC del Administrador del servidor. En el Administrador del servidor se encuentran los siguientes elementos: Roles, Características, Diagnósticos, Configuración y Almacenamiento. Ninguno de esos cinco elementos parece tener conexiones para compartir nombres disponibles como opción, que es lo que la pregunta original estaba haciendo. La adición EDITAR a la respuesta fue más útil, mencionando el Administrador de almacenamiento y uso compartido, pero todavía no parece proporcionar la respuesta. Proporciona una lista completa de nombres y propiedades compartidos, pero las conexiones activas tampoco se muestran aquí. Con Windows Server 2003, solía haber una utilidad del sistema operativo que mostraba servidores, recursos compartidos y conexiones, pero aún no lo he encontrado en WS2008. Había una utilidad de terceros que solía usar llamada Hyena de Adkins Resource, que creo que todavía se comercializa, que hizo un excelente trabajo al mostrar todo tipo de información sobre prácticamente todos los aspectos de la condición de un servidor.

Rick Ferris
fuente
2
Estás simplemente equivocado. Acabo de encender una VM 2008 R2. Cuando abre Computer Management (compmgmt.msc)y todo lo que Wesley describe está allí, igual que en 2003, incluidos los archivos abiertos y las sesiones activas. Mira esta captura de pantalla si no me crees.
MDMarra
@ Rick Tienes razón, mi respuesta no fue completamente correcta. Dos años después, y por el estímulo de otro miembro que me llamó, volví a hacer mi respuesta para hacerlo bien. Gracias por mantenerme alerta. =)
Wesley