كيفية إضافة مستخدم إلى النظام المحلي باستخدام خدمات الدليل و Visual C#

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

اضغط هنا لرابط المقالة باللغة الانجليزية306273
للحصول على إصدار Microsoft Visual Basic .NET من هذه المقالة، راجع 306271.

تشير هذه المقالة إلى مساحة الاسم Microsoft .NET Framework فئة مكتبة التالية:
  • System.DirectoryServices

في هذه المهمة

الموجز
تعرض هذه المقالة خطوة بخطوة كيفية استخدام مساحة الاسم DirectoryServices لإضافة مستخدم إلى مجموعة "و" النظام المحلي.

back to the top

متطلبات

  • Microsoft Windows XP أو Windows 2000 أو Windows NT 4.0
  • Visual C#
back to the top

إنشاء في نموذج

  1. بدء تشغيل Microsoft Visual Studio .NET 2003 أو Microsoft Visual Studio 2005 Microsoft Visual Studio 2008 ثم قم بإنشاء مشروع تطبيقات Visual C# لـ وحدة التحكم جديدة.
  2. في "مستكشف الحلول" انقر بزر الماوس الأيمن فوق مراجع ومن ثم انقر فوق إضافة مرجع.
  3. إضافة مرجع إلى تجمع System.DirectoryServices.dll.
  4. استبدال الرمز في ملف Class1.cs التعليمة البرمجية التالية.

    ملاحظة في Microsoft Visual C# 2005 أو في Microsoft Visual C# 2008 ويتم استبدال الملف Class1.cs الملف Program.cs.
    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. ترجمة ثم قم بتشغيل المشروع.
  6. اتبع الخطوات التالية على جهاز كمبيوتر يستند إلى نظام التشغيل Windows 2000 للتحقق من أن الحساب الذي تم إنشاؤه إضافة إلى المجموعة Guest:

    1. من القائمة ابدأ ، وأشر إلى البرامج وأشر إلى أدوات إدارية ثم ثم انقر فوق إدارة الكمبيوتر.
    2. انقر فوق توسيع عقدة المجموعات والمستخدمين المحليين. يجب أن تظهر حساب جديد ضمن عقدة المستخدمون بالإضافة ضمن عقدة مجموعة الضيف.
    اتبع الخطوات التالية على جهاز كمبيوتر يستند إلى نظام التشغيل Windows XP للتحقق من أن الحساب الذي تم إنشاؤه إضافة إلى المجموعة Guest:
    1. من القائمة "ابدأ" ، انقر فوق "لوحة التحكم".
    2. انقر نقراً مزدوجاً فوق حسابات. يجب أن يظهر حساب مستخدم جديد في مربع الحوار حسابات المستخدمين.
    ملاحظة هام: إزالة حساب مستخدم تم إنشاؤه حديثاً من النظام بعد الانتهاء من اختبار.
back to the top

الشرح التعليمات البرمجية

إنشاء إدخال دليل جديد

عند إنشاء إدخال دليل في هذه العينة المفترض أن النظام قيد التشغيل Microsoft Windows NT أو Windows 2000 أو Windows XP. لاحظ أن تبدأ السلسلة التي يتم تمريرها إلى المنشئ DirectoryEntry "WinNT: / /". يمكنك أيضاً تشغيل "خدمات خدمة" على أنظمة التشغيل الأخرى لجهة خارجية.
DirectoryEntry AD = new DirectoryEntry("WinNT://" + SystemInformation.ComputerName + ",computer");				

إضافة إدخال دليل إلى شجرة الدليل

التعليمة البرمجية التالي على إضافة DirectoryEntry نوع المستخدم بقيمة TestUser1 إلى شجرة Active Directory.
DirectoryEntry NewUser = AD.Children.Add("TestUser1", "user");				

تعيين كلمة المرور والوصف للحصول على حساب مستخدم جديد

المكالمات التعليمة البرمجية التالية أسلوب Invoke استدعاء أساليب SetPassword و وضع الكائن DirectoryEntry. تعيين كلمة المرور ثم يقوم بتعيين وصف حساب المستخدم. المكالمات هذه التعليمة البرمجية أيضاً أسلوب CommitChanges لحفظ التغييرات.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});NewUser.CommitChanges();				

إضافة الحساب إلى مجموعة

لإضافة الحساب إلى مجموعة اتبع الخطوات التالية:
  1. تعريف متغير نوع DirectoryEntry.
  2. استدعاء الأسلوب Find عضو الأطفال من الفئة ActiveDirectory لملء المتغير. في هذه الحالة هو مجموعة الضيف هدف البحث. تختبر هذه التعليمة البرمجية قيمة إرجاع الأسلوب Find لتحديد ما إذا تم العثور على المجموعة. إذا تم العثور على المجموعة تتم إضافة حساب مستخدم جديد إلى المجموعة.
DirectoryEntry grp;grp = AD.Children.Find("Guests", "group");if (grp != null) {grp.Invoke("Add", new object[] {NewUser.Path.ToString()});}				
back to the top

استكشاف الأخطاء وإصلاحها

فشل التعليمات البرمجية في هذه المقالة إذا حاولت تشغيل تعليمات برمجية بدون امتيازات كافية لإنشاء حساب مستخدم. يجب أن تكون عضواً مجموعة المسؤولين أو لديك الأذونات المحددة التي تسمح للمستخدم لإنشاء حسابات المستخدم الخاص بالمستخدم المسجل للدخول حالياً لرمز لإكمال بنجاح.

back to the top

تحذير: تمت ترجمة هذه المقالة تلقائيًا

Vlastnosti

ID článku: 306273 - Poslední kontrola: 12/11/2006 21:04:41 - Revize: 2.4

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

  • kbmt kbhowtomaster KB306273 KbMtar
Váš názor