Code-Beispiel

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.

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

Weiteres Programmcodebeispiel in 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);
}
}
}

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