如何获取 LAN 上的活动 IP 地址、MAC 地址和NetBIOS名称的列表?
我想为 LAN 上的每台主机获取 NetBIOS 名称、IP 和MAC 地址,最好不必走到每台 PC 并自己记下这些东西。
如何使用Windows Script Host /PowerShell/whatever 做到这一点?
如何获取 LAN 上的活动 IP 地址、MAC 地址和NetBIOS名称的列表?
我想为 LAN 上的每台主机获取 NetBIOS 名称、IP 和MAC 地址,最好不必走到每台 PC 并自己记下这些东西。
如何使用Windows Script Host /PowerShell/whatever 做到这一点?
正如达伦托马斯所说,使用 nmap。
nmap -sP 192.168.1.1/24
扫描网络 192.168.1.*
nmap -O 192.168.1.1/24
获取用户的操作系统。有关更多信息,请阅读手册页
man nmap
问候
arp -a
这得到了当前机器在网络上所知道的一切。
(我把它放在那里作为第二种选择,因为 nmap 不是普遍安装的)。
如果您使用的是 DHCP,那么服务器将为您提供所有这些信息的列表。
这个网站有一个很好的使用powershell获取网络信息的教程http://www.powershellpro.com/powershell-tutorial-introduction/powershell-scripting-with-wmi/
如果您需要快速获取计算机名称列表,您可以使用“网络视图”。也看看 nbmac 虽然我不确定它在 XP 下的工作状态。另一种选择可能是使用 nbtstat -a (一旦您使用网络视图列出工作站)
在 PowerShell 中,您可以执行以下操作:
$computers = "server1","server2","server3"
Get-WmiObject Win32_NetworkAdapterConfiguration -computer $computers -filter "IPEnabled ='true'" | 选择__服务器,IP地址,MAC地址
在 PowerShell 中:
function Explore-Net($subnet, [int[]]$range){
$range | % { test-connection "$subnet.$_" -count 1 -erroraction silentlycontinue} | select -Property address | % {[net.dns]::gethostbyaddress($_.address)}
}
例子:
Explore-Net 192.168.2 @(3..10)