4

如何获取 LAN 上的活动 IP 地址、MAC 地址和NetBIOS名称的列表?

我想为 LAN 上的每台主机获取 NetBIOS 名称、IP 和MAC 地址,最好不必走到每台 PC 并自己记下这些东西。

如何使用Windows Script Host /PowerShell/whatever 做到这一点?

4

5 回答 5

10

正如达伦托马斯所说,使用 nmap。

 nmap -sP 192.168.1.1/24

扫描网络 192.168.1.*

 nmap -O 192.168.1.1/24

获取用户的操作系统。有关更多信息,请阅读手册页

 man nmap

问候

于 2008-09-18T08:07:38.210 回答
7
arp -a

这得到了当前机器在网络上所知道的一切。

(我把它放在那里作为第二种选择,因为 nmap 不是普遍安装的)。

于 2008-09-18T08:14:28.567 回答
2

如果您使用的是 DHCP,那么服务器将为您提供所有这些信息的列表。

这个网站有一个很好的使用powershell获取网络信息的教程http://www.powershellpro.com/powershell-tutorial-introduction/powershell-scripting-with-wmi/

如果您需要快速获取计算机名称列表,您可以使用“网络视图”。也看看 nbmac 虽然我不确定它在 XP 下的工作状态。另一种选择可能是使用 nbtstat -a (一旦您使用网络视图列出工作​​站)

于 2008-09-18T07:53:32.987 回答
1

在 PowerShell 中,您可以执行以下操作:

$computers = "server1","server2","server3"

Get-WmiObject Win32_NetworkAdapterConfiguration -computer $computers -filter "IPEnabled ='true'" | 选择__服务器,IP地址,MAC地址

于 2008-09-18T16:59:12.830 回答
1

在 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)
于 2011-02-27T19:59:06.163 回答