patrick-w
Goto Top

VB.Net auslesen von Userndaten aus AD

Tachen Administratoren...
Ich bin gerade dabei ein kleines Tool zu Programmieren nur komme ich nun an einer Stelle nicht weiter. Da ich nicht gerade ein Held in Sachen PRogrammierung bin, hoffe ich das ihr mir etwas weiter helfen könnt.

Ich verusche per VB.Net (Visual Stuio 2010) Daten von unerem DomainController (Windows Active Directory) auszulesen.
Und zwar möchste ich die gesamten Userinformationen auslesen und in eine Tabelle schreiben.
In einem zweiten schritt plane ich dann auch User über dieses Tool anzulegen und Kennwörter neu zu setzten.

Hat jemand hierzu vielleicht ein ppar Code Snippets?
Oder kann mir einer sagen, wie ich die Daten aus der AD ausgelesen bekommen.
Hab schon etwas in Richtung System.DirectoryServices gefunden. Nur leider bekomme ich den in meinem Projekt nicht eingebunden...

Vielen Dank für eure Hilfe...

Beste Grüße
Patrick

Content-ID: 172276

Url: https://administrator.de/contentid/172276

Ausgedruckt am: 26.11.2024 um 10:11 Uhr

SlainteMhath
SlainteMhath 30.08.2011 um 11:40:08 Uhr
Goto Top
Moin,

Hab schon etwas in Richtung System.DirectoryServices gefunden. Nur leider bekomme ich den in meinem Projekt nicht eingebunden...
Ohne die gehts aber nicht. Wo liegt denn das Problem?

Erster treffer bei google:
http://www.dreamincode.net/forums/topic/30894-working-with-the-active-d ...


''' <summary>  
''' Function to search the Active Directory and ensure the Login provided in Agent Process is a valid one. The search is performed  
''' to see if the login provided exists for the first and last name of the associate being added  
''' </summary>  
''' <param name="loginName">Login of the associate to search for</param>  
''' <param name="givenName">First name fo the associate being added</param>  
''' <param name="surName">Last name of the associate being added</param>  
''' <returns>True or False depending if the login provided is a valid one</returns>  
Public Function IsValidADLogin(ByVal loginName As String, ByVal givenName As String, ByVal surName As String) As Boolean
	Try
		'Create a DirectorySearcher Object (used for searching the AD)  
		Dim search As New DirectorySearcher()
		'Set the filter on the searcher object to look for the SAMAccountName, givenName  
		' and the sn (Sur Name)  
		search.Filter = String.Format("(&(SAMAccountName={0})(givenName={1})(sn={2}))", ExtractUserName(loginName), givenName, surName)  
		'Now load these properties to the search  
		search.PropertiesToLoad.Add("cn")  
		search.PropertiesToLoad.Add("SAMAccountName")   'Users login name  
		search.PropertiesToLoad.Add("givenName")	'Users first name  
		search.PropertiesToLoad.Add("sn")   'Users last name  
		'Use the .FindOne() Method to stop as soon as a match is found  
		Dim result As SearchResult = search.FindOne()
		'Now check to see if a result was found  
		If result Is Nothing Then
			'Login isn't valid  
			Return False
		Else
			'Valid login  
			Return True
		End If
	Catch ex As Exception
		MessageBox.Show(ex.Message, "Active Directory Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)  
	End Try
End Function
Patrick-W
Patrick-W 30.08.2011 um 12:24:10 Uhr
Goto Top
Bekomme die MEldung DirectorySearcher ist nicht deklariert.

Wenn ich den Namensspace hinzufügen möchte bekomme ich folgende Meldung:
Warnung 1 Der in Imports "System.DirectoryServices" angegebene Namespace oder Typ enthält keine öffentlichen Member oder kann nicht gefunden werden. Stellen Sie sicher, dass der Namespace oder der Typ definiert ist und mindestens einen öffentlichen Member enthält und dass der importierte Elementname keine weiteren Aliase enthält. C:\Dokumente und Einstellungen\rzadmin\eigene dateien\visual studio 2010\Projects\IT-Management\IT-Management\MDIParent1.vb 7 9 IT-Management

Was mache ich falsch?
SlainteMhath
SlainteMhath 30.08.2011 um 12:30:48 Uhr
Goto Top
Was mache ich falsch?
Du hast in deinem Projekt keinen Verweis auf System.DirectoryServices gesetzt
Patrick-W
Patrick-W 30.08.2011 um 12:53:08 Uhr
Goto Top
Ah, okay das Problem ist dann schon einmal behoben. Besten Dank.
Weißt du zufällig auch wie cih nun die USerdaten auslesen kann...?
Gertruede
Gertruede 30.08.2011 um 13:25:20 Uhr
Goto Top
Hi Patrick,
meines Wissens ist vb.net gar nicht so weit von vbscript entfernt. Demzufolge müssten doch auch die meisten VBScript Snippets funktionieren.
Google doch mal nach VBScript und AD Infos.
Da wirst Du hunderte von Progrämmchen finden, aus denen Du dir recht problemlos deine Wunschinfos ziehen kannst.
Ansonsten: Microsoft Script Center, Scripting Guy, tecchannel, .....
Grüße
G.