Cómo encontrar el nombre de la computadora en la que un usuario inició sesión

9

¿Existe una herramienta o script o alguna otra forma de saber en qué nombre de computadora está actualmente conectado un usuario específico? ¿O incluso inició sesión?

Digamos que el usuario "HRDrone" está trabajando en su máquina cuyo nombre de host es "HRStation01".

Yo, sentado en mi escritorio de administrador de sistemas, solo sé que el nombre de usuario es "HRDrone". ¿De alguna manera puedo descubrir que ha iniciado sesión en "HRStation01" sin preguntarle al usuario? Visor de eventos AD? ¿cualquier cosa?

¡Gracias!

V. Romanov
fuente
Bueno, no he encontrado ninguna manera de hacerlo usando ventanas genéricas o herramientas AD, pero resulta que nuestro sistema AV (SEP 11) almacena la información requerida, así que lo resolví usando un script VB que consulta la base de datos antivirus. Supongo que podría usarse una solución similar usando otro sistema como SMS / SCOM.
V. Romanov
social.technet.microsoft.com/wiki/contents/articles/… aquí hay una forma alternativa de obtener esto usando un gpo
mike brilló el

Respuestas:

8

Hay una gran utilidad de Sysinternals que hará exactamente esto por usted: PsLoggedOn

Sam Cogan
fuente
La ramita psloggedon no podía escanear la red para un usuario en particular, solo la usé para encontrar quién estaba en una máquina en particular. ¡Gracias!
JamesOff
Revisado. Parece interesante, pero poco práctico para el uso diario, ya que lleva literalmente horas escanear todas las máquinas en el dominio, bloqueándose en computadoras que no están conectadas y demás. Estoy buscando algo más en la línea de un escaneo de registro de eventos. Tenemos algo similar en nuestro sistema antivirus, donde registra cada nombre de computadora y el último usuario que inició sesión. Lo estoy usando a veces, pero me pregunto si hay algo más "nativo" en Windows.
V. Romanov
5

Un truco barato que uso a menudo es mirar las "Sesiones" enumeradas en "Carpetas compartidas" en la consola de "Administración de computadoras" dirigidas a una computadora servidor de archivos donde sé que el usuario sujeto tendrá una "unidad" "asignada".

Evan Anderson
fuente
1

¿qué tal estos en el archivo bat como un script de inicio de sesión del usuario? Ejecútelo y verá la diversión

mkdir %username% 
pushd %username% 
net config workstation > %computername%.txt

O si lo necesitas en detalle

mkdir %username% 
pushd %username% 
@echo off
echo
echo I am logged on as %UserName%. >> %username%\%computername%.txt
echo My computer's name is %ComputerName%. >> %computername%.txt
echo %Date% >> %computername%.txt
echo %Time% >> %computername%.txt
echo My IP settings are >> %computername%.txt
ipconfig | find "." | find /i /v "suffix" >> %computername%.txt
getmac >> %computername%.txt
echo\

puedes contactarme para obtener más guiones si lo necesitas, también es un buen aprendizaje para mí

Asim Khan
fuente
0

No estoy seguro de que haya algo en vivo, pero el Registro de eventos de seguridad registra los inicios de sesión de los usuarios. El acceso al registro de eventos en los DC debería poder brindarle esta información. Eso se proporciona que la información se está recopilando. Creo que es una configuración de políticas.

Esta página de Microsoft describe una forma realmente lenta y complicada de consultar los registros de eventos: http://technet.microsoft.com/en-us/library/ee176699.aspx

Estoy bastante seguro de que esto no lo ayudará, pero podría funcionar como una auditoría. Es decir, ¿quién inició sesión cuando sucedieron las cosas malas?

Seanchán Torpéist
fuente
0

Tuve que resolver este problema para hacer soporte remoto en toda mi empresa. Cosas como PsLoggedOn, y herramientas para escanear los registros de seguridad del controlador de dominio resultaron ser demasiado lentas para mis propósitos (obtener el nombre de host para brindar soporte remoto a los usuarios). Esto es lo que se me ocurrió:

  • Todos los usuarios tienen una unidad asignada a X: en AD en Perfil - Carpeta de inicio
  • Todos tienen el siguiente script asignado en Perfil: script de inicio de sesión

Este script registra en qué computadora iniciaron sesión en su carpeta de inicio. Específicamente, no registra el inicio de sesión en nuestro servidor de terminal, porque no me importan esas entradas.

'===============================================================
' Record the logon in their X: drive UNLESS they are on TERM-SERVER!
'===============================================================
If strComputerName <> "TERM-SRVER" Then
    strFile = "X:\login.txt"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile(strFile, 8, True)
    objTextFile.WriteLine(strIP + " - " + strComputerName + " - " + CStr(Date) + " " +     CStr(Time))
    objTextFile.Close
    ' Make it hidden
    Set objTextFile = objFSO.GetFile(strFile)
    objTextFile.Attributes = 2
End If

Luego uso un poco de VBscript en mi máquina local para encontrar automáticamente su directorio de inicio en AD, abrir el archivo de registro e imprimir las últimas líneas.

Conceder
fuente
0

Como administrador de sistemas, puede insertar una rutina en su secuencia de comandos de inicio de sesión para almacenar un. txtarchivo con el nombre de usuario y el nombre de host, o use sqlite.

Richard van den Berg
fuente