관리 메뉴

MY IT Life

Powershell을 이용한 AD사용자 Import 본문

02. Microsoft/ActiveDirectory

Powershell을 이용한 AD사용자 Import

검짱돌이 2013. 5. 2. 17:11

[개요]

Active Directory에 한번에 많은 사용자를 만드는 방법은 여러가지가 있습니다. DSADD, CSVDE등이 있습니다. 그러나 이러한 기존 방법은 사용자 생성시 암호를 같이 입력할 수 없었습니다. 파워쉘에서 Import-CSV를 이용하면 한번에 대량의 사용자의 암호를 동시에 설정할 수 있습니다.

   

[작업 방법]

대량의 사용자를 PowerShell로 등록하기 위해서 CSV 파일(엑셀 파일로 만든 후 CSV로 저장)에 아래와 같은 순서로 사용자 정보를 입력합니다.

꼭 아래의 화면과 같을 필요는 없으나 "Name" 필드는 필수입니다. 필요한 필드를 채웁니다. 여기서는 프로필 경로와 스크립트 경로는 입력하지 않았습니다.

Sample 파일 위치 \\G:\Document\Microsoft\ActiveDirectory

   

  1. Excel 파일을 이용하여 아래와 같은 CSV파일을 생성합니다.

    주의사항

    - 노란색 부분은 각 탭에 대한 설명이므로 실제 CSV파일 생성시에는 첫번째 행을 삭제합니다.

    - 각 개체에 빈칸이 있으면 안됩니다. 즉 [유기승] 이름 뒤에 빈칸을 두어서는 안됩니다.

     

       

  2. CSV로 저장된 파일을 notepad로 다시 열어 인코딩을 반드시 "UTP-8"로 저장합니다.

  3. 아래 코드를 복사해서 Powershell 에서 입력합니다. 주의할 사항은 CSV에서 입력한 필드와 아래의 코드의 순서를 맞추어야 합니다. CSV 파일에 필드명은 있으나 값이 없는 경우 해당 코드는 입력하지 않아도 무방합니다.  아래 코드에서 프로필 경로와 스크립트 경로는 입력하지 않았습니다.

       

    c:\users.csv는 CSV 파일의 경로를 지정합니다.

    위 엑셀의 열과 아래 명령어가 정확히 일치해야 합니다.

    Import-CSV c:\users.csv | foreach {new-aduser -Name $_.name -Path $_.Path -samaccountname $_.SamaccountName -userPrincipalName $_.userPrincipalName -Surname $_.Surname -GivenName $_.givenName -DisplayName $_.DisplayName -description $_.description -Office $_.Office -OfficePhone $_.OfficePhone -EmailAddress $_.EmailAddress -City $_.City -State $_.State -StreetAddress $_.StreetAddress -PostalCode $_.PostalCode -homePhone $_.homePhone -mobilePhone $_.mobilePhone -fax $_.fax -title $_.title -Department $_.Department -company $_.company -AccountPassword (ConvertTo-SecureString -AsPlainText "abcd1234!!@@" -Force) -Enabled $true -ChangePasswordAtLogon