2013-02-15 27 views
0

我试图获取一个脚本来检索网络上远程主机的NIC卡信息。使用PHP从WMI查询中恢复IP地址

这里是我的查询:

$wmi_networkadapter = $obj->ExecQuery("Select * from Win32_NetworkAdapter WHERE NetConnectionID LIKE 'Local Area Connection'"); 

这里的输出:

foreach ($wmi_networkadapter as $wmi_call) { 
     //Caption 
     $Caption = $wmi_call->Caption; 
     echo "<b>Caption:</b> $Caption<br>"; 

     //MACAddress 
     $MACAddress = $wmi_call->MACAddress; 
     echo "<b>MACAddress:</b> $MACAddress df<br>";          
    } 

我能得到MACADDRESS和字幕(NIC的名称),但我无法弄清楚如何获得IP地址。谢谢!

回答

0

好的。我能够获得IP地址。

使用此查询:

$wmi_networkadapter = $obj->ExecQuery("Select * from Win32_NetworkAdapterConfiguration WHERE IPENabled = 'True'"); 

PHP:

foreach ($wmi_networkadapter as $wmi_call) { 
    //Caption 
    $Caption = $wmi_call->Caption; 
    echo "<b>Caption:</b> $Caption<br>"; 

    //MACAddress 
    $MACAddress = $wmi_call->MACAddress; 
    echo "<b>MACAddress:</b> $MACAddress<br>";  

    //IP ADDRESS 
    $ip = $wmi_call->IPAddress; 
    foreach ($ip as $key => $value) { 
    echo $value; 
    } 
} 
0

我没有任何具体的使用WMI的经验,但调用var_dump($wmi_call)时会得到什么结果?

+0

对象(变体)#10(0){} – DanielOlivasJr 2013-02-15 21:53:57

+0

怎么样的var_dump($ wmi_call-> NetworkAddresses)?此链接也可能有帮助,特别是“..确定哪个IP地址已分配给给定的网络连接?”部分。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa394595%28v=vs.85%29.aspx – jbq 2013-02-15 23:11:22