Code-Beispiel

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.

Programmcodebeispiel in 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

Weiteres Programmcodebeispiel in 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

Buchtipp

Buchcover PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch (6. Auflage Juni 2024 (10. Auflage Gesamtreihe)) PowerShell 7 und Windows PowerShell 5 – das Praxishandbuch
Autor(en): Dr. Holger Schwichtenberg
Erschienen 2024
Umfang: 1426 Seiten
ISBN: 3446481958

Beratung & Support

Schulungen

  Anfrage für eine individuelle Schulung zum Thema VISUAL BASIC C#   Gesamter Schulungsthemenkatalog

Fachbücher

  Alle unsere aktuellen Fachbücher   E-Book-Abo für ab 99 Euro im Jahr