사용자가 디렉터리 서비스와 Visual C# 을 사용하여 로컬 시스템에 추가하는 방법

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

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 기반 컴퓨터에서 계정이 만들어지고 게스트 그룹에 추가되었는지 확인하려면 다음 이 단계를 수행하십시오.

    1. 시작 메뉴에서 프로그램, 관리 도구 차례로 가리킨 다음 컴퓨터 관리 를 클릭하십시오.
    2. 로컬 사용자 및 그룹 노드를 차례로 눌러 확장합니다. 새 계정에 사용자 노드 아래에 물론 게스트 그룹에 대한 노드 아래에 나타나야 합니다.
    계정이 만들어지고 게스트 그룹에 추가되었는지 확인하려면 Windows XP 기반 컴퓨터에서 다음 이 단계를 수행하십시오.
    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");				

암호 및 새 사용자 계정에 대한 설명 설정

다음 코드에서는 DirectoryEntry 개체의 SetPasswordPut 메서드를 호출하는 Invoke 메서드를 호출합니다. 암호를 설정하고 사용자 계정에 대한 설명을 지정합니다. 또한 이 코드 변경 내용을 저장하려면 CommitChanges 메서드를 호출합니다.
NewUser.Invoke("SetPassword", new object[] {"#12345Abc"});NewUser.Invoke("Put", new object[] {"Description", "Test User from .NET"});NewUser.CommitChanges();				

그룹에 계정 추가

그룹에 계정을 추가하려면 다음과 같이 하십시오.
  1. DirectoryEntry 형식의 변수를 정의하십시오.
  2. ActiveDirectory 클래스의 자식 멤버 변수를 채울 Find 메서드를 호출하십시오. 이 경우 게스트 그룹은 검색 대상입니다. 이 코드 그룹의 찾을 경우 확인하려면 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

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 306273 - 마지막 검토: 12/11/2006 21:04:41 - 수정: 2.4

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

  • kbmt kbhowtomaster KB306273 KbMtko
피드백