2013-02-15 46 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