¿Cómo puedo saber quién ha iniciado sesión activamente (local o remotamente) en una PC con Windows 7?

14

Desde mi PC con Windows 7, quiero verificar quién está conectado "activamente" a otra PC con Windows 7 en mi red, no quién se conectó por última vez. ¿Cómo se puede hacer esto?

A lo largo del día, varias personas iniciarán sesión de forma remota en una computadora compartida, por lo general, cerrarán sesión cuando hayan terminado. Tenga en cuenta que estos usuarios tienen derechos de administrador tanto en su PC como en la que usan de forma remota. Si inicio sesión mientras otra persona inicia sesión activamente, tengo la opción de continuar y convertirme en el usuario "activo", colocando así la cuenta activa anterior en un estado desconectado. Sería bueno tener la capacidad de ver quién está conectado activamente antes de tomar esta decisión.

Busqué en la web y encontré varias soluciones que le permiten saber quién realizó la última conexión, lo que no se traduce en que sea el último usuario o el usuario "activo".

En una nota al margen, parece extraño en Windows 7 que la identificación actual y activa del usuario se muestre 'después de' hacer clic en 'Sí' para iniciar sesión sobre ellos. Cuando estábamos usando Windows XP, uno podía ver la identificación del usuario activo actual 'antes' de decidir continuar iniciando sesión.

Cualquier ayuda es apreciada.

pgodar
fuente

Respuestas:

11

Puede usar el comando de consulta de Terminal Services para esto.

query session /server:remote_computer_name_here

Tenga en cuenta que deberá configurar el siguiente valor de registro en la computadora remota:

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
Value Name: AllowRemoteRPC
Value: 1
Type: REG_DWORD

Puede poner el comando de consulta en un archivo por lotes, de modo que los usuarios puedan hacer doble clic para ver quién ha iniciado sesión en esa computadora.

Patrick Seymour
fuente
10

Puede usar la herramienta PSSogternOn de Windows Sysinternals .

Uso: psloggedon [-] [-l] [-x] [\\ computername | nombre de usuario]

- Muestra las opciones admitidas y las unidades de medida utilizadas para los valores de salida.

-l Muestra solo inicios de sesión locales en lugar de inicios de sesión locales y de recursos de red.

- x No mostrar los tiempos de inicio de sesión.

\\ computername Especifica el nombre de la computadora para la que se listará la información de inicio de sesión.

nombre de usuario Si especifica un nombre de usuario, PsLoggedOn busca en la red las computadoras en las que ese usuario ha iniciado sesión. Esto es útil si desea asegurarse de que un usuario en particular no haya iniciado sesión cuando esté a punto de cambiar su configuración de perfil de usuario.

Josh
fuente
Vale la pena señalar que PSLoggedOn requiere Remote Registry Serviceque se ejecute en la computadora de destino. Este servicio no se inicia de manera predeterminada.
Digo reinstalar a Mónica el
3

Otra opción desde la línea de comandos de Windows 7 o superior:

tasklist /s computername /fi "imagename eq explorer.exe" /v

Es posible que se le soliciten credenciales de nivel de administrador si consulta una máquina remota.

Esto verá si explorer.exe se está ejecutando en una máquina y "/ v" proporciona el nombre de usuario. Si una máquina no está conectada, no se ejecutará ningún proceso explorer.exe. Si alguien inicia sesión, el proceso explorer.exe se ejecuta en el contexto de ese usuario.

DBraun
fuente
El único caso (raro) cuando esto no funciona es si el shell de la máquina remota no lo es explorer.exe. Raro, pero posible.
Digo reinstalar a Mónica el
1

El wmiccomando en el símbolo del sistema puede recuperar esta información. Sin embargo, para que los clientes respondan, primero se requiere una regla de firewall.

Encontré una publicación en community.spiceworks.com, gracias a MacKingTosh que parece corregir el error 'error: el servidor RPC no está disponible'.

El comando para ejecutar en los clientes que producen este error es:

netsh firewall set service remoteadmin enable

Es posible que desee comprobar que esto cumple con las políticas de su firewall.

Al usar wmic, aquí hay un desglose de los parámetros que puede pasar:

  • /node: - los servidores con los que operará el alias
  • yourpcname - el nombre de la PC
  • computersystem - es un sistema informático del que estamos tratando de obtener información
  • get - queremos obtener la información
  • username - el usuario que ha iniciado sesión
  • model - el modelo de la computadora
  • manufacturer - el nombre de la empresa que fabricó la computadora
  • name - el nombre de la PC

Algunos ejemplos:

Obtén un nombre de usuario:

wmic /node: 'yourpcname' computersystem get username

Obtenga una marca y modelo de PC:

wmic /node: 'yourpcname' computersystem get manufacturer, model

Obtén los tres:

wmic /node: 'yourpcname' computersystem get manufacturer, model, username

Se pueden agregar campos adicionales usando una coma y un espacio:

Model, manufacturer, username, name

Los ejemplos anteriores son para una PC remota y la consulta se realiza a través de la red. Si el comando se ejecuta localmente, tendría una sintaxis ligeramente diferente. Por ejemplo:

wmic computersystem get manufacturer, model, username
Jason
fuente