Microsoft 365-licencek eltávolítása felhasználói fiókokból a PowerShell használatával

Ez a cikk Microsoft 365 Nagyvállalati verzió és Office 365 Nagyvállalati verzió egyaránt vonatkozik.

Megjegyzés:

Megtudhatja, hogyan távolíthat el licenceket a felhasználói fiókokból a Microsoft 365 Felügyeleti központ. További erőforrások listáját a Felhasználók és csoportok kezelése című témakörben találja.

A Microsoft Graph PowerShell SDK használata

Először csatlakozzon a Microsoft 365-bérlőhöz.

A felhasználók licenceinek hozzárendeléséhez és eltávolításához a User.ReadWrite.All engedélyhatókörre vagy a "Licenc hozzárendelése" Graph API hivatkozási lapon felsorolt egyéb engedélyek egyikére van szükség.

A bérlőben elérhető licencek olvasásához az Organization.Read.All engedélyhatókör szükséges.

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

A szervezet licenccsomag-információinak megtekintéséhez tekintse meg a következő cikkeket:

Licencek eltávolítása felhasználói fiókokból

Ha licenceket szeretne eltávolítani egy meglévő felhasználói fiókból, használja az alábbi szintaxist:

Set-MgUserLicense -UserId "<Account>" -RemoveLicenses @("<AccountSkuId1>") -AddLicenses @{}

Ez a példa eltávolítja a SPE_E5 (Microsoft 365 E5) licenccsomagot a felhasználótólBelindaN@litwareinc.com:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Set-MgUserLicense -UserId "belindan@litwareinc.com" -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}

Ha az összes licencet el szeretné távolítani egy meglévő licenccel rendelkező felhasználócsoportból, használja az alábbi szintaxist:

$licensedUsers = Get-MgUser -Filter 'assignedLicenses/$count ne 0' `
    -ConsistencyLevel eventual -CountVariable licensedUserCount -All `
    -Select UserPrincipalName,DisplayName,AssignedLicenses

foreach($user in $licensedUsers)
{
    $licensesToRemove = $user.AssignedLicenses | Select -ExpandProperty SkuId
    $user = Set-MgUserLicense -UserId $user.UserPrincipalName -RemoveLicenses $licensesToRemove -AddLicenses @{} 
}

Ha el szeretne távolítani egy adott licencet egy szövegfájlban lévő felhasználók listájából, hajtsa végre az alábbi lépéseket. Ez a példa eltávolítja a SPE_E5 (Microsoft 365 Nagyvállalati verzió E5) licencet a C:\My Documents\Accounts.txt szövegfájlban meghatározott felhasználói fiókokból.

  1. Hozzon létre és mentsen egy szövegfájlt a C:\My Documents\Accounts.txt, amely minden sorban egy-egy fiókot tartalmaz az alábbi módon:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Használja a következő parancsot:

    $x=Get-Content "C:\My Documents\Accounts.txt"
    $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
    for ($i=0; $i -lt $x.Count; $i++)
    {
    Set-MgUserLicense -UserId $x[$i] -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}
    }
    

A licenc felszabadításának másik módja a felhasználói fiók törlése. További információ: Felhasználói fiókok törlése és visszaállítása a PowerShell-lel.

Lásd még

Microsoft 365 felhasználói fiókok, licencek és csoportok kezelése a PowerShell-lel

A Microsoft 365 kezelése PowerShell használatával

A Microsoft 365-höz készült PowerShell használatának első lépései