Code-Beispiel
Ein Beispiel zum Einsatz der Klasse System.DirectoryServices.DirectoryEntry aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Als Äquivalent zu der COM-Methode IADSContainer.MoveHere() gibt es in der FCL-Klasse DirectoryEntry die Methode MoveTo(). Sie verschiebt ein Verzeichnisobjekt in einen anderen Container. Der Zielcontainer ist in Form eines zweiten DirectoryEntry-Objekts als Parameter zu übergeben.
Beispiel
In der folgenden Routine wird der Benutzer "H.Schwichtenberg" aus der Organisationseinheit "BASTA" in den Standard-Benutzer-Container "Users" verschoben.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Verschieben eines AD-Benutzerkontos
' (C) Holger@Schwichtenberg.de
' ============================
Sub ADSbenutzerverschieben()
Dim de As DirectoryEntry
Dim con As DirectoryEntry
out("# Verschieben des Benutzerkontos: " & LDAPhs)
' --- Zugriff auf Benutzer
de = New DirectoryEntry(LDAPhs)
' --- Zugriff auf neuen Container
con = New DirectoryEntry(LDAPusers)
' --- Verzeichnisnamen ändern
de.MoveTo(con)
End Sub
Programmcodebeispiele CSharp (C#)
using System;
using System.DirectoryServices;
using ActiveDs;
namespace FCLBuch._SystemDirectoryServices {
public class Samples_ADSI {
public void ADSbenutzerverschieben() {
// Verschieben eines ADS-Benutzerkontos
FclOutput.PrintOut("# Verschieben des Benutzerkontos: " + LDAPhs);
// Zugriff auf Benutzer
DirectoryEntry de = new DirectoryEntry(LDAPhs);
// Zugriff auf neuen Container
DirectoryEntry con = new DirectoryEntry(LDAPusers);
// Verzeichnisname ändern
de.MoveTo(con);
// Änderungen speichern
// de.CommitChanges();
}
}
}
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