Laboratory/Windows Server

명령어를 통한 액티브 디렉터리 관리~(2)

theking 2007. 8. 8. 22:34

★ DSMOD(Directory Service Modify)

  => 개체의 속성을 수정 (대부분의 옵션이나 사용법은 DSADD와 비슷)

  ▶ C:\> dsmod <개체> <생성되어 있는 DN> [옵션]

 

  ● dsmod user => 사용자개체의 속성값 수정 (DSADD User 옵션과 동일한 옵션 사용)

     (ex) C:\> dsmod user "cn=MSuser,ou=it test,dc=nwtraders,dc=msft" -desc "마이크로 소프트 유저"

              => it test 조직 구성 단위안에 존재하는 MSuser의 설명이 "마이크로 소프트 유저"로 변경됨

 

  ● dsmod group => 그룹 개체의 속성값 수정 (DSADD Group 옵션과 거의 흡사)

      ※ dsadd group과 다르게 쓰는 옵션

        {-addmbr | -rmmbr | -chmbr} <구성원...>

          => -addmbr은 그룹에 구성원을 추가할때 쓰고, -rmmbr은 그룹에 구성원을 제거할 때 사용

             -chmbr은 그룹의 전체 구성원 목록을 변경시에 사용

 

      (ex) C:\> dsmod group "cn=G software manager,ou=it test,dc=nwtraders,dc=msft"

               -addmbr "cn=MSuser,ou=it test,dc=nwtraders,dc=msft" -desc "소프트웨어 그룹"

            => G Software manager그룹에 MSuser사용자를 추가하고, 그룹 설명을 "소프트웨어 그룹"으로 변경

             

  ● dsmod computer => 컴퓨터 개체의 속성값 수정 ( dsadd computer의 옵션과 흡사 )

      ※ dsadd computer와 다르게 쓰는 옵션

         -disabled {yes | no}=> 컴퓨터 계정을 사용 불가능(yes)또는 사용 가능(no)하게 설정

        -reset                    => 컴퓨터 계정을 원래대로 설정

 

  (ex) C:\> dsmod computer "cn=MScomputer,ou=it test,dc=nwtraders,dc=msft" -disable yes -loc Busan

           => it test 조직구성단 안에 있는 MScomputer라는 컴퓨터 계정을 사용불가능하게 바꾸고, 위치를 Busan으로 변경

 

 ● dsmod contact => 연락처 개체의 속성값 수정 ( dsadd contact 옵셔과 동일 )

   (ex) C:\> dsmod contact "cn=message,ou=test,ou=it test,dc=nwtraders,dc=msft" -desc "메시지"

            => it test 조직 구성단위 아래 test라는 조직 구성단위 안의 message의 설명을 "메시지"로 변경

 

 ● dsmod ou => 조직 구성 단위 개체의 속성값 수정

   (ex) C:\> dsmod ou "ou=test,ou=it test,dc=nwtraders,dc=msft" -desc "테스트"

           => it test 조직 구성단위 아래 test라는 조직 구성단위의 설명을 "테스트"로 변경

 

 ● dsmod server => 기존 도메인 컨트롤러의 속성값 수정 ( 도메인 서버 Administrator만이 권한을 가짐)

 

    ◎ 옵션

      <서버 DN ...>                    => 필수/stdin. 수정할 하나 이상의 서버의 고유 이름(DN)이다.

                                             대상 개체가 생략된 경우 다른 명령의 출력을 파이프로 이 명령에 입력할 수 있도록

                                             하기 위해 표준 입력( stdin)으로부터 대상 개체를 얻는다.

     -desc <설명>                   => 서버 설명을 <설명>으로 설정함

      -isgc { yes | no }             => 이 서버를 글로벌 카탈로그 서버로 사용 가능(yes) 또는 사용 불가능 (no)한지 설정

     {-s <서버> | -d <도메인>}  => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                           -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
     -u <사용자 이름>             => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                           <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
     -p {<암호> | *}               => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
      -c                               => 계속 작업 모드 : 오류는 보고되나 여러 대상 개체가 지정된 경우 인수 목록에 있는

                                               다음 개체로 계속, 이 옵션 사용 안하면 오류 처음 발생시 명령 종료~.       

      -q                               => 자동모드 : 화면에 출력을 표시하지 않음
      {-uc | -uco | -uci}        => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                            -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                            -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정

 

     (ex) C:\> dsquery server ( 도메인 컨트롤러의 DN찾기 )

           C:\> dsmod server "cn=london,cn=servers,cn=default-first-site-name,cn=sites,

                  cn=configuration,dc=nwtraders,dc=msft" -desc "도메인 컨트롤러"

                => 확인하기 위해서는 관리도구에서 "Active Directory 사이트 및 서비스"를 실행하시고, "Sites"확장 후,

                    "default-first-site-name"을 확장해서 "London"을 마우스 오른쪽 클릭해서 속성을 열어 확인.

 

  ● dsmod quota => 디렉터리 파티션의 할당량 지정 개체의 속성 수정 (대부분 dsadd quota의 옵션과 비슷)

      ※ dsadd quota와 다르게 쓰는 옵션

      -c                               => 계속 작업 모드 : 오류는 보고되나 여러 대상 개체가 지정된 경우 인수 목록에 있는

                                               다음 개체로 계속, 이 옵션 사용 안하면 오류 처음 발생시 명령 종료~

 

  ● dsmod partition => 디렉터리에 있는 기존 파티션의 속성 수정

 

    ◎ 옵션

      <파티션 DN...>                  => 하나 이상의 수정할 파티션 개체의 고유 이름을 지정.

                                             생략시 표준 입력(stdin)으로부터 값을 얻으므로 다른 명려의 출력이 이 명령의 입력으로

                                             파이프 되는 것을 지원

       -qdefault <값>               => 디렉터리 파티션의 기본 할당량을 지정한 값으로 설정

                                             기본 할당량은 디렉터리 파티션의 개체 소유 또는 특정 할당량 사양이 존재하는

                                             보안 사용자(사용자, 그룹, 컴퓨터, InetOrgPerson)에게 적용

                                             무제한으로 지정하려면 -1을 입력

      -qtmbstawt <백분율>       => 할당량 사용량을 계산할 때 삭제 표시 개체의 개수가 줄어들어야 하는 백분율 설정

                                            해당 백분율은 <백분율>에 의해 지정 (0~100사이의 값)

                                            사용자가 백분율 값을 100으로 지정한 경우, 해당 사용자는 최대 100개의 일반 개체

                                            또는 400개의 삭제 표시 개체를 Active Directory에서 소유

       -c                                => 계속 작업 모드 : 오류는 보고되나 여러 대상 개체가 지정된 경우 인수 목록에 있는

                                               다음 개체로 계속, 이 옵션 사용 안하면 오류 처음 발생시 명령 종료~

      {-s <서버> | -d <도메인>}  => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
        -u <사용자 이름>              => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                              <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
        -p {<암호> | *}               => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄

        -q                               => 자동모드 : 화면에 출력을 표시하지 않음
       {-uc | -uco | -uci}         => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                               -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                               -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정

 

★ DSRM ( Directory Service Remove)

   => 지정된 개체를 삭제하는 명령어.

(모든 타입의 개체 삭제 가능하나 내부에 다른 개체를 포함한 컨테이너개체의 경우 컨테이너개체가 비어있어야 함)

   ▶ C:\> dsrm <생성되어있는 DN>

 

   (ex) C:\> dsrm "cn=개발부,ou=개발부,dc=nwtraders,dc=msft"

              => 개발부 조직 구성단위 안에 존재하는 개발부라는 개체 삭제~!

 

 

★ DSMOVE ( Directory Service Move)

 => 개체의 DN및 RDN을 변경함 ( DN은 다른 컨테이너로 이동시 발생하고, RDN은 같은 컨테이너내에서 이름 변경시.)

  ▶ C:\> dsmove <생성되어있는 DN> -newname <변경할 이름> => RDN변경 (이름변경)

      C:\> dsmove <생성되어있는 DN> -newparent <변경할 DN> => DN변경 (다른 컨테이너로 이동)

 

   (ex) C:\> dsmove "cn=MSuser1,ou=it test,dc=nwtraders,dc=msft" -newname "Officer"

             => it test 조직 구성단위 안에 있는 MSuser라는 개체의 이름을 Officer로 변경

         C:\> dsmove "cn=Officer.ou=it test,dc=nwtraders,dc=msft" -newparent

              "ou=개발부,dc=nwtraders,dc=msft"

            => Officer라는 개체가 개발부 조직구성단위 안으로 이동한다.

 

★DSQUERY ( Directory Service Query)

   => 옵션을 이용해 개체 검색 (dsadd와 dsmod 명령어와 마찬가지로 같은 옵션값을 사용한다.)

   ▶ C:\> dsquery <개체 타입> <옵션>

 

  ● dsquery computer=> 컴퓨터 개체 검색

  ● dsquery contact=> 연락처 개체 검색

  ● dsquery subnet=> 서브넷 개체 검색

  ● dsquery group=> 그룹 개체 검색

  ● dsquery ou=> 조직 구성 단위 개체 검색

  ● dsquery site=> 사이트 개체 검색

  ● dsquery server=> 도메인 컨트롤러 검색

  ● dsquery user=> 사용자 개체 검색

  ● dsquery quota=> 디렉터리 파티션 할당량 지정 개체 검색

  ● dsquery partition=> 기존에 있던 파티션 개체 검색

  ● dsquery *=> 일반 LDAP 쿼리를 사용하여 모든 개체를 찾음

 

  ※ 타입별로 다른 옵션들이 존재하므로, 찾기 전에 자신이 찾고자하는 개체의 공통적인 속성값을 이용해 찾자~!!

       (옵션에 대해 자세히 알고 싶으면"dsquery <개체타입> /?"을 이용하자~! (사용자 옵션 : dsquery user /?))

  (ex) C:\> dsquery user -name *user => "user"로 끝나는 모든 사용자를 찾아 DN을 출력

        C:\> dsquery group -name *manager => "manager"로 끝나는 모든 그룹을 찾아 DN을 출력

        C:\> dsquery computer -name seoul* => "seoul"로 시작하는 모든 컴퓨터 개체를 찾아 DN 출력

     ※ 기본적으로 보여주는 검색 결과 수는 100개이지만,-limit 옵션을 이용하여 찾을 수 있는 갯수를 늘릴 수 있다.

 

 

★ DSGET ( Directory Service Get )

    => 지정한 개체의 속성을 출력 (옵션을 주지 않으면 기본적인 속성 값만 출력)

    ▶ dsget <개체 타입> <생성되어진 DN> [옵션]

 

  ● dsget computer=> 컴퓨터 개체 속성 출력

  ● dsget contact=> 연락처 개체 속성 출력

  ● dsget subnet=> 서브넷 개체 속성 출력

  ● dsget group=> 그룹 개체 속성 출력

  ● dsget ou=> 조직 구성 단위 개체 속성 출력

  ● dsget site=> 사이트 개체 속성 출력

  ● dsget server=> 도메인 컨트롤러 속성 출력

  ● dsget user=> 사용자 개체 속성 출력

  ● dsget quota=> 디렉터리 파티션 할당량 지정 개체 속성 출력

  ● dsget partition=> 기존에 있던 파티션 개체 속성 출력

 

  ※ 마찬가지로 dsget을 사용하면서 꼭 써야하는 옵션이 있다면"dsget <개체 타입> /?"를 이용하여 사용

 

   (ex) C:\> dsget ou "ou=it test,dc=nwtraders,dc=msft" => it test 조직 구성 단위 개체의 일반 속성 출력 

         C:\> dsget user "cn=officer,ou=개발부,dc=nwtraders,dc=msft"

                => 개발부 조직 구성 단위 개체 안에 있는 officer 사용자에 대한 일반 속성 출력