Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB.NET Von allen Mitgliedern einer Gruppe sAMAccountName ausgeben

Frage Entwicklung Visual Studio

Mitglied: Peacer

Peacer (Level 1) - Jetzt verbinden

18.03.2011 um 16:56 Uhr, 6044 Aufrufe, 1 Kommentar

Ich möchte eigentlich alle Mitglieder einer Gruppe auslesen. Das ist an sich auch kein Problem, ich hatte dafür auch schon eine ganz gute Lösung, allerdings konnte ich mir über den Zugriff auf das Group-Attribut "Member" nicht den "sAMAccountName" ausgeben lassen. Der wäre für mich aber ausschlaggebend damit ich mit dem Ergebnis weiterarbeiten kann.

Dann habe ich mir überlegt alle User "anzufassen" und festzustellen ob sich in dem User-Attribut "MemberOf" die Gruppe befindet die ich in textBox18 eingegeben habe.

Mein Code schaut folgendermaßen aus, aber er funktioniert komischerweise nicht mit allen Gruppen und dauert natürlich ein paar sekunden länger. Hat jemand einen Verbesserungsvorschlag? Oder gar eine ganz neue Idee?

LG Peacer



01.
Public Function GetGroupMember(ByVal domain As String, ByVal username As String, ByVal password As String, Optional ByRef exeption As Exception = Nothing) As Collections.Generic.List(Of String) 
02.
	 
03.
	Dim ADEntry As New DirectoryServices.DirectoryEntry("LDAP://" & domain, username, password) 
04.
    	Dim objSearch As New System.DirectoryServices.DirectorySearcher(ADEntry) 
05.
 
06.
    	Dim oResults As DirectoryServices.SearchResultCollection 
07.
    	Dim oResult As DirectoryServices.SearchResult 
08.
		 
09.
		Dim colEntry As New Collections.Generic.List(Of String) 
10.
		Try 
11.
    		objSearch.Filter = "(&(objectCategory=person)(objectClass=user))" 
12.
   			oResults = objSearch.FindAll 
13.
			objsearch.PropertiesToLoad.Add("MemberOf") 
14.
   		 
15.
   			For Each oResult In oResults 
16.
   				For i As Integer = 0 To oResult.Properties("MemberOf").Count - 1 
17.
   					Dim sProp As String = oResult.Properties("MemberOf")(i) 
18.
   					Dim s2Prop As String = sProp.Substring(3, sProp.IndexOf(",") - 3) 
19.
   					If s2Prop.ToLower = textBox18.Text.ToLower Then 
20.
   						Dim UsrsAM As String = oResult.GetDirectoryEntry.Properties("sAMAccountName").Value 
21.
   						Dim UsrCN As String = oResult.GetDirectoryEntry.Properties("cn").Value 
22.
   						Dim UsrCNsAM As String = UsrsAM & ", " & UsrCN 
23.
   						colEntry.Add(UsrCNsAM) 
24.
   						'Else 
25.
   						'colEntry.Add("leer " & s2Prop) 
26.
   					End If 
27.
   				Next 
28.
        		'Console.WriteLine(oResult.GetDirectoryEntry.Properties("sAMAccountName").Value) 
29.
    		Next 
30.
 
31.
		Catch ex As Exception 
32.
			exeption = ex 
33.
		 
34.
		Finally 
35.
			objsearch.Dispose() 
36.
		End Try 
37.
		Return colEntry 
38.
		 
39.
	End Function 
40.
 
Mitglied: Peacer
21.03.2011 um 09:59 Uhr
Also ich kann mir die User mit folgender Function folgendermaßen ausgeben lassen.

Function:

01.
Public Function GetGroupMember(ByVal domain As String, ByVal username As String, ByVal password As String, Optional ByRef exeption As Exception = Nothing) As Collections.Generic.List(Of String) 
02.
Dim searcher As DirectorySearcher = Nothing 
03.
		Dim colEntry As New Collections.Generic.List(Of String) 
04.
		 
05.
		Try 
06.
			searcher = New DirectorySearcher(New DirectoryEntry("LDAP://" & domain, username, password)) 
07.
			searcher.Filter = String.Concat("(&(objectClass=Group) (samAccountName=", textBox18.Text, "))") 
08.
			searcher.PropertiesToLoad.Add("Member") 
09.
			 
10.
			Dim result As SearchResult = searcher.FindOne 
11.
			For i As Integer = 0 To result.Properties("Member").Count - 1 
12.
				Dim sProp As String = result.Properties("Member")(i) 
13.
				colEntry.Add(sProp) 
14.
			Next 
15.
			 
16.
		Catch ex As Exception 
17.
			exeption = ex 
18.
			 
19.
		Finally 
20.
			searcher.Dispose() 
21.
		End Try 
22.
		Return colEntry 
23.
End Function
Output:

01.
CN=Nachname\, Vorname,OU=User,OU=abc,DC=domain,DC=com
Kann ich mit diesen Daten pro User eine LDAP Abfrage starten womit ich dann den "sAMAccountName" ausgeben kann? Ist das sinnvoll?

Zur Info: eine Group hat bei uns bis zu 1200 Mitglieder...

Danke Peacer
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VB.NET - Variable aus Textbox in Progressbar ausgeben
gelöst Frage von TermimanVB for Applications2 Kommentare

Hallo liebe Programmier, mich plagt seit gestern ein kleines Problem : Ich habe mir eine kleine Prozedur geschrieben mit ...

Windows Userverwaltung
Administrator ist Mitglied der Gruppe Domänen-Benutzer?
Frage von maxpointWindows Userverwaltung12 Kommentare

Hallo Ich bin gerade auf den Umstand gestoßen, dass der Administrator Mitglied der Sicherheitsgruppe Domänen-Benutzer ist. Das Problem, ich ...

Windows Server
Gespeicherte Abfrage nach Mitglieder einer Computer Verteil-Gruppe
Frage von akae11Windows Server2 Kommentare

Hallo in die Runde, wir möchten im AD eine neue Abfrage erstellen, die uns alle Computer einer bestimmten Verteil-Gruppe ...

Batch & Shell
Mitglieder aus mehreren AD Gruppen mit PowerShell auslesen
gelöst Frage von Stefan007Batch & Shell2 Kommentare

Hallo Leute, ich möchte gerne mit PowerShell eine Übersicht bekommen, welche Mitglieder in den speziellen Gruppen vorhanden sind. Beispiel: ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 15 StundenApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 20 StundenWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 20 StundenWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Windows XP
Windows XP Aktivieren geht nicht
Frage von tetikmiroWindows XP13 Kommentare

Hallo Ich habe einen Windows XP mit einen vCenter Converter umgezogen auf eine ESXI. Soweit funktioniert dies auch ohne ...

Blogs
Immer wiederkehrende PHP Fehlermeldung bei Wordpress UTF-8 - ASCII
gelöst Frage von vcdweltBlogs11 Kommentare

Hi, seit einiger Zeit wird mein error_log meines Wordpress Blogs mit immer der gleichen Fehlermeldung überschwemmt. 14-Dec-2017 08:18:05 UTC ...

Switche und Hubs
Redundante L2 LWL Leitung über 2 Standorte - Spanning Tree - HP Equipment
gelöst Frage von ResolvSwitche und Hubs10 Kommentare

Hallo, ich stehe vor der Herausforderung eine Redundante L2 LWL Leitung über 2 Standorte herzustellen. Grundsätzliches Switching Know How ...