0

我们最近从 IIS 6 升级到了 IIS 7.5。我们将所有站点都移到了新系统中,除了一个之外,它们都可以正常工作。

损坏的站点提供了有关 ftp 服务器的信息,经过一些试验,我们确定了导致问​​题的代码。

这是向服务器询问 FTP 站点的到期日期的代码行:

Set objuser = objRoot.OpenDSObject("LDAP://CN="&user&",dc=companySite,OU=FTP", strUserDN, strPassword, ADS_SECURE_AUTHENTICATION)

这是上下文函数的其余部分:

function expiration(user)

    Set con = Server.CreateObject("ADODB.Connection")
    con.provider ="ADsDSOObject"
    con.open "Active Directory Provider"
    Set Com = CreateObject("ADODB.Command")
    Set Com.ActiveConnection = con

    Const ADS_SECURE_AUTHENTICATION = 1

    strUserDN = "cn=ftplist,cn=users,dc=companySite,dc=com"
    strPassword = "password"

    Set objRoot = GetObject("LDAP:")

    Set objuser = objRoot.OpenDSObject("LDAP://CN="&user&",dc=companySite,OU=FTP", strUserDN, strPassword, ADS_SECURE_AUTHENTICATION)

    On error resume next
    expiry = objuser.AccountExpirationDate
    If expiry = "1/1/1970" Or expiry = "1/01/1601 10:00:00 AM" Or Err.Number = -2147467259 then
    expiration = "No expiration"
    else
    expiration = formatdatetime(objuser.AccountExpirationDate, vbshortdate)
    end if
    response.write expiration

end function

页面显示的错误如下:

Active Directory error '8007203b' 
A local error has occurred. 
/ftp-search.asp, line 28 

我对我们公司使用的数据库不熟悉,所以我无法辨别是什么导致了问题。我做了一些研究,但到目前为止还没有找到解决方案。

任何提示将不胜感激!

4

1 回答 1

0

您的专有名称似乎已关闭。域部分应该在组织单元之后:

Set objuser = objRoot.OpenDSObject("LDAP://CN=" & user & _
  ",OU=FTP,dc=barghausen", strUserDN, strPassword, ADS_SECURE_AUTHENTICATION)
于 2013-07-12T23:18:55.933 回答