產生 Windows 網路上具有使用者名稱的 IP 列表

產生 Windows 網路上具有使用者名稱的 IP 列表

我們最近在我們的網路上設定了 GFI WebMonitor,它給我回了 IP 而不是用戶的。我正在確定是否能夠在代理上實施身份驗證以使用 ISA 或 TMG 來解析它,但目前我需要一種方法來快速準確地生成 AD 用戶名列表和當前對應的用戶名清單來自 DHCP 伺服器的 IP 位址。這比我最初預期的要困難得多。

是否有辦法掃描 IP 範圍並取得使用者名稱清單或掃描 Active Directory 使用者清單並取得 IP?

我一直在使用 nmap 和 powershell 來做到這一點,但目前遇到了困難。

編輯


我實際上發現實現此目的的最簡單方法是使用名為的網路映射實用程序網視。它會產生 AD 上所有活動 PC 和登入使用者的清單以及其他一些有用資訊(共用、管理狀態等)

答案1

您可以建立透過 Active Directory 中的 GPO 啟用的登入腳本,如下所述這裡例如。

以下腳本還有很多不足之處,但它是一種入門方法:

$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

答案2

只是一個快速的想法。

這將為您提供主機名稱與 IP 的關係。為了獲得用戶名,我需要更多參與。

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

然後你需要解析並查詢每個IP以尋找登入使用者。祝你好運!

相關內容