理想情况下,我想通过员工电子邮件发送链接,工作人员可以点击以显示他们的电脑名称。 (具体来说,在“我的电脑”属性的第二个选项卡中find“长计算机名称”的第一部分。)
客户端是否有一些JavaScript / VBScript / ActiveX对象,或者是服务器端的CGI脚本,可以通过返回一个简单的网页让用户知道他们的计算机名称?
出于好的理由,这些组织阻止用户下载/运行应用程序,所以oneClick部署和下载batch file在现有的基础架构/策略设置中不存在问题。
噢 – 它应该适用于Internet Explorer 6 / Windows XP的企业级安装,不太可能在短时间内更新。
答案
通过电子邮件
发送给他们一个链接:
http://%computername%
这将引起“Internet Explorer无法显示网页”,但地址栏将显示机器名称。
服务器端
你想要REMOTE_HOST服务器variables。 首先在Web服务器上启用反向DNS。 然后创build一个页面来返回你想要的variables。 这里是在ASP中。
<% Response.Write ServerVariables("REMOTE_HOST") %>
发送给他们一个链接:
http://%computername%
这将引起“Internet Explorer无法显示网页”,但地址栏将显示机器名称。
要么
他们可以从桌面上运行一个bat文件:
echo %computername% >> c:\users\%username%\Desktop\computername.html "c:\program files\internet explorer\iexplore.exe" c:\users\%username%\Desktop\computername.html
如果这只是Windows Only环境,那么最好的select是OneClick部署和简单的c#(或vb.net)程序,该程序使用System.Environment.MachineName ,或者与System.Net.Dns.GetHostByAddress结合使用以获取更多信息。
这应该作为客户端VBScript:
Set ADSysInfo = CreateObject ("ADSystemInfo") Set CurrentComp = GetObject ("LDAP://" & ADSysInfo.ComputerName) ShortCompName = ADSysInfo.sAMAccountName
这个实现只是简单的名字,没有你的域名追加; 请查看ADSIEdit或TechNet或MSDN以获取您可以检索的完整列表。
您可能还需要在Intranet区域IE设置中执行一些jiggery-pokery。
你想要REMOTE_HOST服务器variables。 首先在Web服务器上启用反向DNS 。 然后创build一个页面来返回你想要的variables。 这里是在ASP中。
<% Response.Write ServerVariables("REMOTE_HOST") %>
如果你想看看所有可能的variables,使用这个
<% for each x in Request.ServerVariables response.write(x & ": " & Request.ServerVariables(x) & "<br />") next %>
这不能回答你的问题,但你可能会考虑将Sysinternals BGInfo作为桌面映像的一部分。 这会将PC的名称(以及您指定的其他相关信息)置于用户的桌面背景上。
并非如此,不,浏览器的安全性已经设置得非常好,以防止Web服务器获取这样的信息。
我想因为你提到的CGI是一个选项,如果DNS更新哪里工作完美,你可能能够编写某种程序,运行在内部Web服务器上查找反向DNSlogging的IP地址,曾用来连接然后返回。
我想,你可以在文件服务器上存储一个HTA ,并向用户发送一个UNC。
或者客户端可以打开命令提示符并键入“主机名”,然后回车。 或者开始>运行>(Winkey + R)键入:“cmd.exe / k主机名”,然后按回车。