vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Benutzer aus Gruppen hinzufügen und entfernen 
Autor: escheuch
Datum: 28.02.08 12:39

Wenn ich über die Console "Active Directory-Benutzer und -Computer" Benutzer aus einer Gruppe entferne oder hinzufüge werden diese Aktionen direkt durchgeführt. Wenn ich es aber über Visual Basic, mache dauert etwa 15 sek. bis die/der Benutzer der jeweiligen Gruppe hinzufügt oder entfernt werden.

Hier der Code dazu.
Sub Benutzer_zu_Kundengruppe_hinzufuegen(ByVal gruppe As String)
        Dim objGruppe As DirectoryEntry = New DirectoryEntry("LDAP://cn=" & _
          gruppe & ",ou=Gruppen,dc=kopper,dc=lan")
        Dim str_Benutzer As String
        Dim i As String
 
        Dim arr(ListBox_alle_benutzer_anzeigen.SelectedItems.Count - 1) As _
          String
        ListBox_alle_benutzer_anzeigen.SelectedItems.CopyTo(arr, 0)
 
        For Each i In arr
            str_Benutzer = i.ToString
            Dim objSearch As New DirectorySearcher()
            objSearch.SearchRoot = New DirectoryEntry( _
              "LDAP://192.168.9.1/dc=kopper,dc=lan", _
                                        "admin", _
                                        "geheim", _
                                        AuthenticationTypes.Secure)
            objSearch.Filter = "(&(objectclass=user)(|(name=" & _
              IS_GmbH_Benutzer & ")))"
            objSearch.SearchScope = SearchScope.Subtree
            objSearch.PropertiesToLoad.Add("cn")
 
            Dim colQueryResults As SearchResultCollection
            colQueryResults = objSearch.FindAll
 
            Dim objResult As SearchResult
            For Each objResult In colQueryResults
                Dim Properties_user As String = objResult.Properties("cn")( _
                  0).ToString
                Dim strgruppe As String = "LDAP://192.168.9.1/cn=" & gruppe & _
                ",ou=Gruppen,dc=kopper,dc=lan"
                Dim Path_user As String = objResult.Path
                Dim objUser_zu_Gruppe As DirectoryEntry = New DirectoryEntry( _
                  strgruppe)
                Dim isMember As Boolean = Convert.ToBoolean( _
                objUser_zu_Gruppe.Invoke("IsMember", New Object() {Path_user}))
 
                If isMember = False Then
                    Dim objProjektleiter As DirectoryEntry
                    objProjektleiter = New DirectoryEntry(Path_user)
                    objGruppe.Invoke("Add", Path_user)
                    objGruppe.CommitChanges()
                End If
            Next
        Next
End Sub
Woran kann das liegen?
Das Tool wird in einer Domäne ausgeführt, in dem es 4 Domänencontroller gibt.
2 Domänencontroller sind am gleichen Standort an dem auch das Tool im Einsatz ist. Die anderen 2 Domänencontroller sind jeweils an anderen Standorten. Alle Standorte sind über feste VPN-Verbindungen verbunden. Das Tool wird von einer Workstation ausgeführt. Fehlermeldungen gibt keine. Warum auch. Es funktioniert ja. Es dauert nur etwa 15 Sekunden. Und das seltsame ist. Manchmal funktioniert es direkt.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Benutzer aus Gruppen hinzufügen und entfernen2.769escheuch28.02.08 12:39

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel