Office 365 사용자 계정 정보 반환

 

마지막으로 수정된 항목: 2014-06-09

요약: Windows PowerShell에서 Windows PowerShell cmdlet, 스크립트 및 일괄 프로세스를 사용하여 Office 365를 관리합니다.

이름 외에도 Azure Active Directory를 사용하여 수행할 수 있는 관리 작업을 집중적으로 살펴보는 것이 훨씬 더 흥미롭고 중요합니다. Azure Active Directory에는 cmdlet 66개가 포함되어 있습니다. 이들 대부분은 Office 365 사용자, 그룹 및 라이선스를 관리하는 데 사용됩니다. 예를 들어 Office 365 사용자 목록을 신속하게 확인해야 하는 경우 다음 명령을 실행합니다.

Get-MsolUser

다소 늦은 감은 있지만 여기서 cmdlet 이름에 대해 언급하고 넘어가겠습니다. Azure Active Directory cmdlet의 이름에는 한 가지 공통점이 있습니다.

  • Add-MsolForeignGroupToRole

  • Add-MsolGroupMember

  • Add-MsolRoleMember

  • Confirm-MsolDomain

  • Connect-MsolService

보시다시피 각 cmdlet의 명사, 즉 하이픈 뒤의 이름 부분은 모두 접두사 Msol로 시작하며 이것은 우연의 일치가 아닙니다. MsOnline의 약어인 Msol 접두사는 이러한 cmdlet을 Azure Active Directory cmdlet으로 식별하는 데 사용됩니다. 모든 Azure Active Directory cmdlet에는 접두사 Msol이 있어야 하며 다른 Windows PowerShell cmdlet은 Msol 접두사를 사용할 수 없습니다. 예를 들어 모든 SharePoint Online cmdlet에는 다음 접두사가 있습니다.

  • Add-SPOUser

  • Connect-SPOService

  • Disconnect-SPOService

  • Get-SPOAppErrors

  • Get-SPOAppInfo

그리고 Lync Online cmdlet에는 모두 Cs 접두사가 있습니다.

  • Get-CsAudioConferencingProvider

  • Get-CsOnlineUser

  • Get-CsTenant

  • Get-CsTenantFederationConfiguration

  • Get-CsTenantHybridConfiguration

Cs 접두사는 Communication Server의 약어입니다. Lync Server의 이전 이름이 Office Communications Server였기 때문입니다. 해당 이름이 공식적으로 변경되었을 당시에는 대부분의 cmdlet이 이미 완성된 상태였습니다. 후반 단계에서 cmdlet 이름을 변경하면 제품 출시가 지연될 수 있었으므로 Cs 접두사는 그대로 유지되었습니다.

그런데 Exchange cmdlet에는 접두사가 없습니다.

  • Add-RecipientPermission

  • Get-LinkedUser

  • Get-RecipientPermission

  • Get-RemovedMailbox

  • Get-SendAddress

그 이유는 Exchange가 Windows PowerShell cmdlet 집합을 제공한 최초의 서버 제품이었기 때문입니다. 그 당시에는 특별히 cmdlet 접두사나 기타 식별자를 사용할 필요가 없었습니다. 그러나 다른 서버 팀에서 cmdlet을 만들기 시작하면서 문제가 발생했습니다. 예를 들어 Exchange에 Set-User라는 cmdlet이 있다면 다른 팀에서는 사용자 속성을 설정하는 cmdlet에 다른 이름을 지정해야 합니다. cmdlet 이름은 고유해야 하기 때문입니다. 이러한 이유로 접두사가 사용되기 시작했습니다. 그 결과 이제는 cmdlet 이름이 Set-MsolUser, Set-CsUser, Set-SPOSiteUser 등으로 지정됩니다.

어쨌든 Get-MsolUser를 실행하면 다음과 비슷한 정보가 반환됩니다.

UserPrincipalName                     DisplayName           isLicensed
-----------------                     -----------           ----------
ZrinkaM@litwareinc.onmicrosoft.com    Zrinka Makovac        True
BonnieK@litwareinc.onmicrosoft.com    Bonnie Kearney        True
FabriceC@litwareinc.onmicrosoft.com   Fabrice Canel         True
BrianJ@litwareinc.onmicrosoft.com     Brian Johnson         False 
AnneWlitwareinc.onmicrosoft.com       Anne Wallace          True

위에 나와 있는 것이 모든 Office 365 사용자입니다.

이번에는 라이선스가 없는 사용자, 즉 Office 365에 추가는 되었지만 소프트웨어 응용 프로그램 사용 권한이 부여되지는 않은 사용자 목록만 확인하려는 경우를 가정해 보겠습니다. 이 정보도 쉽게 확인할 수 있습니다.

Get-MsolUser -UnlicensedUsersOnly

마찬가지로 Get-MsolUser cmdlet을 호출하되, 이번에는 UnlicensedUsersOnly 매개 변수를 사용합니다. 이름에서 알 수 있듯이 해당 매개 변수는 반환되는 데이터를 라이선스가 발급되지 않은 사용자로 제한합니다.

UserPrincipalName                     DisplayName           isLicensed
-----------------                     -----------           ----------
BrianJ@litwareinc.onmicrosoft.com     Brian Johnson         False
ScottW@litwareinc.onmicrosoft.com     Scott Wallace         False

따라서 원하는 정보를 쉽게 확인할 수 있습니다.

또한 Windows PowerShell은 복잡한 컴퓨터 언어로 정평이 나 있습니다. 대부분의 사용자는 Windows PowerShell 명령을 다음과 같이 생각합니다.

gc test.txt | sort {[int]$_} |% {$i = 1}{while ($i -lt $_){$i;$i++};$i++}

그러나 실제 Windows PowerShell 명령은 그렇게 복잡하지 않습니다. 위에서 Office 365 사용 권한이 부여되지 않은 사용자만을 반환하는 명령을 살펴보았는데요. 이 정보를 반환하려면 Get-MsolUser라는 cmdlet과 UnlicensedUsersOnly라는 매개 변수를 사용하면 됩니다.

Get-MsolUser -UnlicensedUsersOnly

이 명령을 실행하면 라이선스가 없는 사용자만 반환됩니다.

다시 말해서 Windows PowerShell은 필요에 따라 복잡하게 사용할 수도 있고 단순하고 알기 쉽게 사용할 수도 있습니다.


다음 항목: 반환할 사용자 계정 속성 값 선택

 
표시: