Gerar lista de IPs com nomes de usuário na rede Windows

Gerar lista de IPs com nomes de usuário na rede Windows

Recentemente configuramos o GFI WebMonitor em nossa rede, que está me devolvendo IPs em vez de usuários. Estou no processo de determinar se seremos capazes de implementar a autenticação no proxy para usar ISA ou TMG para permitir a resolução, mas no momento preciso de uma maneira de gerar com rapidez e precisão uma lista de nomes de usuários do AD e os atuais correspondentes Endereço IP do servidor DHCP. Isso é surpreendentemente mais difícil do que eu inicialmente esperava.

Existe uma maneira de verificar o intervalo de IP e obter uma lista de nomes de usuários ou verificar a lista de usuários do diretório ativo e obter o IP?

Tenho brincado com o nmap e o powershell para fazer isso, mas atualmente estou contra uma parede.

Editar


A maneira mais fácil que encontrei de fazer isso é usar um utilitário de mapeamento de rede chamadovisualização da rede. Ele gera uma lista de todos os PCs ativos no AD e os usuários logados junto com algumas outras informações úteis (compartilhamentos, status de administrador etc.)

Responder1

Você pode criar um script de logon habilitado por meio de um GPO no seu Active Directory conforme descritoaquipor exemplo.

O script a seguir deixa muito a desejar, mas é uma forma de começar:

$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

Responder2

Apenas uma ideia rápida.

Isso lhe dará um relacionamento de nome de host para IP. Para obter nomes de usuário, preciso me envolver um pouco mais.

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

Então você precisa analisar e consultar cada IP para usuários conectados. Boa sorte!

informação relacionada