Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Ein Objekt wird nicht durch einen Methodenaufruf auf sich selbst, sondern über die Ausführung von Remove() auf einem Container-Objekt gelöscht. Dabei ist als Parameter das DirectoryEntry-Objekt, das das zu löschende Verzeichnisobjekt repräsentiert, anzugeben. Der Aufruf von CommitChanges() ist nicht nötig.
obj = New DirectoryEntry("CONTAINER_PFAD")
neuesobj = container.Remove(DEOBJECT)
Die folgende allgemeine Hilfsroutine löscht ein Objekt, das keine Unterobjekte besitzt. Als Parameter übergeben werden der DN des Containers und der RDN des Objekts.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Löschen eines Verzeichnisobjekts, das keine Kinder hat
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSI_loeschen(ByVal container As String, ByVal oname As String)
Dim o As DirectoryEntry
Dim c As DirectoryEntries
' --- Zugriff auf IADs
o = New DirectoryEntry(container)
' --- Zugriff auf IADsContainer
c = o.Children
' --- Objekt löschen!
c.Remove(c.Find(oname))
out(oname & "gelöscht!")
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.DirectoryServices;
namespace FCLBuch._SystemDirectoryServices {
public class ADSI_HelperMethods {
public static void ADSI_loeschen(string container, string oName) {
// Löschen eines Verzeichnisobjekts, dass keine Kinder hat
// Zugriff auf IADs
DirectoryEntry o = new DirectoryEntry(container);
// Zugriff auf IADsContainer
DirectoryEntries c = o.Children;
// Objekt löschen!
c.Remove(c.Find(oName));
FclOutput.PrintOut(oName + "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