Windows 네트워크에서 사용자 이름으로 IP 목록 생성

Windows 네트워크에서 사용자 이름으로 IP 목록 생성

우리는 최근 네트워크에 사용자 대신 IP를 돌려주는 GFI WebMonitor를 설정했습니다. ISA 또는 TMG를 사용하여 프록시에 인증을 구현하여 문제를 해결할 수 있는지 여부를 결정하는 중이지만 지금은 AD 사용자 이름 목록과 현재 해당 사용자 이름 목록을 빠르고 정확하게 생성할 수 있는 방법이 필요합니다. DHCP 서버의 IP 주소입니다. 이것은 원래 예상했던 것보다 놀랍게도 더 어렵습니다.

IP 범위를 스캔하여 사용자 이름 목록을 얻거나 활성 디렉터리 사용자 목록을 스캔하여 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를 구문 분석하고 쿼리해야 합니다. 행운을 빌어요!

관련 정보