Sie sind hier: Startseite
 Liste aller Codebeispiele

Anlegen einer Organisationseinheit im Active Directory

Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Eine hervorstechende Eigenschaft des Active Directory im Vergleich zum Windows NT4-Benutzerverwaltungssystem ist es, beliebige Organisationsstrukturen in Form von Verzeichnis-Containern nachzubilden. Ein solcher Container heißt im AD Organisationseinheit (Klasse "OrganizationalUnit").
Beachten Sie bei der Anlage von Organisationseinheiten im Vergleich zur Anlage von Benutzern den anderen Klassennamen ("organizationalUnit") im ersten Parameter und den anderen Attributnamen (OU) im zweiten Parameter bei Add(). Es gibt keine Pflichtattribute.

Beispiel
In dem folgenden Beispiel wird eine Organisationseinheit "BASTA" angelegt. Als freiwillige Attribute werden die Stadt ("l") und die Beschreibung ("Description") festgelegt.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Anlegen einer Organisationseinheit im AD
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADS_OUanlegen()
Dim r As DirectoryEntry
Dim o As DirectoryEntry

out("# Anlegen der OU: " & LDAPbasta)

' --- Zugriff auf Container
r = New DirectoryEntry(LDAProot)
' --- Untereintrag anlegen
o = r.Children.Add(OU, "organizationalUnit")

' --- freiwillige Attribute setzen
o.Properties("l").Add("Frankfurt")
o.Properties("Description") _
.Add("Entwickler-Fachkonferenz")
' --- Änderungen speichern
o.CommitChanges()
out("OU angelegt! " & o.Path)
End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.DirectoryServices;
using ActiveDs;

namespace FCLBuch._SystemDirectoryServices {

public class Samples_ADSI {
public void ADS_OUanlegen() {

// Anlegen eines Organisationseinheit im AD
FclOutput.PrintOut("# Anlegen der OU: " + LDAPbasta);

// Zugriff auf Container
DirectoryEntry r = new DirectoryEntry(LDAProot);
// Untereintrag anlegen
DirectoryEntry o = r.Children.Add(OU, "organizationalUnit");

// freiwillige Attribute setzen
o.Properties["l"].Add("Frankfurt");
o.Properties["Description"].Add("Entwickler-Fachkonferenz");
// Änderungen speichern
o.CommitChanges();
FclOutput.PrintOut("OU angelegt! " + o.Path);
}
}
}

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