Liste aller Codebeispiele
Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Die Bindung an Container-Objekte und der Zugriff auf deren Verzeichnisattribute erfolgt vollkommen identisch zum Zugriff auf Blatt-Objekte, also über die Klasse DirectoryEntry. Sollen die Unterobjekte des Containers aufgelistet werden, muss jedoch das Unterobjekt Children angesprochen werden, das ein DirectoryEntries-Objekt liefert.
Die Iteration durch ADSI-Container erfolgt in Visual Basic analog zur Iteration durch Collections mit der For Each-Schleife. Sie bindet eine Laufvariable vom Typ DirectoryEntry nacheinander an die Objekte im Container.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Liste der Unterobjekte eines Containers
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSI_ContainerAuflisten(ByVal pfad As String)
Dim o As DirectoryEntry
Dim c As DirectoryEntries
out("# Auflisten des Containers: " & pfad)
' --- Zugriff auf IADs
o = New DirectoryEntry(pfad)
' --- Wechsel zu IADsContainer
c = o.Children
' --- Schleife über alle Containerelemente
For Each o In c
out(o.Name)
Next
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.DirectoryServices;
namespace FCL_Buch._System_DirectoryServices {
public class ADSI_HelperMethods {
public static void ADSI_ContainerAuflisten(string pfad) {
// Liste der Unterobjekte eines Containers
FclOutput.PrintOut("# Auflisten des Containers: " + pfad);
// Zugriff auf IADs
DirectoryEntry o = new DirectoryEntry(pfad);
// Wechsel zu IADsContainer
DirectoryEntries c = o.Children;
// Schleife über alle Containerelemente
foreach ( DirectoryEntry de in c )
FclOutput.PrintOut(de.Name);
}
}
}
Querverweise
Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.DirectoryServices'
Übersicht über den FCL-Namensraum 'System.DirectoryServices'
Portal dotnetframework.de
|