Windows Server

Active Directory 관리를 위한 11가지 필수 도구

Laura E. Hunter

 

한 눈에 보기:

  • 명령줄에서 개체 만들기
  • Active Directory 내에서 일괄 작업 수행
  • Active Directory 업데이트 및 유지 관리

200명의 신입 사원이 나열된 Excel 스프레드시트를 받았거나, 지원 부서의 담당자가 어떤 것을 잘못 클릭하여 사용자 계정이 잘못 구성된 경우 등 Active Directory에 관련된 상황은 다양합니다.

이러한 상황에서 매번 사용자 및 컴퓨터를 여는 것 외에도 더 쉬운 방법으로 Active Directory®를 관리하고자 할 때 도움이 될 수 있는 다양한 무료 관리 도구가 있습니다. Windows® OS에서 기본으로 제공하는 도구도 있고 Resource Kit 또는 Windows 지원 도구로 제공되는 도구도 있으며, 타사의 무료 도구도 있습니다. 이러한 편리한 도구로는 무엇이 있으며 어디에서 찾을 수 있는지 살펴보겠습니다.

우선 Active Directory에서 개체를 만들고, 삭제하고, 수정하고, 검색할 수 있는 Windows Server® 2003 기본 제공 명령줄 도구부터 시작하겠습니다.

CSVDE

CSVDE(Comma-Separated Values Data Exchange) 도구를 사용하면 CSV 원본 파일을 사용하여 새 개체를 Active Directory로 가져올 수 있습니다. 또한 기존 개체를 CSV 파일로 내보낼 수도 있습니다. 기존 개체를 수정하는 데는 CSVDE를 사용할 수 없습니다. 이 도구를 가져오기 모드에서 사용하면 새 개체를 만드는 것만 가능합니다.

CSVDE를 사용하여 기존 개체의 목록을 내보내는 방법은 꽤 간단합니다. 다음은 Active Directory 개체를 ad.csv라는 이름의 파일로 내보내는 방법입니다.

csvde –f ad.csv

–f 스위치는 뒤에 출력 파일의 이름이 온다는 것을 나타냅니다. 하지만 환경에 따라서는 이 기본 구문을 사용했을 때 방대하고 다루기 힘든 출력 파일이 생성될 수 있음을 알아야 합니다. 특정 OU(조직 구성 단위) 내의 개체만 내보내도록 도구를 제한하려면 명령문을 다음과 같이 수정할 수 있습니다.

csvde –f UsersOU.csv –d ou=Users,dc=contoso,dc=com

이제 사용자 개체를 CSV 파일로 내보내는 경우를 가정해 보겠습니다. 이 경우 검색을 위한 LDAP(Lightweight Directory Access Protocol) 필터를 지정할 수 있는 –r 스위치와, 내보낼 특성 수를 제한하는 –l 스위치를 추가할 수 있습니다. 다음은 모두 한 줄에 입력해야 합니다.

csvde –f UsersOnly.csv –d ou=Users,dc=contoso,dc=com –r 
    "(&(objectcategory=person)(objectclass=user))" –l 
    DN,objectClass,description

–i 스위치를 사용하면 개체를 원본 CSV 파일에서 Active Directory로 가져올 수 있습니다. 하지만 CSVDE를 통해 사용자 개체를 만드는 데에는 한 가지 중요한 제한이 있습니다. 즉, 해당 개체에 사용자 암호를 설정할 수 없다는 점입니다. 이점 때문에 필자는 사용자 개체를 만들 때는 CSVDE를 사용하지 않습니다.

LDIFDE

Active Directory는 일괄 사용자 작업을 위한 또 하나의 기본 제공 도구인 LDIFDE를 제공하는데 이 도구는 CSVDE보다 강력하고 활용도가 뛰어납니다. LDIFDE를 사용하면 새 개체를 만들 수 있을 뿐만 아니라 기존 개체를 수정 및 삭제하고 Active Directory 스키마를 확장할 수도 있습니다. LDIFDE는 활용도가 높은 대신, LDIF 파일(.ldf)이라고 하는 필수 입력 파일의 형식이 CSV 파일보다 복잡하다는 단점이 있습니다. LDIFDE에서는 약간의 작업을 통해 사용자 암호도 구성할 수 있습니다. 이에 대해서는 뒷부분에서 간단히 살펴보겠습니다.

우선 OU의 사용자를 LDF 파일로 내보내는 간단한 예제부터 시작하겠습니다. 다음은 모두 한 줄에 입력해야 합니다.

ldifde -f users.ldf -s DC1.contoso.com -d "ou=UsersOU,dc=contoso,dc=com"
       –r "(&(objectcategory=person)(objectclass=user))"

대부분의 명령줄 도구와 마찬가지로 LDIFDE /? 명령을 실행하면 LDIFDE 스위치에 대한 전체 설명을 볼 수 있습니다. 그림 1에서는 이에 대한 예를 보여 줍니다. 실제로 CSVDE와 LDIFDE 명령의 스위치는 동일합니다.

Figure 1 LDIFDE 스위치

스위치 설명
-d LDIFDE가 작업을 위해 연결해야 하는 LDAP 경로를 지정합니다.
-f 사용할 파일의 이름, 이 경우 내보내기 결과를 출력할 파일의 이름을 나타냅니다.
-r 내보내기에 사용할 LDAP 필터를 지정합니다.
-s 작업을 수행하기 위해 연결할 DC(도메인 컨트롤러)를 지정합니다. 이 스위치를 지정하지 않으면 LDIFDE는 로컬 DC(이 도구를 워크스테이션에서 실행하는 경우 사용자를 인증한 DC)에 연결합니다.
   

LDIFDE의 진가는 개체 만들기 및 조작에서 드러납니다. 하지만 이 작업을 수행하기 전에 먼저 입력 파일을 만들어야 합니다. 다음 예에서는 afuller 및 rking이라는 두 사용자 계정을 만듭니다. 입력 파일을 만들려면 텍스트를 메모장 또는 기타 원하는 일반 텍스트 편집기에 입력하고 NewUsers.ldf라는 이름으로 저장합니다.

dn: CN=afuller, OU=UsersOU, DC=contoso, DC=com 
changetype: add 
cn: afuller
objectClass: user 
samAccountName: afuller 

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com 
changetype: add 
cn: rking
objectClass: user 
samAccountName: rking 

파일을 만들었으면 다음 명령을 실행합니다.

ldifde –i –f NewUsers.ldf –s DC1.contoso.com

여기서 새로운 스위치는 -i뿐인데, 이것은 내보내기가 아니라 가져오기 작업을 의미함을 추측할 수 있을 것입니다.

기존 개체를 수정하거나 삭제할 경우 LDIFDE 명령의 구문은 바뀌지 않으며 대신 LDF 파일의 내용을 수정합니다. 사용자 계정의 설명 필드를 변경하려면 그림 2와 같은 ModifyUsers.ldf라는 텍스트 파일을 만듭니다.

그림 2 ModifyUsers LDF 파일

그림 2** ModifyUsers LDF 파일 **(더 크게 보려면 이미지를 클릭하십시오.)

이전 구문과 동일한 LDIFDE 명령 구문을 실행하되 -f 스위치 뒤에 새 LDF 파일 이름을 지정하여 변경 내용을 가져옵니다. 개체를 삭제하기 위한 LDF 형식은 더 간단합니다. 작업 중이던 사용자를 삭제하려면 DeleteUsers.ldf라는 파일을 만들고 다음을 입력합니다.

dn: CN=afuller OU=UsersOU, DC=contoso, DC=com 
changetype: delete

dn: CN=rking, OU=UsersOU, DC=contoso, DC=com 
changetype: delete

CSVDE와는 달리 LDIFDE에서는 사용자 암호를 구성할 수 있습니다. 하지만 사용자 계정의 unicodePWD 특성을 구성하려면 먼저 도메인 컨트롤러에 SSL/TLS(Secure Sockets Layer/Transport Layer Security) 암호화를 구성해야 합니다.

또한 LDIFDE를 사용하면 사용자 계정만이 아니라 모든 유형의 Active Directory 개체를 만들고 수정할 수 있습니다. 예를 들어 다음 LDF 파일은 contoso.com 포리스트의 스키마에 EmployeeID-example이라는 사용자 지정 스키마 확장을 만듭니다.

dn: cn=EmployeeID-example,cn=Schema,
cn=Configuration,dc=contoso,dc=com
changetype: add
adminDisplayName: EmployeeID-Example
attributeID: 1.2.3.4.5.6.6.6.7
attributeSyntax: 2.5.5.6
cn: Employee-ID
instanceType: 4
isSingleValued: True
lDAPDisplayName: employeeID-example

LDIFDE 파일은 산업 표준 LDAP 파일 형식을 사용하기 때문에 Active Directory 스키마를 수정해야 하는 타사 응용 프로그램에서는 프로덕션 환경에 변경 내용을 적용하기 전에 해당 변경 내용을 검사하고 승인할 때 사용할 수 있는 LDF 파일을 제공하기도 합니다.

일괄 가져오기 및 내보내기 작업을 위한 도구 이외에도 Windows Server 2003에서는 특정 조건에 일치하는 개체에 대해 쿼리를 수행하며 다양한 Active Directory 개체를 만들고, 삭제하고, 수정하는 데 사용할 수 있는 기본 제공 도구 집합도 제공합니다. 이러한 도구(dsadd, dsrm, dsget 및 dsquery)는 Windows 2000 Active Directory에서는 지원되지 않습니다.

Dsadd

Dsadd는 특정 디렉터리 파티션에 Active Directory 개체 클래스의 인스턴스를 만들 때 사용합니다. 이러한 클래스에는 사용자, 컴퓨터, 연락처, 그룹, 조직 구성 단위 및 할당량이 포함됩니다. Dsadd에는 다음으로 구성된 일반 구문이 사용됩니다.

dsadd <ObjectType> <ObjectDistinguishedName> attributes

만들 각 개체 유형에는 해당 유형에 사용할 수 있는 특성에 해당하는 특정한 스위치 집합이 사용됩니다. 다음 명령은 여러 특성이 지정된 하나의 사용자 개체를 만듭니다. 다음은 모두 한 줄에 입력해야 합니다.

dsadd user cn=afuller,ou=IT,dc=contoso,dc=com 
–samID afuller –fn Andrew –ln Fuller –pwd * 
-memberOf cn=IT,ou=Groups,dc=contoso,dc=com "cn=Help Desk,ou=Groups,
dc=contoso,dc=com" 
–desc "Marketing Director"

–memberOf 스위치에는 사용자를 추가할 각 그룹의 전체 DN(고유 이름)이 필요합니다. 사용자를 여러 그룹에 추가하려면 여러 DN을 공백으로 구분하여 추가할 수 있습니다.

Help Desk 그룹의 DN과 같이 특정 요소에 공백이 포함되어 있을 때는 큰따옴표로 묶어야 합니다. IT\EMEA라는 OU와 같이 요소에 백슬래시가 포함된 경우에는 IT\\EMEA와 같이 백슬래시를 두 번 입력해야 합니다. 이 요구 사항은 모든 ds* 도구에 적용됩니다.

-pwd * 스위치를 사용하면 명령줄에서 사용자 암호를 입력하라는 메시지가 나타납니다. 명령 자체에 암호를 지정할 수 있지만(-pwd P@ssword1), 이렇게 하면 화면 또는 명령을 입력한 모든 텍스트나 스크립트 파일에서 암호가 일반 텍스트로 표시됩니다.

마찬가지로 다음 두 명령을 사용하여 그룹 개체와 OU를 만들 수 있습니다.

dsadd computer cn=WKS1,ou=Workstations,dc=contoso,dc=com
dsadd ou "ou=Training OU,dc=contoso,dc=com"

Dsmod

Dsmod는 기존 개체를 수정할 때 사용하며 dsadd와 사용 방법은 거의 비슷하고 수정하는 개체의 유형에 따라 다른 하위 메뉴와 구문을 사용합니다. 다음 dsmod 문은 사용자의 암호를 변경하고 다음 로그온 시 새 암호로 변경하라는 메시지가 표시되도록 해당 계정을 수정합니다.

dsmod user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

스위치가 얼마나 비슷한지 확인할 수 있도록 동일한 특성이 구성된 이 사용자를 만들기 위해 사용하는 dsadd 구문을 살펴보겠습니다.

dsadd user "cn=afuller,ou=IT,dc=contoso,dc=com" –pwd P@ssw0rd1
    –mustchpwd yes

여기서 볼 수 있듯이 dsadd에서 개체를 만들기 위한 스위치를 알고 있으면 해당 스위치와 동일한 스위치를 dsmod에서 사용하여 사용자를 수정할 수 있습니다.

Dsrm

dsadd의 반대 기능을 하는 것이 dsrm입니다. 이 도구를 사용하면 명령줄에서 개체를 삭제할 수 있습니다. dsrm의 기본 구문은 매우 간단합니다. 다음과 같이 dsrm을 입력하고 삭제할 개체의 고유 이름을 그 뒤에 입력하면 됩니다.

dsrm cn=WKS1,ou=Workstations,dc=contoso,dc=com

기본적으로 dsrm에서 "이 개체를 삭제하시겠습니까?"라는 메시지를 표시합니다. 이때는 Y를 입력한 다음 Enter 키를 누르면 됩니다. –noprompt 스위치를 사용하면 이 메시지가 표시되지 않도록 할 수 있지만 이렇게 하면 삭제하기 전에 올바른 개체를 선택했는지를 확인할 기회가 없습니다. 컨테이너 개체, 즉 다른 개체가 포함되어 있을 수 있는 조직 구성 단위를 삭제할 때는 두 개의 추가적인 스위치가 도움이 될 수 있습니다. 다음 명령은 TrainingOU 조직 구성 단위와 여기 포함된 모든 개체를 삭제합니다.

dsrm ou=TrainingOU,dc=contoso,dc=com –subtree 

이 명령은 TrainingOU 안에 포함된 모든 자식 개체를 삭제하고 조직 구성 단위 개체 자체는 남겨 둡니다.

dsrm ou=TrainingOU,dc=contoso,dc=com –subtree 
    –exclude 

Dsmove

Active Directory에서 개체를 이동하거나 이름을 바꾸려면 dsmove 도구를 사용합니다. 단, 하나의 도메인 내에서 개체를 이동할 때만 사용해야 합니다. 도메인 또는 포리스트 사이에서 개체를 마이그레이션하려면 Microsoft 웹 사이트에서 무료로 다운로드할 수 있는 ADMT(Active Directory 마이그레이션 도구)를 사용하십시오. Dsmove는 개별적으로 또는 함께 사용할 수 있는 두 개의 스위치를 제공합니다. 이 명령은 Steve Conn의 계정에 새로운 성을 지정합니다.

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" 
    –newname "Steve Conn" 

이 명령은 Steve의 계정을 IT OU에서 Training OU로 이동합니다.

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newparent 
    ou=Training,dc=contoso,dc=com 

다음과 같이 두 스위치를 함께 지정하여 이름 바꾸기와 이동을 하나의 작업으로 결합할 수 있습니다.

dsmove "cn=Conn, Steve,ou=IT,dc=contoso,dc=com" –newname 
    "Steve Conn" –newparent ou=Training,dc=contoso,dc=com

Dsget 및 Dsquery

ds* 명령줄 도구 집합에는 개체를 만들거나 수정하는 것이 아니라 Active Directory에서 정보를 쿼리하는 데 사용하는 두 개의 도구도 포함되어 있습니다.

Dsget 도구는 개체의 DN을 입력으로 사용하여 사용자가 지정한 특성의 값을 제공합니다. Dsget 도구는 dsadd 및 dsmod와 동일한 하위 메뉴(사용자, 컴퓨터, 연락처, 그룹, ou 및 할당량)를 사용합니다.

사용자 계정의 SAM 계정 이름 및 SID(보안 식별자)를 가져오려면 다음 명령을 입력합니다. 다음을 모두 한 줄에 입력해야 합니다.

dsget user cn=afuller,ou=IT,dc=contoso,dc=com 
    –samAccountName –sid

그림 3과 같은 출력이 표시됩니다.

그림 3 dsget 실행

그림 3** dsget 실행 **(더 크게 보려면 이미지를 클릭하십시오.)

Dsquery는 사용자가 지정한 조건에 맞는 Active Directory 개체의 목록을 반환합니다. 사용하는 하위 메뉴에 관계없이 다음 매개 변수를 지정할 수 있습니다.

dsquery <ObjectType> <StartNode> -s <Search Scope> -o <OutputFormat>

ObjectType의 경우 dsquery는 각각 자체 구문이 있는 하위 메뉴인 컴퓨터, 연락처, 서브넷, 그룹, ou, 사이트, 서버(서버 하위 메뉴는 환경의 구성원 서버가 아니라 도메인 컨트롤러에 대한 정보를 검색함), 사용자, 할당량 및 파티션을 사용할 수 있습니다. 이러한 쿼리 유형 중 하나가 적합하지 않은 경우에는 * 하위 메뉴를 사용하여 자유 형식 LDAP 쿼리를 입력할 수 있습니다.

StartNode는 Active Directory 트리에서 검색을 시작할 위치를 지정합니다. ou=IT,dc=contoso,dc=com과 같은 특정 DN을 사용하거나, 특정 도메인의 루트에서 시작되는 domainroot 또는 검색 수행을 위해 글로벌 카탈로그 서버를 사용하여 포리스트 루트 도메인의 루트에서 시작되는 forestroot와 같은 바로 가기 지정자 중 하나를 사용할 수 있습니다.

마지막으로, Search Scope 옵션은 dsquery가 Active Directory 트리를 검색할 방법을 지정합니다. 기본값인 subtree는 지정된 StartNode 및 모든 자식 개체를 쿼리하고, onelevel은 StartNode의 직접적인 자식만 쿼리하고, base는 StartNode 개체만 쿼리합니다.

검색 범위에 대한 이해도를 높이기 위해 사용자 개체 및 자체적으로 추가 개체를 포함하는 자식 OU가 모두 포함된 OU에 대해 살펴보겠습니다. subtree 범위를 사용하면 OU, OU에 포함된 모든 사용자 개체, 자식 OU 및 자식 OU의 내용을 쿼리합니다. onelevel 범위는 OU 안에 포함된 사용자만 쿼리하며 자식 OU나 자식 OU의 내용은 쿼리하지 않습니다. base 쿼리는 OU에 포함된 개체는 쿼리하지 않고 OU 자체만 검색합니다.

마지막으로, OutputFormat을 사용하여 dsquery 결과의 형식을 지정하는 방법을 제어할 수 있습니다. 기본적으로 dsquery는 다음과 같이 쿼리에 일치하는 개체의 고유 이름을 반환합니다.

"cn=afuller,ou=Training,dc=contoso,dc=com"
"cn=rking,ou=ITTraining,ou=Training,dc=contoso,dc=com"

IT OU와 모든 자식 OU에 포함된 모든 사용자 개체를 쿼리하려면 다음을 사용합니다.

dsquery user ou=IT,dc=contoso,dc=com 

사용하지 않도록 설정된 사용자 계정만 반환하는 -disabled, 지난 x주 이상 로그온하지 않은 사용자만 반환하는 -inactive x 또는 x일 이상 암호를 변경하지 않은 사용자만 반환하는 -stalepwd x와 같은 스위치를 추가하여 이 쿼리를 더 상세하게 조정할 수 있습니다.

디렉터리에 있는 개체의 수에 따라 쿼리를 실행할 때 -limit x 스위치를 지정해야 할 수 있습니다. 기본적으로 dsquery는 쿼리의 구체적 요구 사항에 일치하는 개체를 100개까지 반환합니다. -limit 500과 같이 더 큰 수를 지정하거나 -limit 0을 사용하여 dsquery가 일치하는 모든 개체를 반환하도록 지정할 수 있습니다.

다른 하위 메뉴를 사용하여 다른 개체 유형에 대해서도 유용한 쿼리를 수행할 수 있습니다. 10.1.x.x 주소 공간에 있는 Active Directory 사이트 및 서비스에 정의된 모든 서브넷을 반환하는 다음 쿼리를 살펴보겠습니다.

dsquery subnet –name 10.1.*

또는 다음을 사용하여 Corp 사이트에 위치한 모든 서브넷을 반환합니다.

dsquery subnet –site Corp

또 다른 하위 메뉴를 사용하면 포리스트에서 글로벌 카탈로그 서버로 구성된 도메인 컨트롤러의 수를 빠르게 확인할 수 있습니다.

dsquery server –forest –isgc

또한 이 구문을 사용하면 도메인에서 PDC(주 도메인 컨트롤러) 에뮬레이터 FSMO(신축 단일 마스터 작업) 역할을 호스팅하는 도메인 컨트롤러를 확인하는 데에도 도움이 됩니다.

dsquery server –hasfsmo pdc

하위 메뉴가 포함된 다른 ds* 명령과 마찬가지로 명령 프롬프트로 이동하여 dsquery user /?, dsquery computer /?, dsquery subnet /? 등을 입력하면 특정 dsquery 하위 메뉴 안에서 사용할 수 있는 모든 스위치를 볼 수 있습니다.

| 문자를 사용하여(미국 키보드에서 Shift+백슬래시) dsmod와 같은 다른 도구로 dsquery 출력을 파이프하는 다른 몇 가지 유용한 팁도 있습니다. 예를 들어 회사에서 Training 부서의 이름을 Internal Development로 변경했으며 이제 각 관련 사용자의 설명 필드를 이전 부서 이름에서 새 부서 이름으로 업데이트해야 하는 경우를 가정해 보겠습니다. 단일 명령줄에서 다음과 같이 설명 필드가 Training인 사용자 개체를 쿼리한 다음 해당 설명 필드를 일괄적으로 수정합니다.

dsquery user –description "Training" | dsmod 
    -description "Internal Development"

몇 가지 유용한 타사 도구

Active Directory는 LDAP 표준을 기반으로 하기 때문에 LDAP를 지원하는 모든 도구를 사용하여 Active Directory를 쿼리하고 수정할 수 있습니다. 많은 수의 타사 공급 업체에서 Active Directory 관리에 도움이 되는 유료 도구를 제공하고 있습니다. 하지만 무료로 제공되는 유용한 도구도 찾을 수 있습니다. 디렉터리 서비스 MVP인 Joe Richards가 만든 컬렉션(joeware.net/freetools에서 다운로드 가능)이 그 예입니다. 이 사이트에서는 여러 기능을 제공하는 많은 도구를 찾을 수 있습니다. 그 중에서 필자가 자주 사용하는 도구는 adfind, admod 및 oldcmp입니다.

Adfind와 Admod

Adfind와 admod는 dsquery 및 dsmod와 비슷합니다. adfind는 Active Directory용 명령줄 쿼리 도구이며 admod는 하나 이상의 Active Directory 개체를 만들고, 삭제 또는 수정할 수 있습니다.

개체 유형에 따라 여러 하위 메뉴와 여러 스위치가 있는 ds* 도구와는 달리 adfind 및 admod에는 수행할 수정 또는 쿼리 작업의 유형에 관계없이 일관된 구문이 사용됩니다. adfind의 기본 구문은 다음과 같습니다.

adfind –b <Search Base> -s <Search Scope> -f <Search Filter>
    attributesDesired

따라서 도메인 내의 모든 컴퓨터 개체의 DN과 설명을 쿼리하려면 다음과 같이 합니다.

adfind –b dc=contoso,dc=com –s subtree –f (objectclass=computer) dn 
    description

모든 사용자 개체에 대한 쿼리는 다음과 비슷합니다.

adfind –b dc=contoso,dc=com –s subtree –f "(&(objectcategory=person)
    (objectclass=user))" dn description

LDAP 쿼리의 내용을 제외하고 구문은 변경되지 않은 것을 알 수 있습니다.

adfind를 사용하다 보면 입력을 줄일 수 있는 여러 바로 가기 연산자를 발견하게 됩니다. 예를 들어 -default 스위치를 통해 앞서 살펴본 예의 -b dc=contoso,dc=com을 대체하여 전체 도메인을 검색할 수 있습니다. -gc는 GC(가비지 수집)에 대해 검색을 수행하여 Active Directory 포리스트의 모든 사용자를 반환합니다. 또한 -rb 스위치를 사용하여 검색의 상대적 기준을 설정할 수 있습니다. phl.east.us.contoso.com 도메인에서 Training OU를 검색하려는 경우 –b ou=Training, dc=phl,dc=east,dc=us,dc=contoso,dc=com 대신 –default –rb ou=Training을 지정하여 시간을 절약할 수 있습니다.

또한 adfind는 그림 4에 표시된 기능을 포함하여 명령줄에서 관리하기 쉽지 않은 다양한 고급 검색 기능을 수행할 수 있습니다.

Figure 4 Adfind 스위치

스위치 설명
-showdel Deleted Objects 컨테이너에서 삭제 표시 개체를 쿼리합니다.
-bit user­AccountControl 특성과 같은 비트 연산자를 쿼리합니다.
-asq 특성 범위가 지정된 쿼리를 수행합니다. 이 기능(dsquery에서 복제할 수 없음)은 특정 개체의 특성을 검색한 다음 이에 대해 쿼리를 수행합니다.
-dsq adfind 쿼리의 출력을 dsmod 또는 다른 ds* 도구 중 하나로 파이프합니다.
   

예를 들어 –asq 스위치를 사용하여 다음과 같이 "HelpDesk 구성원의 그룹 등록을 표시"할 수 있습니다.

adfind –default –rb cn=HelpDesk,ou=IT –asq member memberOf 

admod는 이름에서 알 수 있듯이 Active Directory 내에서 개체를 수정하는 데 사용합니다. adfind와 마찬가지로 기억할 특별한 구문을 사용하는 하위 메뉴는 없습니다. admod는 작업 중인 개체의 유형에 관계없이 동일한 구문을 사용합니다. admod를 사용하면 -add, -rm, -move, -undel과 같은 적절한 스위치를 추가하는 것만으로 개체를 추가, 이동, 이름 바꾸기, 삭제 및 삭제 취소할 수 있습니다. 또한 dsquery 및 dsmod와 마찬가지로 | 문자를 사용하여 adfind 쿼리의 결과를 admod로 파이프할 수도 있습니다.

admod를 사용하여 삭제 취소를 수행하면 개체 특성의 대부분이 제거된 삭제 표시 다시 애니메이션 작업만 수행됩니다. 개체와 해당 개체의 모든 특성을 완전히 복원하려면 개체에 대한 정식 복원을 수행해야 합니다.

Oldcmp

자동화 도구 키트에서 빼놓을 수 없는 도구가 oldcmp입니다. 이 도구는 Active Directory 데이터베이스에서 지정된 시간(단위: 주) 동안 사용되지 않은 컴퓨터 계정을 검색하고 다음을 수행할 수 있습니다.

  • 해당 계정에 특정 작업을 수행하지 않고 계정의 보고서 생성
  • 사용되지 않는 컴퓨터 계정 사용 중지
  • 컴퓨터 계정을 지정한 다른 OU로 이동
  • 컴퓨터 계정 완전히 삭제

oldcmp는 디렉터리에 심각한 영향을 줄 가능성이 있기 때문에 여러 가지 보안 기능을 기본으로 제공합니다. 사용하지 않도록 설정되지 않았으며 삭제를 확인하는 명령줄 스위치를 수동으로 지정하지 않은 계정은 삭제하지 않습니다. 이와 비슷한 확인 스위치가 없으면 한 번에 10개 이상의 개체를 수정하지 않으며 도메인 컨트롤러의 컴퓨터 계정에 대해서는 어떠한 작업도 하지 않습니다.

이 도구의 이름 자체로 인해 오해할 수도 있겠지만 Joe는 특정 시간 동안 사용되지 않은 사용자 계정에 대해 비슷한 기능을 수행하도록 oldcmp를 업데이트했습니다.

소규모 Active Directory 환경이거나 한 번에 하나 또는 두 가지 추가 또는 변경 작업을 하는 환경이라면 Active Directory 사용자 및 컴퓨터와 같은 GUI 도구로도 일상적인 관리 작업을 충분히 수행할 수 있습니다. 하지만 매일 많은 수의 개체를 추가 및 수정하거나 더 효율적인 관리 작업용 솔루션이 필요한 경우 명령줄을 사용하면 Active Directory 내에서 개체를 만들고, 수정하고, 삭제하는 프로세스의 속도를 크게 높일 수 있습니다. 지금까지 살펴봤듯이 Windows에서 기본 제공되거나 Active Directory 커뮤니티에서 다운로드할 수 있는 강력하고 활용도가 뛰어난 무료 도구들이 많이 있습니다. 이러한 도구는 모두 Active Directory 관리자의 생산성을 크게 향상시키며 일상 작업에 필수적인 도구로 자리잡고 있습니다.

Laura E. Hunter는 Windows Server 네트워킹 분야에서 Microsoft MVP를 네 차례 수상했으며 Active Directory Cookbook, Second Edition(O'Reilly, 2006)의 저자입니다. IT 분야에서 10년 동안 일해 온 전문가인 Laura는 현재 세계적 엔지니어링 회사에서 Active Directory 설계자로 근무하고 있습니다. 또한 다양한 산업 분야의 자격증을 소지하고 있으며 사용자 그룹 모임이나 업계 회의에 자주 초청을 받는 강연자이기도 합니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..