ldapに対してこのような問い合わせを行う方法が新しくなりました。LDAP_MATCHING_RULE_IN_CHAIN( "member:1.2.840.113556.1.4.1941:=。私は情報で検索しましたLDAPを使用してネストされた特定のユーザーのアクティブなディレクトリグループを取得します。
...、私はそれを使用する方法について混乱しています。
私は、ユーザーがメンバーであるすべてのグループを取得しようとしているVBスニペット、ダイレクトを持っています
私は不確かなことがいくつかあります。
- 私はADのルートにベースを設定しました、それは正しいですか?
- 結果を取得するためにObjectCategoryとobjectClassを指定する必要がありますか、返された結果セットを絞り込むために「ちょうど」使用されますか?
- LDAP_MATCHING_RULE_IN_CHAIN( "memberOf:1.2.840.113556.1.4.1941:=グループへの参照を追加するためのさまざまな提案がありますが、ここでのポイントはグループのリストを取得することです。任意の参照。グループにこのフィルタを動作させるために?
私はADにおけるCNのユーザー「ADユーザー」を探していますが、私は同じ結果(何も)
を持つ他のユーザーを試してみました誰でも私がここで間違っているのを見ていますか?
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim adoCommand, adoConnection, strBase, strFilter, strAttributes
Dim objRootDSE, strDNSDomain, strQuery, adoRecordset, strName, strCN
' Setup ADO objects.
adoCommand = CreateObject("ADODB.Command")
adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open("Active Directory Provider")
adoCommand.ActiveConnection = adoConnection
' Search entire Active Directory domain.
objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
strBase = "<LDAP://" & strDNSDomain & ">"
' Filter on user objects.
'strFilter = "(&(objectCategory=Person)(objectClass=user)"
strFilter = "(&(objectCategory=Group)"
strFilter = strFilter & "(member:1.2.840.113556.1.4.1941:=(CN=AD User,DC=hnitservice,DC=local)))"
' Comma delimited list of attribute values to retrieve.
strAttributes = "sAMAccountName,cn"
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 30
adoCommand.Properties("Cache Results") = False
' Run the query.
adoRecordset = adoCommand.Execute
' Enumerate the resulting recordset.
Do Until adoRecordset.EOF
' Retrieve values and display.
strName = adoRecordset.Fields("sAMAccountName").Value
strCN = adoRecordset.Fields("cn").value
' Wscript.Echo "NT Name: " & strName & ", Common Name: " & strCN
' Move to the next record in the recordset.
adoRecordset.MoveNext
Loop
' Clean up.
adoRecordset.Close
adoConnection.Close
End Sub
あなたのタイトルは「LDAPを使ってネストされた特定のユーザのアクティブなディレクトリグループを取得してください。 しかし、結果はユーザーがメンバーであるGROUPSになります。 あなたはこう言っています:「私は広告のCNであるユーザー「ADユーザー」を探していますが、同じ結果の他のユーザーを試しました」 グループまたはユーザーを検索していますか? – jwilleke
ユーザーが所属するグループを検索しています。 AD Userは、私がグループを探しているユーザーの名前です。 だから私はユーザー名を入れてグループのリストを取得する必要があります。 – hhaumann