Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Das Anlegen einer Gruppe ist fast analog zum Anlegen eines Benutzerkontos. Unterschiede sind:- Die zu erzeugende Active Directory-Klasse ist "group" statt "user".
- Es darf kein Kennwort vergeben werden.
Beispiel
In der folgenden Routine wird eine Gruppe "Sprecher" erzeugt.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Gruppe anlegen im AD
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSGruppeanlegen()
Dim r As DirectoryEntry
Dim gr As DirectoryEntry
out("# Anlegen der Gruppe: " & LDAPsprecher)
' --- Bindung an Container
r = New DirectoryEntry(LDAPbasta)
' --- Gruppenobjekt erzeugen
gr = r.Children.Add(GROUP, "group")
' --- Pflichtattribute setzen
gr.Properties("SAMAccountName").Add("Sprecher")
' --- Optionale Attribute setzen
gr.Properties("Description") _
.Add("Redner auf der BASTA")
' --- Änderungen speichern
gr.CommitChanges()
' --- Ausgabe
out("Gruppe angelegt: " & gr.Path)
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.DirectoryServices;
using ActiveDs;
namespace FCLBuch._SystemDirectoryServices {
public class Samples_ADSI {
public void ADSGruppeanlegen() {
// Gruppe anlegen in AD
FclOutput.PrintOut("# Anlegen der Gruppe: " + LDAPsprecher);
// Bindung an Container
DirectoryEntry r = new DirectoryEntry(LDAPbasta);
// Gruppenobjekt erzeugen
DirectoryEntry gr = r.Children.Add(GROUP, "group");
// Pflichattribute setzen
gr.Properties["sAMAccountName"].Add("Sprecher");
// Optionale Attribute setzen
gr.Properties["Description"].Add("Redner auf der BASTA");
// Änderungen speichern
gr.CommitChanges();
// Ausgabe
FclOutput.PrintOut("Gruppe angelegt: " + gr.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