Genere una lista de IP con nombres de usuario en la red de Windows

Genere una lista de IP con nombres de usuario en la red de Windows

Recientemente configuramos GFI WebMonitor en nuestra red, lo que me devuelve las IP en lugar de las del usuario. Estoy en el proceso de determinar si podremos implementar la autenticación en el proxy para usar ISA o TMG para permitir que se resuelva, pero por el momento necesito una forma de generar de manera rápida y precisa una lista de nombres de usuario de AD y los correspondientes actuales. Dirección IP del servidor DHCP. Esto es sorprendentemente más difícil de lo que anticipé originalmente.

¿Existe alguna forma de escanear el rango de IP y obtener una lista de nombres de usuario o escanear la lista de usuarios del directorio activo y obtener la IP?

He estado jugando con nmap y powershell para hacer esto, pero actualmente estoy contra una pared.

Editar


La forma más sencilla que he encontrado para lograr esto es utilizar una utilidad de mapeo de red llamadavista neta. Genera una lista de todas las PC activas en AD y los usuarios que iniciaron sesión junto con otra buena información (compartidos, estado de administrador, etc.)

Respuesta1

Puede crear un script de inicio de sesión habilitado a través de un GPO en su Active Directory como se describeaquípor ejemplo.

El siguiente script deja mucho que desear pero es una forma de empezar:

$file ="\\yourfileserver\`$hiddenshare\WhoLoggedOnWhere.log"

$logontime = (get-date -format o).split("{+}")[0] -Replace ":","."
$domain = [Environment]::userdomainname
$user = [Environment]::username
$machine = [Environment]::machinename
$servicetag = Get-WmiObject win32_SystemEnclosure | select serialnumber
$IPAddr = Get-WmiObject -query "SELECT * FROM Win32_PingStatus `
    WHERE Address='$MyMachineName'" | 
    select IPv4Address
$OS = Gwmi Win32_OperatingSystem
$OSver = $OS.Caption

$result = "$logontime;$domain\$user;$user;$machine;$IPAddr;$OSver;$servicetag"
$result | out-file $file -append

Respuesta2

Sólo una idea rápida.

Esto le dará una relación de nombre de host a IP. Para obtener nombres de usuario, debo involucrarme un poco más.

 For /f in (listofIPs.bat) do (
 Netsh DHCP \\<yourDHCPServername> scope <your dynamic scope> show client 1 | finstr "%%a"
 )

Luego, debe analizar y consultar cada IP para los usuarios que han iniciado sesión. ¡Buena suerte!

información relacionada