用Windowsnetworking上的用户名生成IP列表

我们最近在我们的networking上设置了GFI WebMonitor,它让我回到了IP而不是用户的IP。 我正在确定我们是否能够在代理上实现身份validation,以使用ISA或TMG来解决问题,但目前我需要一种方法来快速准确地生成AD用户名列表和当前对应的来自DHCP服务器的IP地址。 然后,我最初预料会出乎意料地更困难。

是否有一个扫描IP范围,并获得用户名列表或扫描活动目录用户列表,并获得IP?

我一直在与nmap和PowerShell混这样做,但我现在是在墙上。

编辑


实际上我发现实现这个最简单的方法是使用名为netview的networking映射工具。 它生成一个在AD活动的所有PC的列表,并且用户login以及其他一些好的信息(份额,pipe理状态等)

您可以创build通过Active Directory中的GPO启用的login脚本,如此处所述。

下面的脚本有许多不足之处,但是是一种入门的方法:

$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 

只是一个快速的想法。

这会给你一个IP关系的主机名。 要获得用户名,我会多一点参与。

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

那么你需要parsing和查询每个IPlogin用户。 祝你好运!