0

Thunderbird /FirefoxプロファイルのカスタマイズスクリプトをOSXからWindows7に移植しようとしていますldapsearch -x -h ldap.place.edu uid="username"。OSXでは、OpenLDAPサーバーから電子メールアドレスや本名などを取得し、これらの変数をさまざまな構成ファイルにスローするので、非常に簡単です。アプリケーションがロードされる前。

Windowsでは、これははるかに複雑です。WindowsServer2003に付属のsearch.vbsactivedirectory / ldapツールを使用しようとしましたが、正しく機能しません。また、接続してクエリを実行するための簡単なvbsスクリプトを作成しようとしましたが、サーバーがリクエストを処理しないか、失敗するだけのエラーが常に発生します...これが私の最新のvbsスクリプトです。

Dim oConn,oRS,vSearch,vCount,vMailList,vValue,vProblem,vMsg

vProblem = False

vSearch = "(uid=username)"

Set oConn = CreateObject("ADODB.Connection")
oConn.Provider = "ADsDSOObject"
oConn.Open "ADs Provider", "ou=people,dc=place,dc=edu"

Set oRS = oConn.Execute("<LDAP://ldap.place.edu/dc=edu/dc=place>;" & vSearch &_";cn,mail")

vCount = 1
While not oRS.EOF

   For Each vValue in oRS.Fields(0).value
      WScript.Echo vValue
   Next

vCount = vCount + 1
oRS.MoveNext
Wend
4

1 に答える 1

0

少し前にそれを理解し、これを完全に忘れたので、ここにあります。匿名サーバーに接続しようとしていることに気付きましたが、必要な単純なバージョンではなく、パスワードレベルの認証を意味するDNを提供していました。

'Server name
sRoot = "LDAP://server"    
Dim oDS: Set oDS = GetObject("LDAP:")
'Don't provide a DN for anonymous authentication, also &H0010 implies simple auth mode
Dim oAuth: Set oAuth = oDS.OpenDSObject(sRoot, "", "", &H0010)
Dim oConn: Set oConn = CreateObject("ADODB.Connection")
oConn.Provider = "ADSDSOObject"
oConn.Open "Ads Provider", sDN
Dim rs
'Execute query
Set rs = oConn.Execute("<" & sRoot & ">;(uid=testuser);cn,mail;subtree")
'retrieve values
z = rs.Fields.Item(0).Value
x = rs.Fields.Item(1).Value
于 2012-05-30T22:42:41.990 に答える