我从命令窗口调用时,我的脚本查询Active Directory工作,但它不能在我的ASP页面上运行。我使用的不是VBS文件中的echo("message")
我的ASP中Response.Redirect(message)
。所以这里的代码在CMD窗口中工作正常,但在IE中却没有。无论如何,我希望有人可以提供帮助。
Option Explicit
Dim objRootDSE, strDNSDomain, objCommand, objConnection
Dim strQuery, strBase, strFilter, strAttributes
Dim objRecordSet, strAlias, strName, strSAM
Dim blnFlag
''// Use ADO to search Active Directory.
Set objCommand = CreateObject("ADODB.Command")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
objCommand.ActiveConnection = objConnection
''// Set AD query propeties
strBase = "<LDAP://10.10.10.10>"
strFilter = "(&(objectCategory=person)(objectClass=user)(cn="gossmari")"
strAttributes = "displayName,mailNickname,sAMAccountName"
''// AD query
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 100
objCommand.Properties("Cache Results") = False
Set objRecordSet = objCommand.Execute
Do Until objRecordSet.EOF
strName = objRecordSet.Fields("displayName")
strAlias = objRecordSet.Fields("mailNickname")
strSAM = objRecordSet.Fields("sAMAccountName")
objRecordSet.MoveNext
Loop
''// Echo the requested information
''// replaced by Response.Redirect("http://www.google.com/" & strName)
Wscript.Echo strSAM & " ; " & strAlias & " ; " & strName
objConnection.Close
编辑:我一直得到的错误是: 处理URL时服务器上发生错误。请联系系统管理员。 如果您是系统管理员,请单击此处以了解有关此错误的更多信息。
我的电脑正在运行Windows Vista,我真的开始讨厌它了
答案 0 :(得分:1)
它返回了什么错误?
一个可能的原因可能是ASP页面正在执行的凭据没有查询Active Directory的权限。如果它是默认网页,它可能运行匿名身份验证,转换为[LOCALMACHINE] \ IUSR_ [LOCALMACHINE]。
这可以解释为什么它在您的凭据下运行时运行,而不是在IIS的上下文中运行。
答案 1 :(得分:0)
实际上给我们错误信息会有所帮助。
如果你在盒子外面运行IE,你将看不到它。转到“工具”,“Internet选项”,“高级”选项卡,然后关闭“显示友好的HTTP错误消息”
由于默认匿名IIS用户运行的安全上下文,通常访问活动目录等内容将无法正常工作,因此如果切换到集成安全性,则可能会更进一步。