如何在ASP.Net中获取客户端计算机标识符?

如何在ASP.Net中获取客户端计算机标识符?,asp.net,Asp.net,谁能告诉我如何/是否可以在asp.net/或javascript中获取客户端计算机标识符?(客户端位于网络中,而不是本地Intranet中) (什么是客户端计算机标识符?我认为例如:客户端计算机MAC地址,或任何硬件GUID(如CPU、网卡等)) 或者在HTML5中是否有任何简化方法 或者我是否可以通过ActiveX获取客户端计算机标识符?(如果ActiveX可以使用C#进行构建,那么我如何使用ActiveX,任何人都可以给我一些参考资料。) (这是一个业务系统,我们已批准客户获取其客户端计算机

谁能告诉我如何/是否可以在asp.net/或javascript中获取客户端计算机标识符?(客户端位于网络中,而不是本地Intranet中)

(什么是客户端计算机标识符?我认为例如:客户端计算机MAC地址,或任何硬件GUID(如CPU、网卡等))

或者在HTML5中是否有任何简化方法

或者我是否可以通过ActiveX获取客户端计算机标识符?(如果ActiveX可以使用C#进行构建,那么我如何使用ActiveX,任何人都可以给我一些参考资料。)


(这是一个业务系统,我们已批准客户获取其客户端计算机硬件标识符,那么我如何在asp.net中执行?

尝试以下脚本可能需要用户验证才能运行ActiveX,据我所知,ActiveX仅在IE中工作

<!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.IPFilterSecurityEnabled + "</td>");
            document.write("<td>" + p.IPPortSecurityEnabled + "</td>");
            document.write("<td>" + p.IPXAddress + "</td>");
            document.write("<td>" + p.IPXEnabled + "</td>");
            document.write("<td>" + p.IPXNetworkNumber + "</td>");
            document.write("<td>" + p.MACAddress + "</td>");
            document.write("<td>" + p.WINSPrimaryServer + "</td>");
            document.write("<td>" + p.WINSSecondaryServer + "</td>");
            document.write("</tr>");
      }
      document.write("</table>");
}

function dispHeading()
{
      document.write("<thead>");
      document.write("<td>Caption</td>");
      document.write("<td>IPFilterSecurityEnabled</td>");
        document.write("<td>IPPortSecurityEnabled</td>");
        document.write("<td>IPXAddress</td>");
      document.write("<td>IPXEnabled</td>");
      document.write("<td>IPXNetworkNumber</td>");
      document.write("<td>MACAddress</td>");
      document.write("<td>WINSPrimaryServer</td>");
      document.write("<td>WINSSecondaryServer</td>");
      document.write("</thead>");
}

//-->
            </script>
      </head>
      <body>
            <INPUT id="Button1" type="button" value="Button" 
name="Button1" language="javascript" onclick="return Button1_onclick()">
      </body>
</html>

尝试以下脚本运行ActiveX可能需要用户的身份验证,据我所知,ActiveX只能在IE中运行

<!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.IPFilterSecurityEnabled + "</td>");
            document.write("<td>" + p.IPPortSecurityEnabled + "</td>");
            document.write("<td>" + p.IPXAddress + "</td>");
            document.write("<td>" + p.IPXEnabled + "</td>");
            document.write("<td>" + p.IPXNetworkNumber + "</td>");
            document.write("<td>" + p.MACAddress + "</td>");
            document.write("<td>" + p.WINSPrimaryServer + "</td>");
            document.write("<td>" + p.WINSSecondaryServer + "</td>");
            document.write("</tr>");
      }
      document.write("</table>");
}

function dispHeading()
{
      document.write("<thead>");
      document.write("<td>Caption</td>");
      document.write("<td>IPFilterSecurityEnabled</td>");
        document.write("<td>IPPortSecurityEnabled</td>");
        document.write("<td>IPXAddress</td>");
      document.write("<td>IPXEnabled</td>");
      document.write("<td>IPXNetworkNumber</td>");
      document.write("<td>MACAddress</td>");
      document.write("<td>WINSPrimaryServer</td>");
      document.write("<td>WINSSecondaryServer</td>");
      document.write("</thead>");
}

//-->
            </script>
      </head>
      <body>
            <INPUT id="Button1" type="button" value="Button" 
name="Button1" language="javascript" onclick="return Button1_onclick()">
      </body>
</html>


我认为只有当客户端计算机在本地网络上使用DNSI时,才有办法获取客户端计算机的名称。我认为只有当客户端计算机在本地网络上使用DNSHi时,才有办法获取客户端计算机的名称。谢谢你的申请,当我将上述代码复制到记事本上,并保存为“index.html”,然后在IE9中打开它时,在我点击页面上的按钮后,页面上除了一个js错误外什么也没有显示:错误:对象预期您可能关闭了activex Hi,非常感谢,我测试了上述代码,很酷,它在本地intranet中运行得很好,但不幸的是,当我上传到远程服务器,打开网站时,它没有显示任何内容,在一些pc客户端中,网站在页面上显示js错误:Automation server无法创建对象:第11行。你能帮我打开考试网站查一下哪里出错吗?测试Url是:谢谢!您好,谢谢您的应用,当我将上述代码复制到记事本上,另存为“index.html”,并在IE9中打开它时,在我单击页面上的按钮后,页面上除了一个js错误外什么也没有显示:错误:Object Expected您可能已关闭activex Hi,非常感谢,我已经测试了上述代码,很酷,它在本地intranet中运行得很好,但不幸的是,当我上传到远程服务器,打开网站时,它什么也没显示,在一些pc客户端,网站在页面上显示js错误:Automation server无法创建对象:第11行。你能帮我打开考试网站查一下哪里出错吗?测试Url是:谢谢!