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

기술 자료 번역 기술 자료 번역
기술 자료: 306273 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 로컬 시스템 및 그룹에 사용자를 추가하려면 DirectoryServices 네임스페이스를 사용하는 방법을 보여 줍니다.

요구 사항

  • Microsoft Windows XP, Windows 2000 또는 Windows NT 4.0
  • Visual C#

샘플 만들기

  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. 사용자 계정 을 두 번 누릅니다. 새 사용자 계정을 사용자 계정 대화 상자에 나타나야 합니다.
    중요 참고: 테스트를 마친 후 새로 만든된 사용자 계정을 시스템에서 제거.

코드 설명

새 디렉터리 항목 만들기

이 샘플에서는 디렉터리 항목을 만들 때 시스템이 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()});}
				

문제 해결

사용자 계정을 만들 수 있는 권한이 없는 코드를 실행하려고 하면 이 문서에 나와 있는 코드는 실패합니다. 코드를 성공적으로 완료하려면 현재 로그온한 사용자가 관리자 그룹의 구성원이어야 또는 사용자 계정을 만들 수 있도록 특정 사용 권한이 있어야 합니다.

속성

기술 자료: 306273 - 마지막 검토: 2006년 12월 11일 월요일 - 수정: 2.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
키워드:?
kbmt kbhowtomaster KB306273 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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