javascriptはクライアントのmacアドレスを取得します.


document.write("<OBJECT id='locator' classid='CLSID:76A64158-CB41-11D1-8B02-00600806D9B6' VIEWASTEXT></OBJECT>");
document.write("<OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>");
var MACAddr, IPAddr, sDNSName
function getObject(objObject,objAsyncContext){
    if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
        MACAddr = objObject.MACAddress;
    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
        IPAddr = objObject.IPAddress(0);
    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
        sDNSName = objObject.DNSHostName;
}
function setValue(hResult,pErrorObject, pAsyncContext){
    createTxt("txtMAC", MACAddr);
    createTxt("txtIp", IPAddr);
    createTxt("txtPCName", sDNSName);
}
function createTxt(txtName, txtValue){
    var macTxt = document.createElement("INPUT");
    macTxt.name = txtName;
    macTxt.value = txtValue;
    macTxt.type = "hidden";
    document.forms[0].appendChild(macTxt);    
}
document.getElementById("foo").attachEvent("OnObjectReady", getObject);
document.getElementById("foo").attachEvent("OnCompleted", setValue);

var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');

  
  1. <HTML>  
  2.   
  3.     <HEAD>  
  4.   
  5.         <TITLE>WMI Scripting HTML</TITLE>  
  6.   
  7.         <META http-equiv=Content-Type content="text/html; charset=gb2312">  
  8.   
  9.         <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>  
  10.   
  11.              document.forms[0].txtMACAddr.value=unescape(MACAddr);  
  12.   
  13.              document.forms[0].txtIPAddr.value=unescape(IPAddr);  
  14.   
  15.              document.forms[0].txtDNSName.value=unescape(sDNSName);  
  16.   
  17.         </SCRIPT>  
  18.   
  19.         <SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>  
  20.   
  21.            if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true){  
  22.   
  23.                 if(objObject.MACAddress != null && objObject.MACAddress != "undefined")  
  24.   
  25.                     MACAddr = objObject.MACAddress;  
  26.   
  27.                 if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")  
  28.   
  29.                     IPAddr = objObject.IPAddress(0);  
  30.   
  31.                 if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")  
  32.   
  33.                     sDNSName = objObject.DNSHostName;  
  34.   
  35.             }  
  36.   
  37.          </SCRIPT>  
  38.   
  39.         <META content="MSHTML 6.00.2800.1106" name=GENERATOR>  
  40.   
  41.     </HEAD>  
  42.   
  43. <BODY>  
  44.   
  45.     <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>  
  46.   
  47.     <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>  
  48.   
  49.     <SCRIPT language=JScript>  
  50.   
  51.             var service = locator.ConnectServer();  
  52.   
  53.             var MACAddr ;  
  54.   
  55.             var IPAddr ;  
  56.   
  57.             var DomainAddr;  
  58.   
  59.             var sDNSName;  
  60.   
  61.             service.Security_.ImpersonationLevel=3;  
  62.   
  63.             service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');  
  64.   
  65.     </SCRIPT>  
  66.   
  67.     <FORM id=formfoo name=formbar action=NICPost.asp method=post>  
  68.   
  69.         <INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr>  
  70.   
  71.         <INPUT value=192.168.0.2 name=txtIPAddr>  
  72.   
  73.         <INPUT value=typ name=txtDNSName>  
  74.   
  75.     </FORM>  
  76.   
  77. </BODY>  
  78.   
  79. </HTML>