看板 Web_Design 關於我們 聯絡資訊
原本的系統是架在 Windows 2000 Server + SQL 2000 下的 現在要把系統移植到 Windows 2003 Server + SQL 2005下.. 第一個碰到的難題就是 AD 抓不到 :( 在win2000下是可以正常的跑, 可是拿到win2003就不行了 我寫的測試程式如下: <% Dim sUserID, sPassword, Root, Dim DomainPath, schema, config,domain1,sSearchRoot,sADPath Dim ADSI_conn, ADSI_Command, ADSI_rs sUserID = "administrator" sPassword = "u6bj6" set Root=getobject("LDAP://RootDSE") DomainPath=Root.Get("DefaultNamingContext") sSearchRoot = "LDAP://" & DomainPath '建立ADO相關之ADSI物件 ' set ADSI_conn = createobject("ADODB.connection") set ADSI_Command = createobject("ADODB.command") set ADSI_rs = createobject("ADODB.Recordset") ' ' 設定 AD 連結參數並執行查詢 ' ADSI_conn.Provider = "AdsDsoObject" ADSI_conn.Properties("User ID") = sUserID ADSI_conn.Properties("Password") = sPassword ADSI_conn.Properties("Encrypt Password") = False ADSI_conn.Open sSearchRoot Set ADSI_Command.ActiveConnection = ADSI_conn ADSI_Command.CommandText = "select AdsPath from '" & sSearchRoot & _ "' where objectClass='user' and objectCategory='person' and " & _ " objectCategory='user'" Set ADSI_rs = ADSI_Command.Execute Do Until ADSI_rs.EOF sADPath = ADSI_rs.Fields("AdsPath").Value Response.Write "sAdPath = " & sADPath & "<br>" ADSI_rs.MoveNext Loop ADSI_rs.close set Root = Nothing set Domain1 = Nothing set ADSI_rs = Nothing set ADSI_Command = Nothing set ADSI_conn = Nothing %> 這支程式可以在 win2000下正常的跑, 但在 win2003下就跑不出來, 出現如下錯誤訊息 Provider 錯誤 '80040e09' 使用權限遭拒 發生錯誤的程式行在: Set ADSI_rs = ADSI_Command.Execute 這一行上.. 請問是不是Provider 的問題呀? 是要先安裝什麼才能跑 AdsDosObject 這個元件嗎? 如果是的話, 請問要去哪抓呢? 大感謝~~~ (公司居然把這個5年前寫的系統要我這個才來4年的人管, 真是沒天理啊~~) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.61.172
arzbar:我記得當初我寫的時候 WEB USER 的權限要開很大... 08/12 04:34
arzbar:找找MSDN 吧 去取AD資料的文獻 真的很少 08/12 04:34