Sie sind hier: Startseite
 Liste aller Codebeispiele

Löschen eines Verzeichnisobjekts, das keine Kinder hat

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!");
}
}
}

Querverweise

 Definition '.NET Framework Class Library'  Verfügbarkeit der Klasse 'System.DirectoryServices.DirectoryEntry'  Übersicht über den FCL-Namensraum 'System.DirectoryServices'  .NET & Visual Studio Community Portal