Πώς μπορείτε να προσθέσετε ένα χρήστη στο τοπικό σύστημα, χρησιμοποιώντας τις υπηρεσίες καταλόγου και Visual C#

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:306273
Για την έκδοση Microsoft Visual Basic .NET αυτού του άρθρου, ανατρέξτε στην ενότητα306271.

Αυτό το άρθρο αναφέρεται στο ακόλουθο χώρο ονομάτων Microsoft .NET Framework Class Library:
  • System.DirectoryServices

Σε αυτήν την εργασία

Περίληψη
Αυτό το άρθρο βήμα προς βήμα σας δείχνει τον τρόπο χρήσης τουDirectoryServicesχώρος ονομάτων για να προσθέσετε ένα χρήστη στο τοπικό σύστημα και μια ομάδα.

back to the top

ΑΠΑΙΤΗΣΕΙΣ

  • Microsoft Windows XP, Windows 2000 ή Windows NT 4.0
  • Το Visual C#
back to the top

Δημιουργία του δείγματος

  1. Start Microsoft Visual Studio .NET 2003, Microsoft Visual Studio 2005, or Microsoft Visual Studio 2008, and then create a new Visual C# Console Application project.
  2. Στην Εξερεύνηση των λύσεων, κάντε δεξιό κλικΑναφορές, και στη συνέχεια κάντε κλικ στο κουμπίΠροσθήκη αναφοράς.
  3. Προσθέστε μια αναφορά για τοSystem.DirectoryServices.dllη συγκρότηση.
  4. Replace the code in the Class1.cs file with the following code.

    ΣΗΜΕΙΩΣΗIn Microsoft Visual C# 2005 or Microsoft Visual C# 2008, the Class1.cs file is replaced by the Program.cs file.
    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. Compile and then run the project.
  6. Follow these steps on a Windows 2000-based computer to verify that the account was created and added to the Guest group:

    1. Από τοStartμενού, σημείοΠρογράμματα (Programs), τοποθετήστε το δείκτηΕργαλεία διαχείρισης, και στη συνέχεια κάντε κλικ στο κουμπίΔιαχείριση Υπολογιστή (Computer Management).
    2. Κάντε κλικ για να αναπτύξετε τοΤοπικοί λογαριασμοί Users και Groups (Local Users and Groups)κόμβος. The new account should appear under theΧρήστες (Permissions for Users)node, as well as under the node for theεπισκέπτηςΌμιλος.
    Follow these steps on a Windows XP-based computer to verify that the account was created and added to the Guest group:
    1. Από τοStartμενού, κάντε κλικ στο κουμπίΟ πίνακας ελέγχου.
    2. Διπλό κλικΛογαριασμοί χρηστών (User Accounts). The new user account should appear in theΛογαριασμοί χρηστών (User Accounts)παράθυρο διαλόγου.
    ΣΗΜΑΝΤΙΚΉ ΣΗΜΕΊΩΣΗ: Remove the newly created user account from the system after you finish testing.
back to the top

Code Explanation

Create a New Directory Entry

When you create the directory entry in this sample, it is assumed that the system is running Microsoft Windows NT, Windows 2000, or Windows XP. Note that the string that is passed to theDirectoryEntryconstructor begins with "WinNT://". You can also run Directory Services on other third-party operating systems.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");				

Add the Directory Entry to the Directory Tree

The following code adds aDirectoryEntryof typeΧΡΗΣΤΗΣwith the value ofTestUser1Για να τοΥπηρεσία καταλόγου Active Directoryδέντρο.
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");				

Set the Password and Description for the New User Account

The following code calls theInvokemethod to invoke theSetPasswordANDPutmethods of theDirectoryEntryObject. This sets the password and assigns a description to the user account. This code also calls theCommitChangesmethod to save the changes.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});NewUser.CommitChanges();				

Add the Account to a Group

To add the account to a group, follow these steps:
  1. Define a variable of typeDirectoryEntry.
  2. Call theΕύρεσηη μέθοδος τουChildrenμέλος τουActiveDirectoryclass to populate the variable.In this case, the Guest group is the target of the search. This code tests the value that theΕύρεσηmethod returns to determine if the group has been found. If the group is found, the new user account is added to the group.
DirectoryEntry grp;grp = AD.Children.Find("Guests", "group");if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}				
back to the top

ΑΝΤΙΜΕΤΩΠΙΣΗ ΠΡΟΒΛΗΜΑΤΩΝ

The code in this article fails if you try to run the code without the sufficient privileges to create a user account. For the code to complete successfully, the currently logged on user must be a member of the Administrators group or have specific permissions that allow the user to create user accounts.

back to the top

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

Eigenschaften

Artikelnummer: 306273 – Letzte Überarbeitung: 12/20/2010 05:13:00 – Revision: 2.0

Microsoft Visual C# 2008 Express Edition, Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition

  • kbhowtomaster kbmt KB306273 KbMtel
Feedback