사용자 라이선스를 할당하는 동안 Microsoft 365 서비스에 대한 액세스 사용 안 함
이 문서는 Microsoft 365 Enterprise와 Office 365 Enterprise에 모두 적용됩니다.
Microsoft 365 구독에는 개별 서비스에 대한 서비스 계획이 함께 제공됩니다. Microsoft 365 관리자는 사용자에게 라이선스를 할당할 때 특정 계획을 사용하지 않도록 설정해야 하는 경우가 많습니다. 이 문서의 지침에 따라 개별 사용자 계정 또는 여러 사용자 계정에 대해 PowerShell을 사용하여 특정 서비스 계획을 사용하지 않도록 설정하는 동안 Microsoft 365 라이선스를 할당할 수 있습니다.
Graph 모듈용 Azure Active Directory PowerShell 사용하기
다음으로, 이 명령을 사용하여 테넌트에 대한 라이선스 계획을 나열합니다.
Get-AzureADSubscribedSku | Select SkuPartNumber
다음으로, 라이선스를 추가할 계정의 로그인 이름(UPN(사용자 계정 이름))을 가져옵니다.
다음으로, 사용하도록 설정할 서비스 목록을 컴파일합니다. 라이선스 계획(제품 이름이라고도 함), 포함된 서비스 계획 및 해당 이름에 대한 전체 목록은 라이선스에 대한 제품 이름 및 서비스 계획 식별자를 참조하세요.
아래 명령 블록의 경우 사용자 계정의 사용자 계정 이름, SKU 파트 번호 및 설명 텍스트 < and > 와 문자를 사용하도록 설정하고 제거할 서비스 계획 목록을 입력합니다. 그런 다음 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.
$userUPN="<user account UPN>"
$skuPart="<SKU part number>"
$serviceList=<double-quoted enclosed, comma-separated list of enabled services>
$user = Get-AzureADUser -ObjectID $userUPN
$skuID= (Get-AzureADSubscribedSku | Where {$_.SkuPartNumber -eq $skuPart}).SkuID
$SkuFeaturesToEnable = @($serviceList)
$StandardLicense = Get-AzureADSubscribedSku | Where {$_.SkuId -eq $skuID}
$SkuFeaturesToDisable = $StandardLicense.ServicePlans | ForEach-Object { $_ | Where {$_.ServicePlanName -notin $SkuFeaturesToEnable }}
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = $StandardLicense.SkuId
$License.DisabledPlans = $SkuFeaturesToDisable.ServicePlanId
$LicensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$LicensesToAssign.AddLicenses = $License
Set-AzureADUserLicense -ObjectId $user.ObjectId -AssignedLicenses $LicensesToAssign
Windows PowerShell용 Microsoft Azure Active Directory 모듈 사용하기
다음으로, 이 명령을 실행하여 현재 구독을 확인합니다.
Get-MsolAccountSku
참고
PowerShell Core는 Windows PowerShell용 Microsoft Azure Active Directory 모듈 및 이름에 Msol 이 있는 cmdlet을 지원하지 않습니다. 이러한 cmdlet을 계속 사용하려면 Windows PowerShell에서 이를 실행해야 합니다.
명령 표시에서 다음을 수행합니다.Get-MsolAccountSku
AccountSkuId 는 조직의 <OrganizationName><Subscription> 구독 형식입니다. Microsoft 365 <OrganizationName> 등록할 때 제공한 값이며 조직에서 고유합니다. 값은 <Subscription> 특정 구독에 대한 값입니다. 예를 들어 litwareinc:ENTERPRISEPACK의 경우 조직 이름은 litwareinc이고 구독 이름은 ENTERPRISEPACK(Office 365 Enterprise E3)입니다.
ActiveUnits 는 구독에 대해 구매한 라이선스 수입니다.
WarningUnits 는 갱신하지 않은 구독의 라이선스 수이며 30일 유예 기간 후에 만료됩니다.
ConsumedUnits 는 구독에 대해 사용자에게 할당한 라이선스 수입니다.
라이선스를 부여하려는 사용자가 포함된 Microsoft 365 구독의 AccountSkuId를 확인합니다. 또한 할당할 라이선스가 충분한지 확인합니다(ActiveUnits 에서 ConsumedUnits 빼기).
다음으로 이 명령을 실행하여 모든 구독에서 사용할 수 있는 Microsoft 365 서비스 계획에 대한 세부 정보를 확인합니다.
Get-MsolAccountSku | Select -ExpandProperty ServiceStatus
이 명령의 표시에서 사용자에게 라이선스를 할당할 때 사용하지 않도록 설정할 서비스 계획을 결정합니다.
다음은 서비스 계획 및 해당 Microsoft 365 서비스의 일부 목록입니다.
다음 표에서는 가장 일반적인 서비스에 대한 Microsoft 365 서비스 계획 및 해당 이름을 보여 줍니다. 서비스 계획 목록이 다를 수도 있습니다.
| 서비스 계획 | 설명 |
|---|---|
SWAY |
Sway |
TEAMS1 |
Microsoft Teams |
YAMMER_ENTERPRISE |
Yammer |
RMS_S_ENTERPRISE |
RMS(Azure 권한 관리) |
OFFICESUBSCRIPTION |
엔터프라이즈용 Microsoft 365 앱 (이전에 명명된 Office 365 ProPlus) |
MCOSTANDARD |
비즈니스용 Skype Online |
SHAREPOINTWAC |
Office |
SHAREPOINTENTERPRISE |
SharePoint Online |
EXCHANGE_S_ENTERPRISE |
Exchange Online 계획 2 |
라이선스 계획(제품 이름이라고도 함), 포함된 서비스 계획 및 해당 이름에 대한 전체 목록은 라이선스에 대한 제품 이름 및 서비스 계획 식별자를 참조하세요.
이제 AccountSkuId와 서비스를 사용하지 않도록 설정할 계획이 있으므로 개별 사용자 또는 여러 사용자에 대한 라이선스를 할당할 수 있습니다.
단일 사용자의 경우
단일 사용자의 경우 사용자 계정의 사용자 계정 이름, AccountSkuId 및 서비스 목록을 입력하여 설명 텍스트 < and > 와 문자를 사용하지 않도록 설정하고 제거할 계획입니다. 그런 다음 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.
$userUPN="<the user's account name in email format>"
$accountSkuId="<the AccountSkuId from the Get-MsolAccountSku command>"
$planList=@( <comma-separated, double-quote enclosed list of the service plans to disable> )
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
다음은 contoso:ENTERPRISEPACK 라이선스의 belindan@contoso.com 계정에 대한 예제 명령 블록이며, 사용하지 않도록 설정할 서비스 계획은 RMS_S_ENTERPRISE, SWAY, INTUNE_O365 및 YAMMER_ENTERPRISE.
$userUPN="belindan@contoso.com"
$accountSkuId="contoso:ENTERPRISEPACK"
$planList=@( "RMS_S_ENTERPRISE","SWAY","INTUNE_O365","YAMMER_ENTERPRISE" )
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
여러 사용자의 경우
여러 사용자에 대해 이 관리 작업을 수행하려면 UserPrincipalName 및 UsageLocation 필드를 포함하는 CSV(쉼표로 구분된 값) 텍스트 파일을 만듭니다. 예를 들면 다음과 같습니다.
UserPrincipalName,UsageLocation
ClaudeL@contoso.onmicrosoft.com,FR
LynneB@contoso.onmicrosoft.com,US
ShawnM@contoso.onmicrosoft.com,US
다음으로 입력 및 출력 CSV 파일의 위치, 계정 SKU ID 및 사용하지 않도록 설정할 서비스 계획 목록을 입력한 다음 PowerShell 명령 프롬프트에서 결과 명령을 실행합니다.
$inFileName="<path and file name of the input CSV file that contains the users, example: C:\admin\Users2License.CSV>"
$outFileName="<path and file name of the output CSV file that records the results, example: C:\admin\Users2License-Done.CSV>"
$accountSkuId="<the AccountSkuId from the Get-MsolAccountSku command>"
$planList=@( <comma-separated, double-quote enclosed list of the plans to disable> )
$users=Import-Csv $inFileName
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
ForEach ($user in $users)
{
$user.Userprincipalname
$upn=$user.UserPrincipalName
Set-MsolUserLicense -UserPrincipalName $upn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $upn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
$users | Get-MsolUser | Select UserPrincipalName, Islicensed,Usagelocation | Export-Csv $outFileName
}
이 PowerShell 명령 블록:
각 사용자의 사용자 계정 이름을 표시합니다.
각 사용자에게 사용자 지정된 라이선스를 할당합니다.
처리된 모든 사용자가 있는 CSV 파일을 만들고 해당 라이선스 상태를 표시합니다.
참고 항목
PowerShell을 사용하여 Microsoft 365 서비스에 대한 액세스 사용 안 함
PowerShell을 사용하여 Sway 대한 액세스 사용 안 함