PowerShell을 사용하여 Microsoft 365 서비스에 대한 액세스 사용 안 함
이 문서는 Microsoft 365 Enterprise와 Office 365 Enterprise에 모두 적용됩니다.
Microsoft 365 계정에 라이선스 플랜의 라이선스가 할당되면 해당 라이선스에서 사용자가 Microsoft 365 서비스를 사용할 수 있게 됩니다. 그러나 사용자가 액세스할 수 있는 Microsoft 365 서비스를 제어할 수 있습니다. 예를 들어 라이선스가 SharePoint Online 서비스에 대한 액세스를 허용하더라도 해당 서비스에 대한 액세스를 사용하지 않도록 설정할 수 있습니다. PowerShell을 사용하여 다음과 같은 특정 라이선스 계획에 대한 여러 서비스에 대한 액세스를 사용하지 않도록 설정할 수 있습니다.
- 개별 계정.
- 계정 그룹입니다.
- 조직의 모든 계정.
참고
다른 서비스가 종속될 때 지정된 서비스를 사용하지 않도록 설정할 수 있는 Microsoft 365 서비스 종속성이 있습니다.
Microsoft Graph PowerShell SDK 사용
사용자에 대한 라이선스를 할당하고 제거하려면 User.ReadWrite.All 권한 범위 또는 '라이선스 할당' Graph API 참조 페이지에 나열된 다른 권한 중 하나가 필요합니다.
테넌트에서 사용할 수 있는 라이선스를 읽으려면 Organization.Read.All 권한 범위가 필요합니다.
Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All
다음으로, 이 명령을 사용하여 사용 가능한 라이선스 계획(SkuPartNumber라고도 함)을 확인합니다.
Get-MgSubscribedSku | Select SkuId, SkuPartNumber, ServicePlans | Sort SkuPartNumber
자세한 내용은 PowerShell을 사용하여 라이선스 및 서비스 보기를 참조하세요.
이 항목의 절차 전후 결과를 보려면 PowerShell을 사용하여 계정 라이선스 및 서비스 세부 정보 보기를 참조하세요.
특정 라이선스 계획에 대해 특정 사용자에 대한 특정 Microsoft 365 서비스 사용 안 함
특정 라이선스 계획에 대한 사용자에 대한 특정 Microsoft 365 서비스 집합을 사용하지 않도록 설정하려면 다음 단계를 수행합니다.
1단계: 다음 구문을 사용하여 라이선스 계획에서 원치 않는 서비스를 식별합니다.
먼저 다음 명령을 사용하여 테넌트에서 사용할 수 있는 라이선스 계획을 나열합니다.
Get-MgSubscribedSku | Select SkuPartNumber
SkuPartNumber
-------------
EMSPREMIUM
SPE_E5
RIGHTSMANAGEMENT_ADHOC
다음으로, 위의 명령에서 SkuPartNumber를 사용하여 지정된 Sku(라이선스 계획)에 사용할 수 있는 서비스 계획을 나열합니다.
다음 예제에서는 SPE_E5(Microsoft 365 E5)에 사용할 수 있는 모든 서비스 계획을 나열합니다.
Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5' | select -ExpandProperty ServicePlans
AppliesTo ProvisioningStatus ServicePlanId ServicePlanName
--------- ------------------ ------------- ---------------
User Success b21a6b06-1988-436e-a07b-51ec6d9f52ad PROJECT_O365_P3
User Success 64bfac92-2b17-4482-b5e5-a0304429de3e MICROSOFTENDPOINTDLP
User Success 199a5c09-e0ca-4e37-8f7c-b05d533e1ea2 MICROSOFTBOOKINGS
User Success 6db1f1db-2b46-403f-be40-e39395f08dbb CUSTOMER_KEY
User Success 4a51bca5-1eff-43f5-878c-177680f191af WHITEBOARD_PLAN3
User Success 07699545-9485-468e-95b6-2fca3738be01 FLOW_O365_P3
User Success 9c0dab89-a30c-4117-86e7-97bda240acd2 POWERAPPS_O365_P3
User Success e212cbc7-0961-4c40-9825-01117710dcb1 FORMS_PLAN_E5
User Success 57ff2da0-773e-42df-b2af-ffb7a2317929 TEAMS1
User Success 21b439ba-a0ca-424f-a6cc-52f954a5b111 WIN10_PRO_ENT_SUB
User Success eec0eb4f-6444-4f95-aba0-50c24d67f998 AAD_PREMIUM_P2
User Success c1ec4a95-1f05-45b3-a911-aa3fa01094f5 INTUNE_A
User Success 7547a3fe-08ee-4ccb-b430-5077c5041653 YAMMER_ENTERPRISE
User Success a23b959c-7ce8-4e57-9140-b90eb88a9e97 SWAY
User Success e95bec33-7c88-4a70-8e19-b10bd9d0c014 SHAREPOINTWAC
User Success 5dbe027f-2339-4123-9542-606e4d348a72 SHAREPOINTENTERPRISE
User Success b737dad2-2f6c-4c65-90e3-ca563267e8b9 PROJECTWORKMANAGEMENT
User Success 43de0ff5-c92c-492b-9116-175376d08c38 OFFICESUBSCRIPTION
User Success 0feaeb32-d00e-4d66-bd5a-43b5b83db82c MCOSTANDARD
User Success 9f431833-0334-42de-a7dc-70aa40db46db LOCKBOX_ENTERPRISE
User Success efb87545-963c-4e0d-99df-69c6916d9eb0 EXCHANGE_S_ENTERPRISE
라이선스 계획(제품 이름이라고도 함), 포함된 서비스 계획 및 해당 이름에 대한 전체 목록은 라이선스에 대한 제품 이름 및 서비스 계획 식별자를 참조하세요. ServicePlanId를 사용하여 검색하여 서비스 계획의 해당 이름을 조회합니다.
다음 예제에서는 MICROSOFTBOOKINGS(Microsoft Bookings) 및 LOCKBOX_ENTERPRISE(고객 Lockbox) 서비스가 꺼진 SPE_E5(Microsoft 365 E5)를 할당합니다.
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$disabledPlans = $e5Sku.ServicePlans | `
Where ServicePlanName -in ("LOCKBOX_ENTERPRISE", "MICROSOFTBOOKINGS") | `
Select -ExpandProperty ServicePlanId
$addLicenses = @(
@{
SkuId = $e5Sku.SkuId
DisabledPlans = $disabledPlans
}
)
Set-MgUserLicense -UserId "belinda@litwareinc.com" -AddLicenses $addLicenses -RemoveLicenses @()
Set-MgUserLicense AddLicenses 매개 변수의 DisabledPlans 속성은 사용자의 기존 DisabledPlans 값을 덮어씁니다. 기존 서비스 계획의 상태를 유지하려면 사용자의 현재 서비스 계획을 사용하지 않도록 설정하려는 새 계획과 병합해야 합니다.
기존 DisabledPlans를 포함하지 않으면 사용자의 이전에 사용하지 않도록 설정된 계획이 활성화됩니다.
다음 예제에서는 SPE_E5(Microsoft 365 E5)로 사용자를 업데이트하고 Sway 및 Forms 서비스 계획을 해제하면서 사용자의 기존 비활성화된 계획을 현재 상태로 둡니다.
## Get the services that have already been disabled for the user.
$userLicense = Get-MgUserLicenseDetail -UserId "belinda@fdoau.onmicrosoft.com"
$userDisabledPlans = $userLicense.ServicePlans | `
Where ProvisioningStatus -eq "Disabled" | `
Select -ExpandProperty ServicePlanId
## Get the new service plans that are going to be disabled
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$newDisabledPlans = $e5Sku.ServicePlans | `
Where ServicePlanName -in ("SWAY", "FORMS_PLAN_E5") | `
Select -ExpandProperty ServicePlanId
## Merge the new plans that are to be disabled with the user's current state of disabled plans
$disabledPlans = ($userDisabledPlans + $newDisabledPlans) | Select -Unique
$addLicenses = @(
@{
SkuId = $e5Sku.SkuId
DisabledPlans = $disabledPlans
}
)
## Update user's license
Set-MgUserLicense -UserId "belinda@litwareinc.onmicrosoft.com" -AddLicenses $addLicenses -RemoveLicenses @()
Windows PowerShell용 Microsoft Azure Active Directory 모듈 사용하기
다음으로 이 명령을 사용하여 AccountSkuIds라고도 하는 사용 가능한 라이선스 계획을 확인합니다.
Get-MsolAccountSku | Select AccountSkuId | Sort AccountSkuId
참고
PowerShell Core는 Windows PowerShell용 Microsoft Azure Active Directory 모듈 및 이름에 Msol 이 있는 cmdlet을 지원하지 않습니다. 이러한 cmdlet을 계속 사용하려면 Windows PowerShell에서 이를 실행해야 합니다.
자세한 내용은 PowerShell을 사용하여 라이선스 및 서비스 보기를 참조하세요.
이 항목의 절차 전후 결과를 보려면 PowerShell을 사용하여 계정 라이선스 및 서비스 세부 정보 보기를 참조하세요.
이 항목에서 설명하는 절차를 자동화하는 PowerShell 스크립트를 사용할 수 있습니다. 특히 스크립트를 사용하면 Sway 포함하여 Microsoft 365 조직에서 서비스를 보고 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 PowerShell을 사용하여 Sway 대한 액세스 사용 안 함을 참조하세요.
특정 라이선스 계획에 대해 특정 사용자에 대한 특정 Microsoft 365 서비스 사용 안 함
특정 라이선스 계획에 대한 사용자에 대한 특정 Microsoft 365 서비스 집합을 사용하지 않도록 설정하려면 다음 단계를 수행합니다.
1단계: 다음 구문을 사용하여 라이선스 계획에서 원치 않는 서비스를 식별합니다.
$LO = New-MsolLicenseOptions -AccountSkuId <AccountSkuId> -DisabledPlans "<UndesiredService1>", "<UndesiredService2>"...
다음 예제에서는 라이선스 litwareinc:ENTERPRISEPACK 계획(Office 365 Enterprise E3)에서 Office 및 SharePoint Online 서비스를 사용하지 않도록 설정하는 LicenseOptions 개체를 만듭니다.
$LO = New-MsolLicenseOptions -AccountSkuId "litwareinc:ENTERPRISEPACK" -DisabledPlans "SHAREPOINTWAC", "SHAREPOINTENTERPRISE"
2단계: 하나 이상의 사용자에 대해 1단계의 LicenseOptions 개체를 사용합니다.
서비스를 사용할 수 없는 새 계정을 만들려면 다음 구문을 사용합니다.
New-MsolUser -UserPrincipalName <Account> -DisplayName <DisplayName> -FirstName <FirstName> -LastName <LastName> -LicenseAssignment <AccountSkuId> -LicenseOptions $LO -UsageLocation <CountryCode>
다음 예제에서는 라이선스를 할당하고 1단계에 설명된 서비스를 사용하지 않도록 설정하는 Allie Bellew에 대한 새 계정을 만듭니다.
New-MsolUser -UserPrincipalName allieb@litwareinc.com -DisplayName "Allie Bellew" -FirstName Allie -LastName Bellew -LicenseAssignment litwareinc:ENTERPRISEPACK -LicenseOptions $LO -UsageLocation US
Microsoft 365용 PowerShell에서 사용자 계정을 만드는 방법에 대한 자세한 내용은 PowerShell을 사용하여 사용자 계정 만들기를 참조하세요.
사용이 허가된 기존 사용자에 대한 서비스를 사용하지 않도록 설정하려면 다음 구문을 사용합니다.
Set-MsolUserLicense -UserPrincipalName <Account> -LicenseOptions $LO
다음은 사용자 BelindaN@litwareinc.com 대한 서비스를 사용하지 않도록 설정하는 예제입니다.
Set-MsolUserLicense -UserPrincipalName belindan@litwareinc.com -LicenseOptions $LO
1단계에서 사용이 허가된 모든 사용자에 대해 설명한 서비스를 사용하지 않도록 설정하려면 Get-MsolAccountSku cmdlet(예: litwareinc:ENTERPRISEPACK)의 표시에서 Microsoft 365 계획의 이름을 지정한 다음 다음 명령을 실행합니다.
$acctSKU="<AccountSkuId>"
$AllLicensed = Get-MsolUser -All | Where {$_.isLicensed -eq $true -and $_.licenses.AccountSku.SkuPartNumber -contains ($acctSKU).Substring($acctSKU.IndexOf(":")+1, $acctSKU.Length-$acctSKU.IndexOf(":")-1)}
$AllLicensed | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
All 매개 변수를 사용하지 않고 Get-MsolUser cmdlet을 사용하는 경우 처음 500개의 사용자 계정만 반환됩니다.
기존 사용자 그룹에 대한 서비스를 사용하지 않도록 설정하려면 다음 방법 중 하나를 사용하여 사용자를 식별합니다.
메서드 1. 기존 계정 특성에 따라 계정 필터링
그렇게 하려면 다음 구문을 사용합니다.
$x = Get-MsolUser -All <FilterableAttributes>
$x | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
다음 예제에서는 미국 Sales 부서의 사용자에 대한 서비스를 사용하지 않도록 설정합니다.
$USSales = Get-MsolUser -All -Department "Sales" -UsageLocation "US"
$USSales | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
방법 2: 특정 계정 목록 사용
이 작업을 수행 하려면 다음 단계를 수행 합니다.
다음과 같이 각 줄에 한 계정에 포함 된 텍스트 파일을 만듭니다.
akol@contoso.com tjohnston@contoso.com kakers@contoso.com이 예제에서 텍스트 파일은 C:\My Documents\Accounts.txt.
다음 명령을 실행합니다.
Get-Content "C:\My Documents\Accounts.txt" | foreach {Set-MsolUserLicense -UserPrincipalName $_ -LicenseOptions $LO}
여러 라이선스 계획에 대해 서비스에 대한 액세스를 사용하지 않도록 설정하려면 각 라이선스 계획에 대해 위의 지침을 반복하여 다음을 확인합니다.
- 사용자 계정에 라이선스 계획이 할당되었습니다.
- 비활성화할 서비스는 라이선스 계획에서 사용할 수 있습니다.
라이선스 계획에 할당하는 동안 사용자에게 Microsoft 365 서비스를 사용하지 않도록 설정하려면 사용자 라이선스를 할당하는 동안 서비스에 대한 액세스 사용 안 함을 참조하세요.
라이선스 계획의 모든 서비스를 사용자 계정에 할당
서비스를 사용하지 않도록 설정한 사용자 계정의 경우 다음 명령을 사용하여 특정 라이선스 계획에 대해 모든 서비스를 사용하도록 설정할 수 있습니다.
$userUPN="<user account UPN>"
$acctSKU="<AccountSkuId>"
$LO = New-MsolLicenseOptions -AccountSkuId $acctSKU
Set-MsolUserLicense -UserPrincipalName $userUPN -LicenseOptions $LO