'provider'에 해당되는 글 1건

  1. 2008.10.20 Active Directory 관리 시리즈2 - Script를 이용한 AD 관리 (2)

○ Script를 이용한 Active Directory 관리
    Active Directory Object Binding, 생성, 수정, 삭제

○ Script를 사용하는 이유
    - 편리성
        계정 관리에 대한 일관성 유지
    - ADUC를 이용해 계정을 생성하기 위해서는
        사용자의 Type등, 설명등을 입력하여 생성
        관리자의 실수를 최소화
    - 대량 작업에 대한 일괄처리 지원
        Script와 Excel 연계 가능

○ ADSI(Active Directory Service Interfaces)
    AD를 액세스할 수 있도록 다양한 COM Interface(Provider) 제공
        Active Directory(LDAP Provider)
        Exchange Server(LDAP Provider)
        Local user and group accounts(WinNT Provider)
        Windows NT 4.0 domain accounts(WinNT Provider)
        Internet Information Server(IIS Provider)

○ ADSI Scripting 비교
    - Active Directory
        Set objUser=GetObject
            ("LDAP://cn=Gildon.Hong,ou=연구소,dc=nwtraders,dc=com")
        Wscript.Echo "First Name: " & objUser.GivenName
        Wscript.Echo "Last Name: " & objUser.sn

    - Internet Information Server
        Set objWebServer=GetObject("IIS://atl-ws-01/W3SVC")
        Wscript.Echo "Log Type: " & objWebServer.LogType
        Wscript.Echo "Server Comments: " & _objWebServer.ServerComment

○ ADSI Scripting Template
    Connect to an Object(=Binding)
    Perform Some Task
        - Object 생성
        - Object 수정
        - Object 삭제
    Save you Changes(SetInfo method 호출)

○ Active Directory Object Binding
    실생활에서 원하는 상대에게 전화 걸기
        Step1 : 상대방의 전화번호 획득
        Step2 : 전화걸기
    Object Binding 순서
        Step1 : Binding하고자 하는 Object의 ADsPath 획득(Provider이름+Distinguished Name)
        Step2 : Object에 Binding(GetObject)

○ Active Directory Naming
    도메인
        dc=nwtraders,dc=msft
    OU
        ou=연구소
    Object
        cn=Gildong.Hong
    Distinguished Name
        cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft
    Domain>OU>Object
        cn=xxx.xxx,ou=xx,dc=xxx,dc=xxx
    특정 개체를 지정하기 위한 체계가 있음

○ ADsPath(=Distinguished Name+Provider명)
    LDAP://(Distinguished Name)
        LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft
    Parent ADsPath
        LDAP://ou=연구소,dc=nwtraders,dc=msft

○ Object Binding Script
    OU안에 특정 개체 Binding
        Set objUser=GetObject
            ("LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=com")
    OU에 Binding
        Set objOU=GetObject("LDAP://ou=연구소,dc=nwtraders,dc=com")
    하위 OU에 Binding
        Set objOU=GetObject
            ("LDAP://ou=핵심기술연구팀,ou=연구소,dc=nwtraders,dc=com")

○ Active Directory Object 생성
    Identity Lifecycle
        - 임직원 입사 : 사용자 계정 생성
        - 조직/직급/직위/직책 생성 : 관련 그룹 계정 생성
    Script를 이용해서 성성하는 주 대상은 사용자 계정임
    생성순서
        - Step 1: Object를 생성하고자 하는 OU에 Binding
        - Step 2: Object 생성(그룹, 사용자 계정, 컴퓨터 계정이 될 수 있음)
        - Step 3: Object Attribute 설정(사용자 계정의 Attribute 설정)
        - Step 4: 설정 저장
    OU에 사용자 계정 생성
        Set objOU=GetObject("LDAP://ou=연구소,dc=nwtraders,dc=msft")
        Set objUser=objOU.Create("User","cn=Cheolwon.Choi")
        objUser.Put "sAMAccountName", "Cheolwon.Choi"
        objUser.Put "GivenName", "Cheolwon"
        objUser.Put "SN", "Choi"
        objUser.SetInfo

○ Excel을 이용한 사용자 계정 생성
    다수의 사용자 계정을 일괄 처리 가능
  
    사용자 계정 생성 순서
        Step 1 : Excel 인스턴스 생성 및 파일 열기
        Step 2 : Excel Data를 이용해 사용자 계정 생성
        Step 3 : Quit를 이용해서 Excel 인스턴스 종료

    Excel을 이용한 사용자 계정 생성 Script
        Set objExcel=CreateObject("Excel.Application")
        Set objWorkbook=objExcel.Workbooks.Open("C:\Temp\HR.xls")
        intRow = 2
        Do Until ObjExcel.Cells(intRow,1).Value=""
            strCN=objExcel.Cells(intRow,2).Value & "." &
            objExcel.Cells(intRow,1).Value
            Set objOU = GetObject("LDAP://ou=" &
            objExcel.Cells(intRow,3).Value & ",dc=nwtraders,dc=msft")
            Set objUser = objOU.Create("User", "cn=" & strCN)
            objUser.Put "sAMAccountName", strCN
            objUser.Put "GivenName", objExcel.Cells(intRow,2).Value
            objUser.Put "SN", objExcel.Cells(intRow,1).Value
            objUser.SetInfo
            intRow=intRow+1
        Loop
        objExcel.Quit

○ Active Directory Object 수정
    Identity Lifecycle
        - 전보 : 사용자 계정이 속한 조직 그룹 변경
        - 승진 발령 : 관련 직책/직급/직위 그룹 변경
        - 휴가/정직 : 사용자 계정 Disable
        - 복귀 : 사용자 계정 Enable
    수정 순서
        - Step 1: 수정하고자 하는 Object에 Binding
        - Step 2: Object Attribute 설정
        - Step 3: 설정 저장
    사용자 계정 상태 변경 Script
        Set objUser=GetObject("LDAP://cn=Gildong.Hong,ou=연구소,dc=nwtraders,dc=msft")
        objUser.AccountDisabled=TRUE(복귀시 FALSE)
        objUser.SetInfo(Commit Transaction과 같은 개념)

○ Active Directory Object 삭제
    Identiry Lifecycle
        - 퇴사 : 사용자 계정 삭제
        - 조직 통폐합 및 폐쇄 : 조직 그룹 삭제
    삭제 순서
        - Step 1 : 삭제할 Object를 포함하고 있는 OU에 Binding
        - Step 2 : 다음 두 매개변수를 이용해서 Delete Method 호출
    삭제할 개체 종류
    삭제할 개체 CN
    사용자 계정 삭제 Script
        Set objOU = GetObject("LDAP://ou=연구소,dc=nwtraders,dc=msft")
        objOU.Delete "User", "cn=Cheolwon.Choi"

○ 참고자료
    Microsoft Technet Script Center
        http://www.microsoft.com/technet/scriptcenter/default.mspx
    Active Directory Administration WebCast Series
        http://www.microsoft.com/events/series/adaug.mspx

신고
Posted by She쥐포s


티스토리 툴바