使用ActiveX获取用户名

Vin*_*epe 3 javascript activex asp-classic

我正在使用经典ASP编写的旧内部网站点.我正在尝试检索他们登录到他们机器的用户名.每个用户都登录到AD,但我无法从服务器检索它,因为Intranet站点不使用AD.

我被告知我可以使用ActiveX来检索它.我做了一些研究,我发现了以下代码(javascript):

var wshshell = new ActiveXObject("WScript.shell");
var username = wshshell.ExpandEnvironmentalStrings("%username%");
Run Code Online (Sandbox Code Playgroud)

目前我正在使用IE8,并且在第一行上出现"自动化服务器无法创建对象"错误.

1)为什么我收到错误的任何想法?

2)鉴于我的局限,是否有更好的方法可以做到这一点?

Jam*_*mie 6

如果在客户端完成此操作,则必须让用户将站点添加到"受信任的站点"区域,并将安全级别设置为最低.第1行应该在服务器端工作,但我不认为第2行是正确的.

试试这个

var net = new ActiveXObject ( "WScript.NetWork" );
var username = net.UserName;
Run Code Online (Sandbox Code Playgroud)