vbscript到c# - 列出计算机是成员的组(检索数组)

时间:2011-03-20 21:29:12

标签: c# active-directory ldap

我一直在这里搜索并搜索谷歌。无法真正让我的头脑周围。

我需要为我拥有的另一个工具提供一个数组列表。这是在C#中写的,对于特定计算机的retreiving组,我能想到的最好的是下面的。如果结果是一个数组,它在C#中看起来怎么样?

Set objComputer = GetObject("LDAP://CN=ComputerName,CN=Computers,DC=contoso,DC=com")
Set colGroups = objComputer.Groups
For Each objGroup in colGroups
    Wscript.Echo objGroup.CN
    GetNested(objGroup) 
Next

Function GetNested(objGroup)
    On Error Resume Next
    colMembers = objGroup.GetEx("memberOf")
    For Each strMember in colMembers
        strPath = "LDAP://" & strMember
        Set objNestedGroup = GetObject(strPath)
        WScript.Echo objNestedGroup.CN
        GetNested(objNestedGroup)
    Next
End Function

1 个答案:

答案 0 :(得分:0)

如果使用.net framework 3.5不是问题,那么使用System.DirectoryServices.AccountManagement中的GetAuthorizationGroups方法读取递归组成员资格的方法要简单得多。 PowerShell示例位于我的blog