cul*_*ter 9 networking windows powershell remote windows-command-prompt
我有具体情况。我想从不在域中的远程计算机获取 MAC 地址。我知道远程计算机的主机名和 IP 地址。我的电脑IP地址是192.168.2.40,远程电脑IP是192.168.2.41。
我试过了:
arp -a <remote IP Address>
No ARP entries found.
nbtstat -n <remote hostname>
Host not found.
getmac /s <remote IP Address>
ERROR: The RPC server is unavailable.
Run Code Online (Sandbox Code Playgroud)
是否可以从命令行、powershell 或其他方式获取远程系统的 MAC 地址?需要设置哪些条件?谢谢你。
MAC 地址是以太网的东西,而不是互联网的东西。计算机甚至不需要 MAC 地址。获取 MAC 地址的唯一方法是让与该计算机位于同一 LAN 上的某台计算机告诉您。而且您无法知道它为您提供了正确的信息。
如果你们两个在同一个以太网局域网中,你可以只ping
在电脑上查看你的 ARP 表。否则,您将不得不询问同一以太网/Wifi LAN 中的计算机。
你可以从 WMI 获取它,任何可以读取 WMI 的语言都可以访问它。VBScript、JScript、Perl、Python 和 Powershell 都可以用来实现它。
由于您专门询问了 Powershell,以下是来自http://www.neolisk.com/techblog/powershell-getmacaddressofanyremoteip的示例:
param ( $Computer , $Credential )
#to make it work without parameters
if($Computer -eq $null) { $Computer = $env:COMPUTERNAME }
#program logic
$hostIp = [System.Net.Dns]::GetHostByName($Computer).AddressList[0].IpAddressToString
if($Credential) {
$Credential = Get-Credential $Credential
$wmi = gwmi -Class Win32_NetworkAdapterConfiguration -Credential $Credential -ComputerName $Computer
} else {
$wmi = gwmi -Class Win32_NetworkAdapterConfiguration -ComputerName $Computer
}
return ($wmi | where { $_.IpAddress -eq $hostIp }).MACAddress
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57188 次 |
最近记录: |