Powershell 사용자 라이선스 할당/해제
우선 M365에 접근하기 위해
Microsoft Graph PowerShell SDK 모듈을 설치해야한다.
Powershell -> 관리자 권한으로 실행합니다.
다음 명령어를 입력하여 Microsoft Graph 모듈을 설치합니다.
Install-Module Microsoft.Graph -Scope CurrentUser
설치가 완료되면 다음 명령어로 확인할 수 있습니다.
Get-InstalledModule Microsoft.Graph

설치가 완료됐으면 Microsoft Graph에 연결합니다.
Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

Microsoft Graph의 각 API는 하나 이상의 권한 범위로 보호됩니다. 로그인하는 사용자는 사용하려는 API에 필요한 범위 중 하나에 동의해야 합니다.
“조직 대신 동의”를 체크하고 동의함을 누릅니다.

현재 라이선스 계획 및 각 계획에 사용 가능한 라이선스에 대한 요약 정보를 보려면 다음 명령을 실행합니다.
Get-MgSubscribedSku | Select -Property Sku*, ConsumedUnits -ExpandProperty PrepaidUnits | Format-List
현재 Microsoft 365 테넌트에 존재하는 라이선스 목록들입니다.

사용자 계정 라이선스 해제 명령어는 다음과 같습니다.
Set-MgUserLicense -UserId "<Account>" -RemoveLicenses @("<AccountSkuId1>") -AddLicenses @{}
시나리오1. E5라이선스를 해제해 보겠습니다.
Get-MgSubscribedSku | Select -Property Sku*, ConsumedUnits -ExpandProperty PrepaidUnits | Format-List 입력하여 라이선스를 확인합니다.

E5의 AccountSkuId1는 06ebc4ee-1bb5-47dd-8120-11324bc54e06입니다.
명령을 사용하여 특정 사용자 계정에 할당된 라이선스를 나열합니다.
명령어는 다음과 같습니다.
Get-MgUserLicenseDetail -UserId "<user sign-in name (UPN)>"
Ex) user03 사용자의 라이선스 할당 확인
Get-MgUserLicenseDetail -UserId user03@megazonemdw.onmicrosoft.com

Ex) use03 사용자의 E5 라이선스를 해제합니다.
Set-MgUserLicense -UserId "user03@megazonemdw.onmicrosoft.com" -RemoveLicenses @("06ebc4ee-1bb5-47dd-8120-11324bc54e06") -AddLicenses @{}
E5라이선스가 해제되었습니다.

Microsoft 365 관리센터에서 user03 사용자의 라이선스가 해제되었습니다.

다시 사용자에게 라이선스를 할당하는 방법입니다.
아래는 개별 사용자에게 라이선스를 할당하는 명령어입니다.
Set-MgUserLicense -UserId $userUPN -AddLicenses @{SkuId = "<SkuId>"} -RemoveLicenses @()
Ex). User03사용자에게 다시 E5라이선스를 할당해 보겠습니다.
Set-MgUserLicense -UserId "user03@megazonemdw.onmicrosoft.com" -AddLicenses @{SkuId = "06ebc4ee-1bb5-47dd-8120-11324bc54e06"} -RemoveLicenses @()

Microsoft 365 관리센터에도 E5라이선스가 정상적으로 할당되었습니다.
