Jscript вызовы ActivexObject, чтобы получить MAC -адрес сетевой карты гостя. Обратите внимание, что он может работать только под IE (IE8+ не проверил). Будет подсказка безопасности, которая выглядит следующим образом:
Кода -копия выглядит следующим образом:
Взаимодействие между элементами управления ActiveX на этой странице и другими разделами на этой странице может быть небезопасным. Вы хотите разрешить такое взаимодействие?
Обратите внимание, что выбор «да», если сообщается об ошибке, его нельзя получить:
Исходный код заключается в следующем:
<html> <Head> <tite> JScript+ActiveX Получить адрес сетевой карты Mac Guest Mac </title> </head> <body> <Object Classid = "clsid: 76a64158-cb41-11d1-8b02-00600806d9b6" id = "locator". classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object> <form name="myForm"> <br/>MAC address: <input type="text" name="macAddress"> <br/>IP address: <input type="text" name = "iPaddress"> <br/> Имя хоста: <input type = "text" name = "hostname"> </form> </body> </html> <script language = "javascript"> var smacaddr = ""; var sipaddr = ""; var sdnsname = ""; var service = locator.connectserver (); Service.security_.ImpersonationLevel = 3; Service.InstanceOfAsync (foo, 'win32_networkAdapterConfiguration'); </script> <script for = "foo" event = "onobjectready (objobject, objasynccontext)" language = "jscript"> if (objobject.ipenabled! = null && objobject.ipenabled! = "udefined" && objobject.ipenabled = true) ! = null && objobject.ipaddress (0)! = "undefined" && objobject.dnsserversearchorder! = null) sipaddr = objobject.ipaddress (0); if (objobject.macaddress! = null && objobject.macaddress! = "undefined") smacaddr = objobject.macaddress; if (objobject.dnshostname! = null && objobject.dnshostname! = "undefined") sdnsname = objobject.dnshostname; } </script> <script for = "foo" event = "oncompleted (hresult, perroRobject, pasynccontext)" language = "jscript"> myform.macaddress.value = smacaddr; myform.ipaddress.value = sipaddr; myform.hostname.value = sdnsname; </script>