0

VB.NETを使用してActiveDirectoryから情報を取得しようとしています。ユーザーの「primaryGroupID」があります。この場合は2096です。 VB.NETを使用して、このグループのCNを取得するにはどうすればよいですか?

最終的に、私がする必要があるのは、ユーザーが属するグループのリストを見つけることです(別のグループに属するグループを含む)。プライマリグループ以外のメイングループを取得する関数と、プライマリグループのIDを返す関数がすでにあります。両方とも以下に詳述します。

Public Function getUserGroups(ByVal Username)
    Dim grupos As New ArrayList()
    Try
        Dim Entry As New System.DirectoryServices.DirectoryEntry(ldapPath, ldapAdminUser, ldapAdminPass)
        Dim Searcher As New System.DirectoryServices.DirectorySearcher(Entry)
        Searcher.SearchScope = DirectoryServices.SearchScope.Subtree
        Searcher.Filter = "(&(objectcategory=user)(SAMAccountName=" & Username & "))"
        Dim res As SearchResult = Searcher.FindOne

        For i = 0 To res.Properties("memberOf").Count() - 1
            grupos.Add(res.Properties("memberOf")(i).ToString)
        Next
    Catch ex As Exception
    End Try
    Return grupos
End Function


Public Function GetUserPrimaryGroupID(ByVal user As String) As String
    Dim grupoID As String = ""
    Try
        Dim Entry As New System.DirectoryServices.DirectoryEntry(ldapPath, ldapAdminUser, ldapAdminPass)
        Dim Searcher As New System.DirectoryServices.DirectorySearcher(Entry)
        Searcher.SearchScope = DirectoryServices.SearchScope.Subtree
        Searcher.Filter = "(&(objectcategory=user)(SAMAccountName=" & user & "))"
        Dim res As SearchResult = Searcher.FindOne

        For i = 0 To res.Properties("primaryGroupID").Count() - 1
            grupoID = (res.Properties("primaryGroupID")(i).ToString) 'Esto devuelve la ruta "CN" del grupo
            'grupoID = (res.Properties("primaryGroupID")(i).ToString)
            'Dim de As DirectoryEntry = New DirectoryEntry("LDAP://" + res.Properties("primaryGroupID")(i).ToString())
        Next
    Catch ex As Exception
    End Try
    Return grupoID
End Function
4

1 に答える 1

0

ここに VBScript のサンプルがあります - http://support.microsoft.com/kb/297951

基本的に、プライマリ グループ ID は、グループの RID (SID の最後のコンポーネント) です。したがって、グループを見つけるには、ドメイン SID とプライマリ グループ ID を連結します。

于 2012-06-13T13:49:55.733 に答える