Laboratory/Windows Server

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

theking 2007. 8. 8. 22:34

윈도 서버 2003의 액티브 디렉터리 역시 윈도 2000서버의 액티브 디렉터리와

마찬가지로 명령행을 통한 관리를 가능하게 한다.

(명령어를 통한 액티브 디렉터리 관리를 위해서는 명령프롬프트 창을 열고 수행하면 된다.)

 

★ CSVDE(Comma Seperated Value Data Exchange)

    => csvde 명령어는 현재 디렉터리 서비스의 특정 위치 아래에 있는 개체에 대한 속성 및 정보를

       마이크로소프트 오피스 중 엑셀 등에서 읽을 수 있도록 콤마로 구분된 CSV 형식의 파일로 저장.

 

  ● 옵션

       C:\>csvde /? (csvde의 도움말을 보여준다.)

      CSV   디렉터리 교환

 

      일반 매개 변수

      ====================

     -i                                          가져오기 모드 사용 ( 기본값 : 내보내기 )

     -f  파일 이름                            입력 또는 출력 파일 이름

     -s  서버 이름                             바인딩 대상 서버 ( 기본값 : 컴퓨터 도메인의 도메인 컨트롤러)

      -v                                         자세한 정보 표시 모드 사용

     -c  원본  DN   대상  DN            원본 DN을 대상 DN으로 대체

     -j   경로                                 로그 파일 위치

     -t   포트                                포트 번호 ( 기본값 = 389)

     -u                                        유니코드 형식 사용

     -?                                        도움말 ( /?와 동일)

 

 

     내보내기 관련

      ====================

     -d  RootDN                          LDAP 검색의 루트 ( 기본값 : 명명 컨텍스트)

     -r  필터                                LDAP 검색 필터 ( 기본값 : "(objectClass=*)" )

     -p  SearchScope                 검색 범위 ( Base/OneLevel/Subtree)

     -l   목록                                LDAP 검색에서 검색하려는 특성의 목록( 쉼표 구분 )

      -o  목록                                입력에서 생략될 특성의 목록 ( 쉼표 구분 )

     -g                                       페이지된 검색을 사용하지 않음

     -m                                      내보내기 작업에 SAM 논리법을 사용

     -n                                       이전 값을 내보내지 않음

 

 

      가져오기

      ======

     -k                                      가져오기 작업에서 "계약조건 위반" 및 "이미 존재하는 개체" 오류를 무시합니다.

      

 

     자격 증명

      ================================

      자격  증명이 지정되지 않은 경우 LDIFD에서 SSPI를 사용하여 현재 로그온된 사용자로 바인딩합니다.

 

     -a  UserDN  [ 암호  |  * ]                                   단순 인증

     -b  UserName  도메인  [  암호  |  * ]                    SSPI 바인딩 방법

 

      예 : 현재 도메인의 간단한 가져오기

           csvde  -i  -f  INPUT.CSV

 

      예 : 현재 도메인의 간단한 내보내기

           csvde  -f  OUTPUT.CSV

 

      예 : 자격 증명을 사용하여 특정 도메인 내보내기

           csvde  -m  -f  OUTPUT.CSV

                           -b  USERNAME  DOMAINNAME  *

                           -s  SERVERNAME

                           -d  "cn=users,DC=DOMAINNAME,DC=Microsoft,DC=Com"

                      -r  "(objectClass=사용자)"

      로그 파일이 기록되지 않았습니다. 로그 파일을 만들려면 -j 옵션을 사용하여 로그 파일 경로를 지정하십시오.

 

 

    (ex) C:\> csvde  -f  output.csv  -d  "cn=users,DC=nwtraders,DC=msft"  -r  "(objectClass=User)"

                => 위 명령어를 실행하게 되면 users에 있는 모든 개체들에 대한 속성 정보가 모두 output.csv로 저장.

 

 


 

사용자 삽입 이미지
 
 
뭐 엑셀로 열게 되면 위의 화면과 같이 보일 것이다...(글씨가 안보인다고 뭐라고 하지마라..,,ㅡㅡ; 그냥 직접확인 해보길..)
 
 
 
★ DSADD (Directory Service Add)
     => 도메인내의 톡정 컨테이너 내에 개체를 생성한다.
 
   
   ● dsadd user => 사용자 계정 생성
            dsadd user <사용자 DN> [옵션]
 
         ◎ 옵션
           <사용자 DN>                   => 필수. 추가할 사용자의 고유 이름<DN>이다.
                                                 대상 개체가 생략되면 표준 입력 <stdin>으로부터 얻는다.
           -samid <SAM 이름>           => 사용자의 SAM 계정 이름을 <SAM 이름>으로 설정.
            ※ <SAM 이름>이 생략되면 <사용자 DN>에 대한 일반 이름<CN>의 첫 20문자를 사용하여 SAM계정 이름을 만든다.
            -upn <UPN>                   => upn 값을 <UPN>으로 설정
           -fn <이름>                     => 사용자 이름을 <사용자 이름>으로 설정
            -mi <이니셜>                   => 사용자 중간 이니셜을 <이니셜>로 설정
           -ln <성>                        => 사용자 성을 <성>으로 설정
           -display <표시이름>            => 사용자 표시 이름을 <표시 이름>으로 설정.
           -empid <직원 ID>            => 사용자 직원 ID를 <직원 ID>로 설정
           -pwd {<암호> | *}             => 사용자 암호를 <암호>로 설정합니다. *로 지정하면 암호를 묻는다.
           -desc <설명>                  => 사용자 설명을 <설명>을 설정
           -memberof <그룹...>         => 사용자를 <그룹...> 구성원으로 등록
           -office <사무실>             => 사용자 사무실 위치를 <사무실>로 설정
           -tel <전화번호>               => 사용자의 전화번호를 <전화번호>로 설정
           -email <전자 메일>           => 사용자 전자 메일 주소를 <전자 메일>로 설정
           -hometel <집 전화번호>    => 사용자 집 전화 번호를 <집 전화번호>로 설정
           -pager <호출기 번호>         => 사용자 호출기 번호를 <호출기 번호>로 설정
           -mobile <휴대폰 번호>        => 사용자 휴대폰 번호를 <휴대폰 번호>로 설정
           -fax <팩스 번호>             => 사용자 팩스 번호를 <팩스 번호>로 설정
           -iptel <IP 전화번호>         => 사용자 IP 전화번호를 <IP 전화번호>로 설정
           -webpg <웹 페이지>         => 사용자 웹 페이지 URL을 <웹 페이지>로 설정
           -title <직함>                 => 사용자 직함을 <직함>으로 설정
           -dept <부서>                 => 사용자 부서를 <부서>로 설정
           -company <회사>           => 사용자 회사 정보를 <회사>로 설정
           -mgr <관리자>              => 사용자 관리자를 <관리자>로 설정 (DN형식)
           -hmdir <홈 디렉터리>        => 사용자 홈 디렉터리를 <홈 디렉터리>로 설정.
                                                UNC 경로인 경우 이 경로에 매핑될 드라이브 문자를 -hmdrv로도 지정해야함
            -hmdrv <드라이브 문자:>    => 사용자 홈 드라이브 문자를 <드라이브 문자:>로 설정
           -profile <프로필 경로>       => 사용자 프로필 경로를 <프로필 경로>로 설정
           -loscr <스크립트 경로>       => 사용자 로그온 스크립트 경로를 <스크립트 경로>로 설정
            -mustchpwd {yes | no}=> 사용자가 다음 로그온 시 암호를 변경해야 하는지 지정 (기본 : no)
           -canchpwd {yes | no}    => 사용자가 암호를 변경할 수 있는지 지정
                                                  -mustchpwd 값이 "yes"인 경우 "yes"여야 함 (기본 : yes)
            -reversiblepwd {yes | no}=> 사용자 암호를 해독 가능한 암호화로 저장할 것인지 지정 (기본 : no)
           -pwdneverexpires {yes | no}=> 사용자 암호가 만료될 수 있는지 지정 (기본값 : no)
           -acctexpires <일 수>       => 사용자 계정이 오늘부터 <일 수>후에 만료되도록 설정
                                                 0값은 계정이 오늘 만료될 것을 의미
                                                 양수는 계정이 미래에 만료될 것을 의미
                                                 음수는 계정이 이미 만료된 것을 의미하며 만료 날짜를 지난 날짜로 설정
                                                  "never" 문자열은 계정이 만료되지 않는 것을 의미
            -disabled {yes | no}        => 사용자 계정을 사용 불가능 또는 사용 가능하게 설정 (기본값 : no)
           {-s <서버> | -d <도메인>}     => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
           -u <사용자 이름>               => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                 <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
           -p {<암호> | *}                 => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
            -q                               => 자동모드 : 화면에 출력을 표시하지 않음
           {-uc | -uco | -uci}           => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                  -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                  -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정
 
  (ex) C:\> dsadd user "cn=MSuser,ou=it test,dc=nwtraders,dc=msft" -pwdP@ssw0rd-fn "Kil Dong"
                -ln Hong -desc Test -samid Microsoft
               => it test란 조직 구성단위에 MSuser라는 사용자가 생성된 것을 확인
                  (Active directory 사용자 및 컴퓨터 에서 확인하자~!)
                  (마우스 오른쪽 버튼을 눌러 속성을 누른다음 성과 이름 , 설명이 맞게 설정되었는지 확인)
     (중간에 옵션중 따옴표를 하는 경우는 자신이 입력하고 싶은 내용이 빈칸을 가지고 있는 경우 "로 묶어주지 않으면 에러 발생)
     (성공이란 메시지가 뜨지 않으면 문제가 있는 것인데.. 대부분 철자가 틀린것이므로 확인해보자~!)
 
 
  ● dsadd group => 그룹 계정 생성
          dsadd group <그룹 DN> [옵션]
         ◎ 옵션
             <그룹 DN>                         => 필수. 추가할 그룹의 고유 이름<DN>
                                                    대상 개체가 생략되면 표준 입력<stdin>으로부터 얻는다.
            -secgrp {yes | no}        => 이 그룹을 보안 그룹으로 설정(yes) 또는 설정하지 않도록(no) 한다 (기본값 : yes)
            -scope {l | g | u}              => 이 그룹의 범위를 로컬<l>, 글로벌<g> 또는 유니버설<u>로 설정
                                                    (도메인이 혼합모드로 설정된 경우 유니버설 범위 지원 안됨 | 기본값 : 글로벌)
            -samid <SAM 이름>              => 그룹의 SAM 계정을 <SAM 이름>으로 설정 (예, operators)
            -desc <설명>                    => 그룹 설명을 <설명>으로 설정
            -memberof <그룹...>            => 그룹을 공백으로 구분된 DN 목록 <그룹...>에 있는 그룹의 구성원으로 등록
             -members <구성원...>           => 이 그룹에 하나 이상의 구성원을 추가
                                                     구성원을 공백으로 구분된 DN목록 <구성원...>에 지정
            {-s <서버> | -d <도메인>}      => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러(DC)에 연결
                                                 -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
             -u <사용자 이름>                => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                   <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
            -p {<암호> | *}                   => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
            -q                                 => 자동모드 : 화면에 출력을 표시하지 않음
            {-uc | -uco | -uci}             => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                     -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                     -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정
 
(ex) C:\> dsadd group "cn=G software manager,ou=it test,dc=nwtraders,dc=msft" -scope g
             -secgrp yes -desc Test
           => it test라는 조직구성단위를 확인해보면 G software manager라는 그룹이 생성된 것을 확인 할 수있다.
              (보이지 않으면 마우스 오른쪽 클릭을 이용하여 "새로고침"을 누르면 보이게 될것이다.)
              (추가로 마우스 오른쪽 버튼을 눌러 속성을 클릭하여 "설명"이 test이고 보안그룹이고 글로벌 형식인지 확인)
 
 
 ● dsadd computer => 컴퓨터 개체 생성
          dsadd computer <컴퓨터 DN> [옵션]
 
        ◎옵션
              <컴퓨터 DN>                     => 필수, 추가할 컴퓨터의 고유 이름(DN)을 지정
                                                      대상 개체가 생략된 경우 표준 입력(stdin)으로부터 얻는다.
             -samid <SAM 이름>            => 컴퓨터 SAM 계정 이름을 <SAM 이름>으로 설정
                                                    이 매개 변수가 생략된 경우 <컴퓨터 DN>에 사용된 일반 이름(CN) 특성 값에서
                                                    SAM 계정 이름이 파생
             -desc <설명>                  => 컴퓨터 설명을 <설명>으로 설정
             -loc <위치>                    => 컴퓨터 위치를 <위치>로 설정
             -memberof <그룹...>         => 컴퓨터를 공백으로 구분된 DN목록 <그룹...>에 있는 그룹의 구성원으로 등록
             {-s <서버> | -d <도메인>}     => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                 -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
             -u <사용자 이름>               => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                    <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
             -p {<암호> | *}                 => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
             -q                               => 자동모드 : 화면에 출력을 표시하지 않음
              {-uc | -uco | -uci}           => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                    -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                    -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정
 
(ex) C:\> dsadd computer "cn=MScomputer,ou=it test,dc=nwtraders,dc=msft" -loc seoul
          => it test란 조직 구성단위에 MScomputer라는 컴퓨터 개체가 생성된다.
              (마우스 오른쪽 버튼을 눌러서 속성을 클릭하고 "위치"탭을 누르면 seoul이라고 적혀있는 것을 확인)
 
   ● dsadd ou => 조직 구성 단위 생성
            dsadd ou <조직 구성 단위 DN> [옵션]
 
           ◎ 옵션
              <조직 구성 단위 DN>       => 필수, 추가할 조직 구성 단위(OU)의 고유 이름(DN)이다.
                                                       대상 개체가 생략되면 표준 입력(stdin)으로부터 얻는다.
              -desc <설명>              => OU설명을 <설명>으로 설정
               {-s <서버> | -d <도메인>}  => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
              -u <사용자 이름>            => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                 <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
              -p {<암호> | *}              => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
               -q                            => 자동모드 : 화면에 출력을 표시하지 않음
               {-uc | -uco | -uci}        => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                  -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                  -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정
 
(ex) C:\> dsadd ou "ou=test,ou=it test,dc=nwtraders,dc=msft" -desc Test
          => it test란 조직 구성단위 아래에 test라는 조직 구성단위가 생성되어 있는지 확인
              (속성값을 눌러 설명이 "Test"라고 나오는지도 확인해보자~!)
 
 
    ● dsadd contact => 연락처 개체 생성
             dsadd contact <연락처 DN> [옵션]
 
            ◎ 옵션
                 <연락처 DN>              => 필수. 추가할 연락처의 고유 이름(DN)이다.
                                                  대상 개체가 생략되면 표준 입력(stdin)으로부터 얻는다.
                 -fn <이름>                => 연락처의 이름을 <사용자 이름>으로 설정
                  -mi <이니셜>              => 연락처의 중간 이니셜을 <이니셜>로 설정
                 -ln <성>                   => 연락처의 성을 <성>으로 설정
                 -display <표시 이름>      => 연락처의 표시 이름을 <표시 이름>으로 설정
                  -desc <설명>             => 연락처의 설명을 <설명>으로 설정
                 -office <사무실>         => 연락처의 사무실 위치를 <사무실>로 설정
                 -tel <전화 번호>          => 연락처의 전화 번호를 <전화 번호>로 설정
                 -email <전자 메일>        => 연락처의 전자 메일 주소를 <전자 메일>로 설정
                 -hometel <집 전화 번호>=> 연락처의 집 전화 번호를 <집 전화 번호>로 설정
                 -pager <호출기 번호>      => 연락처의 호출기 번호를 <호출기 번호>로 설정
                  -mobile <휴대폰 번호>     => 연락처의 휴대폰 번호를 <휴대폰 번호>로 설정
                 -fax <팩스 번호>          => 연락처의 팩스 번호를 <팩스 번호>로 설정
                  -iptel <IP 전화번호>      => 연락처의 IP전화번호를 <IP 전화번호>로 설정
                 -title <직함>              => 연락처의 직함을 <직함>으로 설정
                  -dept <부서>              => 연락처의 부서를 <부서>로 설정
                  -company <회사>        => 연락처의 회사 정보를 <회사>로 설정
                 {-s <서버> | -d <도메인>} => -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                 -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
                 -u <사용자 이름>            => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                    <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
                  -p {<암호> | *}              => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
                  -q                              => 자동모드 : 화면에 출력을 표시하지 않음
                  {-uc | -uco | -uci}       => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                      -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                      -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정
 
(ex) C:\> dsadd contact "cn=message,ou=test,ou=it test,dc=nwtraders,dc=msft" -fn "Kil Dong"
            -ln Hong -desc Test -title manager
          => it test 조직 구성단위 아래의 test 라는 조직구성단위에 message라는 연락처 생성된 것 확인
             (속성을 눌러서 직함이나 설명, 성, 이름 도 확인해보자~!)
 
 
     ● dsadd quota => 디렉터리 파티션의 할랑량 지정 개체 생성
          ( 할당량 사양은 지정한 디렉터리 파티션에서 보안 계정이 소유할 수 있는 최대 디렉터리 개체 수를 결정)
              dsadd quota -part <PartitionDN> [-rdn <RDN>] -acct Name -qlimit <값> | -1 [옵션]
 
            ◎ 옵션
                 -part <PartitionDN>=> 필수, 할당량을 만들 디렉터리 파티션의 고유이름을 지정.
                                                   고유 이름이 생략되면 표준 입력<stdin>으로부터 얻는다.
                 -rdn <RDN>              => 만들 할당량 사양의 RDN(상대 고유 이름)을 지정.
                                                    -rdn 옵션이 생략되면 -acct 매개 변수로 지정한 보안 계정의 도메인 및
                                                    계정 이름을 사용하여 <도메인>_<계정 이름>으로 설정
                 -acct 이름                 => 필수. 할당량 사양이 지정될 보안 계정
                                                  (사용자, 그룹, 컴퓨터, InetOrgPerson)을 지정
                                                   -acct 옵션은 다음 형식 중 하나로 제공
                                                    보안 계정의 DN
                                                    보안 계정의 domain\SAM 계정 이름
                 -qlimit <값> | -1       => 필수. 디렉터리 파티션에서 보안 계정이 소유할 수 있는 개체 수를 지정
                                                    제한 없는 할당량을 지정하려면 -1을 지정
                -desc <설명>             => 추가할 할당량 사양의 설명을 지정합니다.
                {-s <서버> | -d <도메인>}=> -s <서버>는 <서버> 이름을 가진 도메인 컨트롤러 <DC>에 연결
                                                 -d <도메인>은 <도메인> 도메인에 있는 DC에 연결 (기본값 : 로그온 도메인에 있는 DC)
                 -u <사용자 이름>          => <사용자 이름>으로 연결 (기본값 : 로그인된 사용자)
                                                   <사용자 이름>은 사용자 이름, 도메인\사용자 이름 또는 UPN이 될 수 있다.
                -p {<암호> | *}           => <사용자 이름> 사용자의 암호. *를 입력하면 암호를 물어봄
                -q                           => 자동모드 : 화면에 출력을 표시하지 않음
                {-uc | -uco | -uci}    => -uc 파이프로부터 입력 또는 파이프로의 출력이 유니코드로 인코딩 되도록 지정
                                                   -uco 파이프 또는 파일로의 출력이 유니코드로 인코딩 되도록 지정
                                                   -uci 파이프 또는 파일로부터의 입력이 유니코드로 인코딩되도록 지정