Remove Domain Users Group from User in AD via VB.Net

  Can someone help achieve this through VB.NET, I don't speak C#

  I am able to add a user in AD, add a second security group, set the new group as default, but then I cannot remove the old default group.  If I go thru AD interface the group will remove.  I have tried several versions of code that all generate errors.

  Any help appreciated.

Code -----------------------------------

Public Shared Sub RemoveDU(ByVal Login As String)

        Dim de As DirectoryEntry = GetDirectoryEntry()
        Dim deSearch As DirectorySearcher = New DirectorySearcher(de)
        deSearch.Filter = "(&(objectClass=user)(samaccountname=" & Login & "))"
        deSearch.SearchScope = SearchScope.Subtree
        Dim deSearchResult As SearchResult = deSearch.FindOne

        If Not deSearchResult Is Nothing Then
            Dim dey As DirectoryEntry = GetDirectoryEntry(deSearchResult.Path)

            Dim deDomainUsers As DirectoryEntry = New DirectoryEntry("LDAP:// Users,CN=Users,DC=xxx,DC=org")

            'Remove the User from "Domain Users" group
            'deDomainUsers.Children.Remove(dey)   - tried this as well

            deDomainUsers.CommitChanges()  - fails here

        End If
    End Sub
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

'Get reference to group, CN="Domain Users"
Dim deDomainUsers As DirectoryEntry = New DirectoryEntry("LDAP:// Users,CN=Users,DC=xxx,DC=org")

'Get reference to user, CN="USER_ID"
Dim deUser As DirectoryEntry = New DirectoryEntry("LDAP://,CN=Users,DC=xxx,DC=org")

'Remove user from group using invoke method
deDomainUsers.Invoke("Remove", New Object() {deUser.Path.ToString()})



Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
IU5Author Commented:
Excellent Help Thanks
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic.NET

From novice to tech pro — start learning today.