Deaktivere tilgang til Microsoft 365-tjenester med PowerShell
Denne artikkelen gjelder for både Microsoft 365 Enterprise og Office 365 Enterprise.
Når en Microsoft 365-konto tilordnes en lisens fra en lisensieringsplan, gjøres Microsoft 365 tjenester tilgjengelige for brukeren fra denne lisensen. Du kan imidlertid kontrollere Microsoft 365 tjenester som brukeren har tilgang til. Selv om lisensen for eksempel gir tilgang til den SharePoint nettbaserte tjenesten, kan du deaktivere tilgang til den. Du kan bruke PowerShell til å deaktivere tilgang til et hvilket som helst antall tjenester for en bestemt lisensieringsplan for:
- En individuell konto.
- En gruppe med kontoer.
- Alle kontoer i organisasjonen.
Obs!
Det finnes Microsoft 365 tjenesteavhengigheter som kan hindre deg i å deaktivere en angitt tjeneste når andre tjenester er avhengige av den.
Bruke Microsoft Graph PowerShell SDK
Først kobler du til Microsoft 365-leieren.
Tilordning og fjerning av lisenser for en bruker krever user.ReadWrite.All tillatelsesomfang eller én av de andre tillatelsene som er oppført på siden Tilordne lisens Graph API-referanse.
Tillatelsesomfanget Organization.Read.All kreves for å lese lisensene som er tilgjengelige i leieren.
Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All
Deretter bruker du denne kommandoen til å vise tilgjengelige lisensplaner, også kjent som SkuPartNumber:
Get-MgSubscribedSku | Select SkuId, SkuPartNumber, ServicePlans | Sort SkuPartNumber
Hvis du vil ha mer informasjon, kan du se Vis lisenser og tjenester med PowerShell.
Hvis du vil se før- og etter-resultatene av prosedyrene i dette emnet, kan du se Vis kontolisens og tjenestedetaljer med PowerShell.
Deaktivere bestemte Microsoft 365 tjenester for bestemte brukere for en bestemt lisensieringsplan
Hvis du vil deaktivere et bestemt sett med Microsoft 365 tjenester for brukere for en bestemt lisensieringsplan, utfører du følgende trinn:
Trinn 1: Identifiser de uønskede tjenestene i lisensieringsplanen ved hjelp av følgende syntaks:
Før først opp lisensplanene som er tilgjengelige i leieren, ved hjelp av følgende kommando.
Get-MgSubscribedSku | Select SkuPartNumber
SkuPartNumber
-------------
EMSPREMIUM
SPE_E5
RIGHTSMANAGEMENT_ADHOC
Deretter bruker du SkuPartNumber fra kommandoen ovenfor, og viser serviceplanene som er tilgjengelige for en gitt lisensplan (SKU).
Følgende eksempel viser alle serviceplanene som er tilgjengelige for 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
Hvis du vil ha en fullstendig liste over lisensplaner (også kjent som produktnavn), de inkluderte serviceplanene og tilhørende egendefinerte navn, kan du se Produktnavn og tjenesteplanidentifikatorer for lisensiering. (Søk ved hjelp av ServicePlanId for å slå opp serviceplanens tilsvarende egendefinerte navn).
Følgende eksempel tilordner SPE_E5 (Microsoft 365 E5) med MICROSOFTBOOKINGS -tjenestene (Microsoft Bookings) og LOCKBOX_ENTERPRISE (Customer Lockbox) slått av:
$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 @()
DisabledPlans-egenskapen for parameteren AddLicenses i Set-MgUserLicense overskriver brukerens eksisterende DisabledPlans-verdi. Hvis du vil beholde tilstanden til eksisterende serviceplaner, må brukerens gjeldende status for tjenesteplaner slås sammen med de nye planene som skal deaktiveres.
Hvis du ikke inkluderer de eksisterende DisabledPlans, vil det føre til at brukerens tidligere deaktiverte plan blir aktivert.
Følgende eksempel oppdaterer en bruker med SPE_E5 (Microsoft 365 E5) og deaktiverer tjenesteabonnementene for Sway og Forms mens brukerens eksisterende deaktiverte planer beholdes i gjeldende tilstand:
## 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 @()
Bruk Microsoft Azure Active Directory modulen for Windows PowerShell
Først kobler du til Microsoft 365-leieren.
Deretter bruker du denne kommandoen til å vise tilgjengelige lisensieringsplaner, også kjent som AccountSkuIds:
Get-MsolAccountSku | Select AccountSkuId | Sort AccountSkuId
Obs!
PowerShell Core støtter ikke Microsoft Azure Active Directory modulen for Windows PowerShell modulen og cmdleter med Msol i navnet. Hvis du vil fortsette å bruke disse cmdletene, må du kjøre dem fra Windows PowerShell.
Hvis du vil ha mer informasjon, kan du se Vis lisenser og tjenester med PowerShell.
Hvis du vil se før- og etter-resultatene av prosedyrene i dette emnet, kan du se Vis kontolisens og tjenestedetaljer med PowerShell.
Et PowerShell-skript er tilgjengelig som automatiserer prosedyrene som er beskrevet i dette emnet. Skriptet lar deg vise og deaktivere tjenester i Microsoft 365 organisasjonen, inkludert Sway. Hvis du vil ha mer informasjon, kan du se Deaktivere tilgang til Sway med PowerShell.
Deaktivere bestemte Microsoft 365 tjenester for bestemte brukere for en bestemt lisensieringsplan
Hvis du vil deaktivere et bestemt sett med Microsoft 365 tjenester for brukere for en bestemt lisensieringsplan, utfører du følgende trinn:
Trinn 1: Identifiser de uønskede tjenestene i lisensieringsplanen ved hjelp av følgende syntaks:
$LO = New-MsolLicenseOptions -AccountSkuId <AccountSkuId> -DisabledPlans "<UndesiredService1>", "<UndesiredService2>"...
Følgende eksempel oppretter et LicenseOptions-objekt som deaktiverer Office- og SharePoint Online-tjenestene i lisensieringsplanen litwareinc:ENTERPRISEPACK kalt (Office 365 Enterprise E3).
$LO = New-MsolLicenseOptions -AccountSkuId "litwareinc:ENTERPRISEPACK" -DisabledPlans "SHAREPOINTWAC", "SHAREPOINTENTERPRISE"
Trinn 2: Bruk LicenseOptions-objektet fra trinn 1 på én eller flere brukere.
Hvis du vil opprette en ny konto som har tjenestene deaktivert, bruker du følgende syntaks:
New-MsolUser -UserPrincipalName <Account> -DisplayName <DisplayName> -FirstName <FirstName> -LastName <LastName> -LicenseAssignment <AccountSkuId> -LicenseOptions $LO -UsageLocation <CountryCode>
Følgende eksempel oppretter en ny konto for Allie Bellew som tilordner lisensen og deaktiverer tjenestene som er beskrevet i trinn 1.
New-MsolUser -UserPrincipalName allieb@litwareinc.com -DisplayName "Allie Bellew" -FirstName Allie -LastName Bellew -LicenseAssignment litwareinc:ENTERPRISEPACK -LicenseOptions $LO -UsageLocation US
Hvis du vil ha mer informasjon om hvordan du oppretter brukerkontoer i PowerShell for Microsoft 365, kan du se Opprette brukerkontoer med PowerShell.
Hvis du vil deaktivere tjenestene for en eksisterende lisensiert bruker, bruker du følgende syntaks:
Set-MsolUserLicense -UserPrincipalName <Account> -LicenseOptions $LO
Dette eksemplet deaktiverer tjenestene for brukeren BelindaN@litwareinc.com.
Set-MsolUserLicense -UserPrincipalName belindan@litwareinc.com -LicenseOptions $LO
Hvis du vil deaktivere tjenestene som er beskrevet i trinn 1 for alle eksisterende lisensierte brukere, angir du navnet på Microsoft 365-planen fra visningen av Get-MsolAccountSku-cmdleten (for eksempel litwareinc:ENTERPRISEPACK), og kjører deretter følgende kommandoer:
$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}
Hvis du bruker Get-MsolUser-cmdleten uten å bruke Alle-parameteren, returneres bare de første 500 brukerkontoene.
Hvis du vil deaktivere tjenestene for en gruppe eksisterende brukere, kan du bruke én av følgende metoder til å identifisere brukerne:
Metode 1. Filtrere kontoene basert på et eksisterende kontoattributt
Hvis du vil gjøre dette, bruker du følgende syntaks:
$x = Get-MsolUser -All <FilterableAttributes>
$x | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
Følgende eksempel deaktiverer tjenestene for brukere i salgsavdelingen i USA.
$USSales = Get-MsolUser -All -Department "Sales" -UsageLocation "US"
$USSales | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -LicenseOptions $LO}
Metode 2: Bruke en liste over bestemte kontoer
Hvis du vil gjøre dette, utfører du følgende trinn:
Opprett en tekstfil som inneholder én konto på hver linje som dette:
akol@contoso.com tjohnston@contoso.com kakers@contoso.comI dette eksemplet er tekstfilen C:\My Documents\Accounts.txt.
Utfør denne kommandoen:
Get-Content "C:\My Documents\Accounts.txt" | foreach {Set-MsolUserLicense -UserPrincipalName $_ -LicenseOptions $LO}
Hvis du vil deaktivere tilgang til tjenester for flere lisensieringsplaner, gjentar du instruksjonene ovenfor for hver lisensieringsplan, slik at:
- Brukerkontoene er tilordnet lisensplanen.
- Tjenestene som skal deaktiveres, er tilgjengelige i lisensieringsplanen.
Hvis du vil deaktivere Microsoft 365 tjenester for brukere mens du tilordner dem til en lisensieringsplan, kan du se Deaktivere tilgang til tjenester mens du tilordner brukerlisenser.
Tilordne alle tjenester i en lisensplan til en brukerkonto
For brukerkontoer som har hatt tjenester deaktivert, kan du aktivere alle tjenester for en bestemt lisensieringsplan med disse kommandoene:
$userUPN="<user account UPN>"
$acctSKU="<AccountSkuId>"
$LO = New-MsolLicenseOptions -AccountSkuId $acctSKU
Set-MsolUserLicense -UserPrincipalName $userUPN -LicenseOptions $LO
Beslektet emne
Administrere Microsoft 365 brukerkontoer, lisenser og grupper med PowerShell