이번 글은 Powershell을 이용한 Office 365 관리 두번째로 사용자 관리, 특히 사용자 일괄등록을 중점적으로 다루고자 합니다.
일반적인 사용자 관리는 Office 365 관리포털(Web) 사용을 권장합니다. Office 365 관리포털(이하 관리포털)의 사용자 관리 기능은 초기 버전에 비해 더욱 편하게 개선되었으며 csv 파일을 이용하여 사용자 일괄등록을 지원합니다. 그렇다면 관리포털을 두고 왜 Powershell을 이용하여 사용자 관리를 하는 것일까요? 결과로 볼때 동일한 작업이지만 차이는 효율성이라고 할 수 있습니다. 사용자 관리에 관리포털을 이용하는 경우는 '비교적 적은 수의 사용자 관리'이고 Powershell을 이용하여 사용자를 관리하는 경우는 비교적 많은 사용자, '100여명 또는 200여명 이상의 사용자 관리'입니다. 사용자 수에 따라 일괄등록, 수정 시 관리포털에는 제약사항이 있습니다.
관리포털의 제약사항
단순히 사용자가 많으면 Powershell을 사용해야 한다? 오해하실 수도 있습니다만 우선 관리포털의 제약사항을 살펴보겠습니다.
- 사용자 일괄등록 시 한 번에 200명 제한
관리포털을 사용하여 사용자를 일괄등록 할 때 한 번에 입력할 수 있는 사용자가 200명으로 제한되어 있습니다. 만약 500여명의 사용자를 등록해야 한다면 사용자들을 3번으로 나눠서 등록해야 합니다. - 사용자 정보 변경 시 한 번에 100명 제한
사용자 일괄등록 후 사용자의 정보(라이선스 부여, 로그인 허용 여부, 비밀번호 재설정 등)를 한 번에 여러 사용자를 선택하여 변경해야 할 일이 있습니다. 동일한 정보로 변경할 경우 여러 사용자를 한 번에 선택하여 변경하고 싶을 텐데, 이러한 경우 한 번에 변경할 수 있는 사용자가 100명으로 제한되어 있습니다. 만약 500여명의 사용자에 일괄로 E3 라이선스를 부여하고 싶으면 100명씩 5번에 나눠서 변경해야 합니다. - 속도와 정합성 보장
관리포털에서 200여명의 사용자를 등록하거나 100여명의 사용자 정보를 한 번에 변경하면 예상외로 속도가 느립니다. 또 중간에 에러메시지가 표시되어도 사용자는 등록됩니다. 또 사용자 정보가 잘 변경된것 같지만 어떤 사용자는 정상적으로 변경된듯 한데 또 다른 사용자는 제대로 변경되지 않은 듯 합니다. 뭔가 불확실하고 화장실 갔다 휴지가 없어 그냥 나온듯 한 느낌이라고 할까요?(정합성 보장은 개인적인 경험으로 다른 분들은 다를 수도 있습니다)
Powershell 사용의 장점
관리포털의 사용자 관리가 관리에 부적합하다는 것은 아닙니다. 다만 사용자 수에 따른 관리 도구의 선택이 필요하다는 의미입니다. 즉 적은 수의 사용자 등록 또는 정보 변경은 관리포털을 이용하면 간편하고, 많은 사용자를 한 번에 등록하거나 변경 시에는 powershell을 사용하는 것이 좋습니다.
Powershell 사용 시 편리한 점은 사용자 등록 및 변경에 제한이 없으며 무엇보다 처리 속도가 관리포털에 비해 현저하게 빠릅니다(필자의 체감속도는 10배정도 되는 듯합니다).
Powershell을 사용하여 사용자 일괄등록
이제 본격적으로 Powershell을 사용하여 사용자 일괄등록을 설명하겠습니다. 작업하기 전에 Excel이 설치(csv 파일 수정에 text editor를 사용해도 가능 하지만 사용하기 불편합니다)되어 있으면 좋고, 1편에서 설명했던 Powershell 환경이 설정되어 있어야 합니다(Microsoft Azure Active Directory Module for Windows PowerShell 설치). 그리고 Office 365에 접속까지 성공했다면 이제 반이상 한거나 진배없습니다.
- 첫번째로 일괄등록 csv 파일을 생성합니다. 직접 만들어도 상관없지만 관리포털에서 sample 파일을 다운받아서 사용하는 것이 편리합니다. 저는 sample 파일을 다운받아 사용하겠습니다.
- 관리포털에서 관리자 타일을 선택하면 Admin Center 화면이 보이고 왼쪽 메뉴에서 '사용자 > 활성사용자' 메뉴 선택 후 활성 사용자 화면에서 '더 보기' 버튼, '+여러 사용자 가져오기'를 선택하면 다음과 같은 화면이 보입니다. - 샘플 파일을 열어 등록하고자 하는 사용자 정보를 입력합니다. 다른 정보는 중복되어도 상관없지만 '사용자 이름' 즉 UserPrincipalName은 중복되면 안되며 현재 Office 365에서 사용하는 도메인으로 변경해 주어야 합니다.
- 필자는 테스트용 계정이므로 UserPrincipalName의 도메인을 'kspark004.onmicrosoft.com'으로 변경해 주었습니다. 예를 들어 dongbuinc.co.kr 같은 커스텀 도메인으로 설정을 했으면 커스텀 도메인으로 변경하고 커스텀 도메인이 아직 없다면 일단 테넌트 등록 시 등록했던 기본 도메인 xxx.onmicrosoft.com 으로 등록하고 나중에 커스텀 도메인으로 변경해도 됩니다.
- 한글로 설정된 관리포털에서 다운받은 샘플 파일은 헤더가 한글이지만 추후 사용자 조회 시 영어 속성으로 조회해야 하므로 저는 혼동을 피하고자 처음부터 헤더를 영어로 변경하였습니다. 한글 헤더로 작업해도 문제 없으며 powershell로 업로드 시 필드 지정만 한글로 변경해주면 됩니다. - 이제 사용자 일괄등록을 위한 준비 작업을 끝났습니다. Powershell로 Office 365에 접속하고 잘 연결되었는지 확인합니다.
- Import-Csv 명령어를 사용하여 csv 파일에 있는 사용자를 일괄등록하며 필요에 따라 인수를 조절하여 입력을 원하는 정보를 변경할 수 있습니다(헤더가 한글일 경우 '$_.한글' 로 변경).
- 사용자는 임시로 생성된 비밀번호로 생성되어 로그인 가능하지만 라이선스가 할당되어 있지않아 Office 365를 사용할 수 없습니다. 관리자는 사용자 등록 후 별도의 작업으로 라이선스를 할당해야 합니다.
- 사용자에게 Office 365 라이선스를 할당합니다. 라이선스 할당을 위해서는 UsageLocation이 등록되어 있어야 합니다. E5는 필자의 Office 365 라이선스이고 각자의 라이선스에 맞는 값을 넣어주면 됩니다. - 임의의 값으로 생성된 사용자의 비밀번호를 관리 편의상 하나의 값으로 변경하여 공지하기를 원하는 경우도 있습니다(또는 csv 파일을 통해 사용자별로 원하는 임시비밀번호로 설정해도 됩니다). 이러한 경우 사용자 비밀번호를 변경하고 첫 로그인 시 반드시 비밀번호를 변경하게 할 수 있습니다(ForceChagePassword 속성 사용).
|
# Office 365 로그인을 위한 자격증명 등록 # 자격증명을 이용하여 Office 365에 연결 # Office 365와 연결되었는지 확인 (현재 라이선스 종류와 현황) |
|
# 사용자 일괄 등록 # 사용자 등록 결과를 Import_User_Sample_ko_rst.csv 파일로 Export |
- 아래 그림은 일괄 등록 후 화면이며 사용자의 비밀번호는 임의로 생성되고 라이선스는 할당되지 않는 상태로 생성됩니다. 일괄 등록 시 'Export-csv' 명령어를 추가하면 사용자 등록 후 결과를 파일로 다운 받을 수도 있습니다. 관리포털의 경우 등록 결과를 관리자의 메일로 보낼 수 있습니다.
|
#사용자별로 라이선스 할당 Office 365 E5라이선스 Office 365 ProPlus |
- 사용자별로 UsageLocation 지정과 라이선스 할당 결과 조회를 위해 사용자 조회시 특정 속성 값을 지정하여 조회하면 다음과 같은 결과를 얻을 수 있습니다.
# 모든 사용자의 비밀번호를 특정 값으로 설정하고 로그인 시 강제로 비밀번호를 변경하도록 함 Import-Csv -Path "C:\Import_User_Sample_ko.csv" | foreach { Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword "P@ssWord!" -ForceChangePassword $true } |
- 새로 생성한 사용자가 로그인 할때 Id(UserPrincipalName)와 초기 비밀번호를 입력했을 경우 아래 그림과 같이 암호를 업데이트 후 로그인 하도록 강제 설정할 수 있습니다.
※ 참고 사이트 |
'Old > Office365 관리' 카테고리의 다른 글
[Powershell 4] Office 365 사용자 관리(변경 및 삭제) (0) | 2017.07.27 |
---|---|
[Powershell 3] Office 365 사용자 관리(조회 및 등록) (0) | 2017.07.10 |
[Powershell 1] Office 365 로그인하기 (0) | 2017.06.15 |
[데이터센터 이전] 한국으로 데이터센터 이전 요청 하세요 (0) | 2017.05.31 |
[그룹] 구성원 일괄 추가 팁 (0) | 2017.05.31 |