Leistungen
Leistungen
Überblick
Leistungsangebot
Kernkompetenzen
Schulungsthemen
In-House-Schulungen
Offene .NET-Seminare
Offene WPS-Seminare
Beratung
Coaching
Support
Softwareentwicklung
Entwickler-Vermittlung
.NET/Visual Studio
TFS/ALM/Scrum
Webprogrammierung
PowerShell
Konditionen
Anfrage/Kontakt
Beratung/Coaching
Beratung/Coaching
Beratungsthemen
Coaching
Unsere Berater
Referenzkunden
Konditionen
Angebotsanfrage
In-House-Schulungen
In-House-Schulungen
Überblick
Themen/Fachgebiete
Schulungskonfigurator
Konzepte
.NET/Visual Studio
C#
VB.NET
ASP.NET
Moderne Webanwendungen
TFS/ALM/Scrum
PowerShell
Konferenzvortraege
Referenzkunden
Unsere Trainer
Konditionen
Angebotsanfrage
Offene Schulungen
Offene Schulungen
Überblick .NET-Seminare
.NET/C#-Basisseminar
WPF (Desktop)
ASP.NET/AJAX (Web)
WCF/WF (SOA)
ADO.NET/EF (Data)
Windows PowerShell
.NET, C#, VB, Visual Studio
.NET, C#, VB, Visual Studio
Startseite
Beratung/Training
Offene .NET-Seminare
Einführung
Lexikon
Artikel
Bücher
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
World Wide Wings Demo
Codebeispiele
Scripting
ASP.NET
.NET 2.0
.NET 3.0/3.5
.NET 4.0/4.5
Community
Forum
Kommerzielle Leistungen
ASP.NET
ASP.NET
Startseite
Lexikon
Sicherheit
Konfiguration
Global.asax
Tracing
Technische Beiträge
Klassenreferenz
Programmiersprachen
Entwicklerwerkzeuge
Softwarekomponenten
PowerShell
PowerShell
Überblick
Beratung
In-House-Schulungen
Öffentliche Schulungen
Codebeispiele
Commandlet Extensions
Offene PowerShell-Seminare
Inhouse-Seminare
Windows
Windows
Startseite
Windows Runtime (WinRT)
Windows PowerShell
Windows Scripting
Windows-Schulungen
Windows-Lexikon
Windows-Forum
Windows Scripting
Windows Scripting
Startseite
Lexikon
FAQ
Buecher
Architektur
Skriptsprachen
Scripting-Hosts
Scripting-Komponenten
COM/DCOM/COM+
ADSI
WMI
Scripting-Tools
WSH-Editoren
Codebeispiele
ASP.NET
.NET-Scripting
Forum
Links
Kommerzielle Leistungen
Service
Service
Website-FAQ
Anmeldung/Login
Leser-Registrierung
Gast-Registrierung
Nachrichten/RSS
Newsletter
Foren
Weblog
Lexikon
Downloads
Support
Kontakt
Literaturtipps
Publikationen
Publikationen
Redaktionsbüro
Bücher
Fachartikel
Leser-Portal
Autoren gesucht!
Rezensionen
Über uns
Über uns
Holger Schwichtenberg
Team
Referenzkunden
Kundenaussagen
Referenzprojekte
Partner
Site Map
Weitere Websites
Tag Cloud
Impressum
Rechtliches

Anlegen eines Benutzers mit dem WinNT-Provider
Codebeispiel für Visual Basic .NET (VB.NET) und CSharp (C#)

Liste aller Codebeispiele

Anlegen eines Benutzers mit dem WinNT-Provider

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

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Das Anlegen eines Benutzers mit dem WinNT-Provider ist dem Anlegen eines Benutzers mit dem LDAP-Provider sehr ähnlich. Allerdings gibt es keine Pflichtattribute, die zu setzen sind. Das Löschen ist völlig analog und kann daher mit der allgemeinen Hilfsroutine ADSI_Loeschen_Rekursiv("Benutzer_DN") erfolgen.

Programmcodebeispiele Visual Basic .NET (VB.NET)

' --- Demo-Daten für WINNT-Provider
Const COMPUTER = "mars"
Const BENUTZER = "HSch"

' ============================
' .NET-Code-Beispiel in Visual Basic .NET
' Anlegen eines Benutzers mit dem WinNT-Provider
' (C) Holger@Schwichtenberg.de
' ============================
Sub WINNT_Benutzeranlegen()

Dim o As DirectoryEntry
Dim c As DirectoryEntries

Dim Benutzer_DN As String

Benutzer_DN = "WinNT://" & COMPUTER & "/" & BENUTZER

outtitle("Benutzer anlegen:" & Benutzer_DN)

' -- Prüfung, ob Objekt vorhanden ist
If DirectoryEntry.Exists(Benutzer_DN) Then
  out("Benutzer bereits vorhanden...")
  ADSI_Loeschen_Rekursiv(Benutzer_DN)
End If

' --- Zugriff auf IADs
o = New DirectoryEntry("WinNT://" & COMPUTER)
' --- Zugriff auf IADsContainer
c = o.Children()
' --- Neues Objekt erzeugen
o = c.Add(BENUTZER, "user")
' --- Verzeichnisattribute festlegen
o.Invoke("setpassword", "123456789")
o.CommitChanges()

o.NativeObject.AccountDisabled = False
o.CommitChanges()

out("Benutzer angelegt!")

End Sub

Programmcodebeispiele CSharp (C#)

using System;
using System.Collections;
using System.DirectoryServices;

namespace FCL_Buch._System_DirectoryServices {

  public class Samples_ADSI_WINNT {
public void WINNT_Benutzeranlegen() {

   // Anlegen eines Benutzers mit dem WinNT-Provider
   string Benutzer_DN = "WinNT://" + COMPUTER + "/" + BENUTZER;

   FclOutput.PrintOutSubHeader("Benutzer anlegen:" + Benutzer_DN);

   // Prüfung, ob Objekt vorhanden ist
   if (DirectoryEntry.Exists(Benutzer_DN)) {
   FclOutput.PrintOut("Benutzer bereits vorhanden...");
   ADSI_HelperMethods.ADSI_Loeschen_Rekursiv(Benutzer_DN);
   }

   // Zugriff auf IADs
   DirectoryEntry o = new DirectoryEntry("WinNT://" + COMPUTER);
   // Zugriff auf IADsContainer
   DirectoryEntries c = o.Children;
   // Neues Objekt erzeugen
   o = c.Add(BENUTZER, "user");
   // Verzeichnisattribute festlegen
   o.Invoke("setpassword", "123456789");
   o.CommitChanges();

   ((ActiveDs.IADsUser)o.NativeObject).AccountDisabled = false;
   o.CommitChanges();

   FclOutput.PrintOut("Benutzer angelegt!");
   }
}
}

Querverweise

Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.DirectoryServices'
Übersicht über den FCL-Namensraum 'System.DirectoryServices'
Portal dotnetframework.de