… habe mich heute mit VB und der Gruppenverwaltung etwas beschäftigt, daher teile ich das ganze hier mal 😉
Nachfolgend ein Beispiel, wie man Benutzer/Gruppen zur Gruppe der lokalen Administratoren hinzufügen/entfernen kann, oder hier als Download.
Imports System.DirectoryServices Module Module1 Private Function AddToLocalGroup(strDomain As String, strLocalAdminGroup As String, strIdentName As String, strIdentType As String) Try Dim PCNAME As String = "." 'Dim localusrname As String = UserNameTxtBx.Text Dim LCL As New DirectoryEntry("WinNT://" & PCNAME & ",computer") Dim DOM As New DirectoryEntry("WinNT://" & strDomain) Dim DOMUSR As DirectoryEntry = DOM.Children.Find(strIdentName, strIdentType) Dim LCLGRP As DirectoryEntry = LCL.Children.Find(strLocalAdminGroup, "group") Console.WriteLine(DOMUSR.Path.ToString) LCLGRP.Invoke("Add", New Object() {DOMUSR.Path.ToString}) Return "The " & strIdentType & " """ & strDomain & "" & strIdentName & """ has been added to ." & strLocalAdminGroup Catch ex As Exception Return ex.Message End Try End Function Private Function RemoveFromLocalGroup(strDomain As String, strLocalAdminGroup As String, strIdentName As String, strIdentType As String) Try Dim PCNAME As String = "." 'Dim localusrname As String = UserNameTxtBx.Text Dim LCL As New DirectoryEntry("WinNT://" & PCNAME & ",computer") Dim DOM As New DirectoryEntry("WinNT://" & strDomain) Dim DOMUSR As DirectoryEntry = DOM.Children.Find(strIdentName, strIdentType) Dim LCLGRP As DirectoryEntry = LCL.Children.Find(strLocalAdminGroup, "group") Console.WriteLine(DOMUSR.Path.ToString) LCLGRP.Invoke("Remove", New Object() {"WinNT://" & strDomain & "/" & strIdentName}) Return "The " & strIdentType & " """ & strDomain & "" & strIdentName & """ has been removed from ." & strLocalAdminGroup Catch ex As Exception Return ex.Message End Try End Function Sub Main() ' add domain user/group 'Console.WriteLine("Return-Code: " & AddToLocalGroup("nwtraders.msft", "Administratoren", "GroupToAdd", "group")) ' remove domain user/group 'Console.WriteLine("Return-Code: " & RemoveFromLocalGroup("nwtraders.msft", "Administratoren", "UserToAdd", "user")) End Subp End Module