Inaktivera åtkomst till Microsoft 365 när användarlicenser tilldelas

Denna artikel gäller för både Microsoft 365 Enterprise och Office 365 Enterprise.

Microsoft 365-prenumerationer följer med tjänstplaner för enskilda tjänster. Microsoft 365 administratörer måste ofta inaktivera vissa abonnemang när de tilldelar licenser till användare. Med anvisningarna i den här artikeln kan du tilldela en licens Microsoft 365 samtidigt som du inaktiverar specifika tjänstplaner med hjälp av PowerShell för ett enskilt användarkonto eller flera användarkonton.

Använda Azure Active Directory För Graph PowerShell

Börja med att ansluta till Microsoft 365 klientorganisation.

Lista sedan licensplaner för din klientorganisation med det här kommandot.

Get-AzureADSubscribedSku | Select SkuPartNumber

Hämta sedan inloggningsnamnet för det konto som du vill lägga till en licens för, även kallat användarens huvudnamn (UPN).

Sammanställ sedan en lista med tjänster som du kan aktivera. En fullständig lista över licensplaner (kallas även produktnamn), deras inkluderade tjänstplaner och deras motsvarande eget namn finns i Produktnamn och tjänstplansidentifierare för licensiering.

För kommandoblocket nedan fyller du i användarkontons huvudnamn, SKU-delens nummer och listan över tjänstplaner för att aktivera och ta bort den förklarande texten och < and > tecknen. Kör sedan resulterande kommandon i PowerShell-kommandotolken.

$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

Använda Microsoft Azure Active Directory för Windows PowerShell

Börja med att ansluta till Microsoft 365 klientorganisation.

Kör sedan det här kommandot för att se dina aktuella prenumerationer:

Get-MsolAccountSku

Anteckning

PowerShell Core stöder inte Microsoft Azure Active Directory-modul för Windows PowerShell-modulen och-cmdlets med MSOL i namnet. Om du vill fortsätta använda dessa cmdlets måste du köra dem från Windows PowerShell.

I visningen av Get-MsolAccountSku kommandot:

  • AccountSkuId är en prenumeration för din organisation i <OrganizationName> : <Subscription> format. Det <OrganizationName> är det värde som du angav när du registrerade dig i Microsoft 365, och är unikt för din organisation. Värdet <Subscription> är för en viss prenumeration. För litwareinc:ENTERPRISEPACK är organisationsnamnet litwareinc och prenumerationsnamnet ENTERPRISEPACK (Office 365 Enterprise E3).

  • ActiveUnits är antalet licenser som du har köpt för prenumerationen.

  • WarningUnits är antalet licenser i en prenumeration som du inte har förnyat, och som upphör efter respitperioden på 30 dagar.

  • ConsumedUnits är antalet licenser som du har tilldelat användare för prenumerationen.

Observera AccountSkuId för din Microsoft 365-prenumeration som innehåller de användare du vill licensiera. Se också till att det finns tillräckligt med licenser att tilldela (subtrahera ConsumedUnits från ActiveUnits).

Kör sedan det här kommandot för att visa information om Microsoft 365 tjänstplaner som är tillgängliga i alla dina prenumerationer:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

På skärmen för det här kommandot kan du bestämma vilka tjänstplaner du vill inaktivera när du tilldelar licenser till användare.

Här är en delvis lista över tjänstplaner och deras motsvarande Microsoft 365 tjänster.

I följande tabell visas Microsoft 365 tjänstplaner och deras eget namn för de vanligaste tjänsterna. Listan med tjänstplaner kan se annorlunda ut.

Serviceplan Beskrivning
SWAY
Sway
TEAMS1
Microsoft Teams
YAMMER_ENTERPRISE
Yammer
RMS_S_ENTERPRISE
Azure Rights Management (RMS)
OFFICESUBSCRIPTION
Microsoft 365-appar för företag (kallades tidigare Office 365 ProPlus)
MCOSTANDARD
Skype för företag – Online
SHAREPOINTWAC
Office
SHAREPOINTENTERPRISE
SharePoint Online
EXCHANGE_S_ENTERPRISE
Exchange Online-abonnemang 2

En fullständig lista över licensplaner (kallas även produktnamn), deras inkluderade tjänstplaner och deras motsvarande eget namn finns i Produktnamn och tjänstplansidentifierare för licensiering.

Nu när du har AccountSkuId och tjänstplanerna som ska inaktiveras kan du tilldela licenser för en enskild användare eller för flera användare.

För en enskild användare

För en enskild användare fyller du i användarkontons huvudnamn, AccountSkuId och listan över tjänstplaner för att inaktivera och ta bort den förklarande texten och < and > tecknen. Kör sedan resulterande kommandon i PowerShell-kommandotolken.

$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

Här är ett exempel på ett kommandoblock för kontot belindan@contoso.com, för contoso:ENTERPRISEPACK-licensen och för tjänstplaner som inaktiveras är RMS_S_ENTERPRISE, SWAY, INTUNE_O365 och 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

För flera användare

Om du vill utföra den här administrationsuppgiften för flera användare skapar du en fil med kommaavgränsade värden (CSV) som innehåller fälten UserPrincipalName och UsageLocation. Här är ett exempel:

UserPrincipalName,UsageLocation
ClaudeL@contoso.onmicrosoft.com,FR
LynneB@contoso.onmicrosoft.com,US
ShawnM@contoso.onmicrosoft.com,US

Fyll sedan i platsen för CSV-indata- och utdatafilerna, kontots SKU-ID och listan över tjänstplaner som du vill inaktivera och kör sedan resulterande kommandon i PowerShell-kommandotolken.

$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
}

Det här PowerShell-kommandoblocket:

  • Visar användarens huvudnamn.

  • Tilldelar anpassade licenser till varje användare.

  • Skapar en CSV-fil med alla användare som har bearbetats och visar deras licensstatus.

Se även

Inaktivera åtkomst till Microsoft 365-tjänster med PowerShell

Inaktivera åtkomst till Sway med PowerShell

Hantera Microsoft 365-användarkonton,-licenser och-grupper med PowerShell

Hantera Microsoft 365 med PowerShell