안녕하세요, Scripting Guy! - 포리스트에 있는 모든 도메인의 목록을 어떻게 구할 수 있습니까?


TechNet 칼럼에 오신 것을 환영합니다. 이 칼럼에서는 Microsoft Scripting Guys가 시스템 관리 스크립팅과 관련하여 자주 물어보는 질문에 대한 답변을 드립니다. 시스템 관리 스크립팅에 대해 궁금한 내용이 있습니까? 그렇다면 scripter@microsoft.com으로 전자 메일을 보내 주십시오. 모든 질문을 다룰 수는 없지만 최선을 다해 답변을 드리겠습니다.

오늘의 질문: 포리스트에 있는 모든 도메인의 목록을 어떻게 구할 수 있습니까?


포리스트에 있는 모든 도메인의 목록을 어떻게 구할 수 있습니까??

Q 안녕하세요, Scripting Guy! 포리스트에 있는 모든 도메인의 목록을 어떻게 구할 수 있습니까?

-- 한행복
A 한행복님, Active Directory에 대한 정보를 원할 때는 원본을 직접 참조하는 것이 언제나 가장 좋은 방법입니다. Active Directory에 해당 정보를 요청만 하면 됩니다. 여기에 Fabrikam.com 도메인의 글로벌 카탈로그에 바인딩하고 모든 도메인 개체를 검색하는 샘플 스크립트가 있습니다.
On Error Resume Next
Const ADS_SCOPE_SUBtrEE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBtrEE 
objCommand.CommandText = _
    "SELECT Name FROM 'GC://dc=fabrikam, dc=com' WHERE objectCategory='domain'"  
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
    Wscript.Echo objRecordSet.Fields("Name").Value
    objRecordSet.MoveNext
Loop

Active Directory 검색 스크립트에 대한 약간의 경험이 있다면 이 샘플 코드는 매우 익숙할 것입니다. 그러나 Active Directory 검색 스크립트에 경험이 별로 없거나 전혀 없다면 Scripting Guys의 "Active Directory 파헤치기" 웹 캐스트(영문)를 살펴보는 것이 좋습니다. 또한 Active Directory 검색은 강력하고 유용한 도구이기 때문에 이 내용을 살펴볼 가치가 있습니다. 이 외에도 Scripting Guys 웹 캐스트는 언제나 볼 가치가 있습니다.

Active Directory에 바인딩하는 경우에만 주의하면 됩니다. 여기서는 글로벌 카탈로그를 검색하려는 것이므로 글로벌 카탈로그 공급자를 사용해야 합니다. 그러므로 바인딩 문자열에서 LDAP:을 지정하는 대신 다음과 같이 GC:을 지정합니다.

"SELECT Name FROM 'GC://dc=fabrikam, dc=com' WHERE objectCategory='domain'"

이 점만 제외하면 이 스크립트는 매우 간단하고 짧으며 포리스트에 있는 모든 도메인의 목록을 반환할 것입니다.


자세한 정보

자세한 내용은 안녕하세요, Scripting Guy! - Archive  를 참조하십시오.

페이지 맨 위로 페이지 맨 위로

최종수정일 : 2005년 6월 22일