2014-09-08 3 views
0

활성 디렉터리에 새 OU (Organizational Unit)를 만들 코드를 설정하려고합니다.다른 도메인의 활성 디렉터리에 OU 만들기

목표는 Active Directory의 SSO에서 보안 구조를 복제하고 사용자 프로비저닝을 자동화하는 것입니다.

PrincipalContext를 사용하여 그룹과 사용자를 만들 수있는 작업 코드가 있습니다.

테스트중인 컴퓨터이기 때문에 연결하려는 도메인 컨트롤러가 다른 도메인에 있습니다. 이 테스트 컨트롤러를 DNS 용으로 사용하고 호스트 파일에 항목이있는 컴퓨터를 설정했습니다.

아래 코드를 실행하면 오류가 발생하지 않습니다. 그러나 활성 디렉토리를 확인할 때마다 OU가 생성되었다는 증거는 없습니다.

public static void CreateOU() 
{ 
    DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password"); 
    domain.Children.Add("AnotherOU", "OrganizationalUnit"); 
    domain.CommitChanges(); 
} 

내가 잘못된 LDAP 경로에 넣어 또는 testdomain.test.com을 제거하면 나는 확실히 또는 OU를 찾는 다른 오류 (잘못된 도메인에 연결) 중 하나를 로그인 오류를 얻을.

편집 - 사용중인 계정이 도메인 관리자입니다.

수정 - 아래 답변에 추가하십시오. 또한 AnotherOU 이름을 OU = AnotherOU로 변경해야합니다. 그렇지 않으면 이름 지정 위반 오류가 발생합니다. 이와

+0

DirectoryEntry의 생성자에서 사용되는 계정의 권한은 어떻게됩니까? – Oscar

+0

지금 계정이 도메인 관리자입니다. 컨트롤러에 로그온하여 Active Directory 사용자 및 컴퓨터를 사용하여 수동으로 OU를 만들 수 있습니다. – VaultBoy14

답변

1

시도 :

public static void CreateOU() 
{ 
    DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password"); 
    DirectoryEntry newOU = domain.Children.Add("AnotherOU", "OrganizationalUnit"); 
    newOU.CommitChanges(); 
} 

당신은 호출해야합니다 CommitChanges() 새로 생성 된 객체가 아니라 부모입니다.

+0

'PrincipalContext' 사용하기? – Kiquenet