Advanced JavaScript with Internet Explorer: Retrieving Networking Configuration Information
This is the second article in a series focusing on retrieving system (or client) information using JavaScript and presenting the same on a web page. You can directly copy and paste all of the code samples present in this article into a file with extension “.htm” and open them in Internet Explorer 5.5+.
Advanced JavaScript with Internet Explorer: Retrieving Networking Configuration Information (Page 1 of 6 )
How to list all IP addresses for a computer using JavaScript
Now, let us try to develop a simple script (JavaScript) which shows the technique for retrieving all of the IP addresses for a computer. The entire code for the sample is as follows:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="vs_targetSchema" content="http://schemas.microsoft. com/intellisense/ie5"> <script id="clientEventHandlersJS" language="javascript"> <!--
function Button1_onclick() { var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration"); var e = new Enumerator (properties); document.write("<table border=1>"); dispHeading(); for (;!e.atEnd();e.moveNext ()) { var p = e.item (); document.write("<tr>"); document.write("<td>" + p.Caption + "</td>"); document.write("<td>" + p.Description + "</td>"); document.write("<td>" + p.DHCPEnabled + "</td>"); document.write("<td>" + p.DHCPServer + "</td>"); document.write("<td>" + p.DNSDomain + "</td>"); document.write("<td>" + p.DNSHostName + "</td>"); if (p.IPAddress!=null ) document.write("<td>" + p.IPAddress(0) + "</td>"); else document.write("<td></td>"); document.write("</tr>"); } document.write("</table>"); }
In the above code, “meta” tags are not necessary. They have been automatically added by Visual Studio. The above would automatically list all IP addresses belonging to a computer along with caption, description, DHCP info and DNS info. To retrieve this information, I used a built-in class, “Win32_NetworkAdapterConfiguration.” The class internally has a lot of properties, methods and events. But, in the above example we concentrated only on some limited properties, related to the “Win32_NetworkAdapterConfiguration” class.
The “for” loop I used in the above code iterates for every logical network adapter present in the system and finally retrieves only the properties of that adapter.