Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Um einen Benutzer zu löschen, gibt es zwei Alternativen:
Alternative 1- Bindung an den Container über den DN des Containers
- Wechsel zur DirectoryEntries-Collection über das Attribut Children
- Suche nach dem "user"-Objekt in der Collection über den RDN des Benutzers mit der Methode Find()
- Löschen des Benutzers durch Ausführung von Remove() auf dem Container unter Angabe des DirectoryEntry-Objekts für den Benutzer
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Löschen eines Benutzers (Variante 1)
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSBenutzerloeschen()
Dim o As DirectoryEntry
Dim c As DirectoryEntries
Dim u As DirectoryEntry
out("# Löschen des Benutzerkontos: " & LDAPhs)
' --- Zugriff auf IADS
o = New DirectoryEntry(LDAPbasta)
' --- Zugriff auf IADSContainer
c = o.Children
' --- Suche nach dem Benutzer
u = c.Find(USER)
' --- Objekt löschen!
c.Remove(u)
' --- Bestätigung
out("Benutzer gelöscht!")
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.DirectoryServices;
using ActiveDs;
namespace FCLBuch._SystemDirectoryServices {
public class Samples_ADSI {
public void ADSBenutzerloeschen() {
// Löschen eines Benutzers (Variante 1)
FclOutput.PrintOut("# Löschen des Benutzerkontos: " + LDAPhs);
// Zugriff auf IADS
DirectoryEntry o = new DirectoryEntry(LDAPbasta);
// Zugriff auf IADSContainer
DirectoryEntries c = o.Children;
// Suche nach dem Benutzer
DirectoryEntry u = c.Find(USER);
// Objekt löschen!
c.Remove(u);
// Bestätigung
FclOutput.PrintOut("Benutzer gelöscht!");
}
}
}
Hinweise
Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und
PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung
von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B.
Console.WriteLine() einsetzen.
Querverweise
Liste aller Codebeispiele
Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.DirectoryServices.DirectoryEntry'
Übersicht über den FCL-Namensraum 'System.DirectoryServices'
.NET & Visual Studio Community Portal