拉客户端用户名ASP经典



我们办公室有这个内部网站点,里面有"发表意见"模块。每个人都可以自由地发布任何他们想要的东西,并写上任何他们想要的名字。所以,在审查之后,我的老板要求我创建一个代码片段来检查他们各自的windows用户名,并将其与帖子一起保存。

我只需要使用本地内部网提取客户端用户名。内部网没有登录功能,这使得它有点困难。

我使用了以下代码

<%
Dim objNet
Set objNet = CreateObject("WScript.Shell")
Response.Write("WScript.NetWork.UserName is " + objNet.ExpandEnvironmentStrings("%USERNAME%") + "<br>")
Response.Write("WScript.NetWork.UserDomain is " + objNet.UserDomain + "<br>")
Response.Write("WScript.NetWork.ComputerName is " + objNet.ExpandEnvironmentStrings("%ComputerName%") + "<p>")
%>

about代码返回服务器信息,如comp名称,IP和用户名

var wshell = new ActiveXObject("WScript.Shell");
WScript.Echo(wshell.ExpandEnvironmentStrings("%USERNAME%"));

关于代码没有返回任何东西,但是当我将IE设置更改为ie9时,它会调试并说服务器无法创建activexobject。

我使用asp经典的内部网是用它创建的。

我看到Paul &他们之间的Lankymart已经在评论中回答了,但我还是要继续发表一个答案。

获取登录用户名,使用Request.ServerVariables("LOGON_USER")。IIS中的身份验证模式确实需要设置为Windows,但如果这是一个内部网,它可能已经设置正确。(注意,ServerVariables不是特别有效,所以尽量只调用它一次。如果在多个地方需要登录信息,请设置会话变量。

从asp调用WScript shell可能不会起作用:shell需要在服务器上打开,并且没有正常的服务器管理员会设置权限来允许。

相关内容

  • 没有找到相关文章

最新更新