SO WIRD'S GEMACHT: Hinzufügen eines Benutzers zum lokalen System mit Verzeichnisdiensten und Visual C# .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 306273 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde zuvor veröffentlicht unter D306273
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
306273 HOW TO: Add a User to the Local System Using Directory Services and Visual C# .NET
Eine Microsoft Visual Basic .NET-Version dieses Artikels finden Sie unter Q306271.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie Sie den Namespace DirectoryServices (Verzeichnisdienste) einsetzen können, um dem lokalen System oder der lokalen Gruppe einen Benutzer hinzuzufügen.

Voraussetzungen

  • Microsoft Windows XP, Windows 2000 oder Windows NT 4.0
  • Visual C# .NET

Erstellen des Beispiels

  1. Öffnen Sie Microsoft Visual Studio .NET und erstellen Sie ein neues Visual C#-Konsolenanwendungsprojekt.
  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Verweise, und klicken Sie danach auf Verweis hinzufügen.
  3. Fügen Sie der Assembly System.DirectoryServices.dll einen Verweis hinzu.
  4. Ersetzen Sie den Code in "Class1.cs" durch den folgenden Code:
    using System;
    using System.DirectoryServices;
    
    class Class1
    {
        static void Main(string[] args)
        {
        try
            {
    	 DirectoryEntry AD = new DirectoryEntry("WinNT://" + 
    	                     Environment.MachineName + ",computer");
    	 DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");
    	 NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});
    	 NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});
    	 NewUser.CommitChanges();
    	 DirectoryEntry grp;
    
    	 grp = AD.Children.Find("Guests", "group");
    	 if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}
    	 Console.WriteLine("Account Created Successfully");
    	 Console.ReadLine();
    	}
        catch (Exception ex)
    	{
    	 Console.WriteLine(ex.Message);
    	 Console.ReadLine();
    
    	}
        }
    }
  5. Kompilieren und Sie das Projekt und führen Sie es aus.
  6. Führen Sie auf einem Windows 2000-Computer die folgenden Schritte aus, um sicherzustellen, dass das Konto erstellt und der Gruppe "Gäste" hinzugefügt wurde:

    1. Zeigen Sie im Menü Start auf Programme und auf Verwaltung, und klicken Sie dann auf Computerverwaltung.
    2. Erweitern Sie den Knoten Lokale Benutzer und Gruppen. Das neue Konto müsste unter dem Knoten Benutzer und auch unter dem Knoten für die Gruppe Gäste angezeigt werden.
    Führen Sie auf einem Windows XP-Computer die folgenden Schritte aus, um sicherzustellen, dass das Konto erstellt und der Gruppe "Gäste" hinzugefügt wurde:
    1. Klicken Sie auf Start und dann auf Systemsteuerung.
    2. Klicken Sie doppelt auf Benutzerkonten. Das neue Benutzerkonto müsste im Dialogfeld Benutzerkonten aufgeführt sein.
  7. Denken Sie bitte daran, das neu erstellte Benutzerkonto wieder aus dem System zu entfernen, wenn der Test abgeschlossen ist.

Erläuterung des Codes

Erstellen eines neuen Verzeichniseintrags

Wenn Sie den Verzeichniseintrag in diesem Beispiel erstellen, wird davon ausgegangen, dass das System mit den Betriebssystemen Microsoft Windows NT, Windows 2000 oder Windows XP ausgerüstet ist. Beachten Sie bitte, dass die Zeichenfolge, die dem Konstruktor DirectoryEntry übermittelt wird, mit "WinNT://" beginnt. Sie können die Verzeichnisdienste auch auf Betriebssystemen von Fremdanbietern ausführen.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");

Einfügen des Verzeichniseintrags in die Verzeichnisstruktur

Der folgende Code fügt einen DirectoryEntry (Verzeichniseintrag) des Typs Benutzer mit dem Wert TestUser1 in die Struktur Active Directory ein.
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");

Kennwort und Beschreibung für das neue Benutzerkonto festlegen

Der folgende Code ruft die Methode Invoke auf, um die Methoden SetPassword und Put des Objekts DirectoryEntry aufzurufen. Dadurch wird das Kennwort festgelegt und dem Benutzerkonto eine Beschreibung zugeordnet. Dieser Code ruft zudem die Methode CommitChanges auf, um die Änderungen zu speichern.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});
NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});
NewUser.CommitChanges();

Hinzufügen des Kontos zu einer Gruppe

Der erste Schritt zum Hinzufügen des Kontos zu einer Gruppe besteht darin, eine Variable des Typs DirectoryEntry zu definieren. Dann rufen Sie die Methode Find des Mitglieds Children der Klasse ActiveDirectory auf, um diese Variable mit Werten zu füllen. In diesem Beispiel ist die Gruppe "Gäste" (Guest) das Ziel der Suche. Dieser Code testet den Wert, der von der Methode Find zurückgegeben wird, um festzustellen, ob die Gruppe gefunden wurde. Wird die Gruppe gefunden, wurde das neue Benutzerkonto der Gruppe hinzugefügt.
DirectoryEntry grp;
grp = AD.Children.Find("Guests", "group");
if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}

Problembehandlung

Der Code in diesem Artikel schlägt fehl, wenn Sie nicht über die Berechtigungen zum Erstellen eines Benutzerkontos verfügen. Damit der Code erfolgreich ausgeführt werden kann, muss der aktuell angemeldete Benutzer ein Mitglied der Gruppe "Administratoren" sein oder über die spezifischen Berechtigungen zum Erstellen eines Benutzerkontos verfügen.

Eigenschaften

Artikel-ID: 306273 - Geändert am: Dienstag, 16. September 2003 - Version: 1.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C# .NET 2002 Standard Edition
Keywords: 
kbhowto kbhowtomaster KB306273
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com