Enumerate local groups and their membership?

G

ginolard

I'm trying to find out how to enumerate all local groups on a machine
and list their membership. It's easy in Vbscript but it seems to be
considerably more tricky in VB.NET.

Am I missing something obvious?
 
G

ginolard

Phew, I figured it out....

For Each DeEntry In groupcoll.Children
If DeEntry.SchemaEntry.Name = "Group" Then
EnumGroupMembers(DeEntry.Name)
End If
Next


Public Sub EnumGroupMembers(ByVal group As String)
Console.WriteLine("Being enumerating members of " & group)
Dim MembersCollection As IADsMembers
Dim GroupToEnum As New DirectoryEntry("WinNT://" & strComputer & "/" &
group & ",group")
MembersCollection = GroupToEnum.Invoke("Members")
Dim filter As System.Object() = {"user"}
MembersCollection.Filter = filter
Dim user As IADsUser
Dim grp As IADsGroup

For Each user In MembersCollection
Console.WriteLine(user.ADsPath)
Next

Dim grpfilter As System.Object() = {"group"}
MembersCollection.Filter = grpfilter
For Each grp In MembersCollection
Console.WriteLine(grp.ADsPath)
Next
Console.WriteLine("Finished enumerating members of" & group)
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top