我有一个旧脚本可以为我们的学生帐户处理一些密码重置,但是当用户移动到子 OU 并导致问题时,它似乎遇到了一些障碍。
基本上以下是 LDAP 连接字符串。
strLDAP ="LDAP://Studc01.student.college.ad:389/OU=Students,DC=student,DC=college,DC=ad"
如果学生帐户驻留在此主 OU 中,则该脚本似乎能够将其密码重置为指定的默认值。但是,如果帐户位于顶级学生 OU 的子 OU 中,则脚本会失败并失败。
该脚本如下所示,并从先前输入的文本字段中获取一些信息。
if request.form("AccountName")<> "" then
sAMAccountName = request.form("AccountName")
cUser = request.form("User")
else
response.write("There was an error no account details were given.")
response.end
End if
strLDAP ="LDAP://Studc01.student.college.ad:389/OU=Students,DC=student,DC=college,DC=ad"
Set obj = GetObject(strLDAP)
for each objUser in obj
if ucase(objUser.sAMAccountName) = ucase(sAMAccountName) then
Exit for
end if
next
Response.write("The password has now been reset (Password1) for account " & objUser.sAMAccountName & ", thank you")
objUser.SetPassword "Password1"
objUser.Put "pwdLastSet", 0
objUser.SetInfo
这些脚本似乎使用 IIS 内应用程序池中的网络服务来运行 - 关于它为什么无法搜索上下文的任何想法?