理想情况下,我希望通过员工电子邮件发送一个链接,员工可以点击该链接来显示他们的计算机名称。(具体来说,就是在我的计算机属性的第二个选项卡中找到的“长计算机名称”的第一部分。)
客户端上是否存在一些 JavaScript/VBScript/ActiveX 对象,或者服务器端的 CGI 脚本,可以通过返回一个简单的网页让用户知道他们的计算机名称?
出于充分的理由,组织阻止用户下载/运行应用程序,因此在现有基础设施/策略设置下,一键部署和下载批处理文件是不可能的。
哦 - 它应该适用于企业范围内安装的 Internet Explorer 6/Windows XP,但近期不太可能更新。
答案
通过电子邮件
向他们发送以下链接:
http://%computername%
这将显示“Internet Explorer 无法显示网页”,但地址栏将显示机器名称。
服务器端
您需要 REMOTE_HOST 服务器变量。首先在 Web 服务器上启用反向 DNS。然后创建一个页面来返回您想要的变量。以下是 ASP 中的代码。
<% Response.Write ServerVariables("REMOTE_HOST") %>
答案1
向他们发送以下链接:
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
答案2
如果这是仅限 Windows 的环境,最好的选择是OneClick 部署和使用简单的 c# (或 vb.net) 程序系统.环境.机器名称是否与 System.Net.Dns.GetHostByAddress 结合使用可获得更多信息。
答案3
这应该作为客户端 VBScript 工作:
Set ADSysInfo = CreateObject ("ADSystemInfo")
Set CurrentComp = GetObject ("LDAP://" & ADSysInfo.ComputerName)
ShortCompName = ADSysInfo.sAMAccountName
此实现仅获取短名称,不附加您的域;查看 ADSIEdit 或 TechNet 或 MSDN 以获取您可以检索的完整属性列表。
您可能还需要在您的内部网区域 IE 设置中做一些 jiggery-pokery。
答案4
这并不能回答你的问题,但你可以考虑部署 Sysinternals博智信息作为桌面图像的一部分。这会将 PC 的名称(以及您指定的其他相关信息)直接放在用户的桌面背景上。