JScriptはActiveXObjectを呼び出して、ゲストのネットワークカードMacアドレスを取得します。 IEの下でのみ実行できることに注意してください(IE8+はテストされていません)。セキュリティプロンプトがあります。これは次のとおりです。
コードコピーは次のとおりです。
このページのActiveXコントロールとこのページの他のセクション間の相互作用は安全ではない場合があります。この種の相互作用を許可しますか?
選択の「はい」、エラーが報告された場合、取得できないことに注意してください。
ソースコードは次のとおりです。
<html> <head> <title> jscript+Active activeゲストのMacネットワークカードアドレスを取得</title> </head> <body> <object classid = "clsid:" clsid:76a64158-cb41-11d1-8b02-00600806d9b6 "id =" locator "スタイル=" ClassID = "CLSID:75718C9A-F029-11D1-A1AC-00C04FB6C223" ID = "FOO" STYLE = "ディスプレイ:none;可視性:隠し"> </object> <form name = "myform"> <br/> macアドレス:<入力タイプ= "テキスト="> <入力 "> < name = "ipaddress"> <br/> host name:<input inty = "text" name = "hostname"> </form> </body> </html> <script言語= "javascript"> var maCaddr = ""; var sipaddr = ""; var sdnsname = ""; var service = locator.connectserver(); service.security_.impersonationLevel = 3; service.instancesofasync(foo、 'win32_networkadapterconfiguration'); </script> <for = "foo" event = "onobjectready(objobject、objasynccontext)"言語= "jscript"> if(objobject.ipenabled!= null && objobject.ipenabled!= "未定義" && objobject.ipenabled == && 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> <for = "foo" event = "oncompleted(hresult、perrorobject、pasynccontext)" language = "jscript"> myform.macaddress.value = maCaddr; myform.ipaddress.value = sipaddr; myform.hostname.value = sdnsname; </script>