Microsoft 365-licencek hozzárendelése felhasználói fiókokhoz a PowerShell-lel
Ez a cikk Microsoft 365 Nagyvállalati verzió és Office 365 Nagyvállalati verzió egyaránt vonatkozik.
A felhasználók csak akkor használhatnak Microsoft 365-szolgáltatásokat, ha a fiókjukhoz licenccsomagból rendeltek licencet. A PowerShell használatával gyorsan hozzárendelhet licenceket nem licencelt fiókokhoz.
A felhasználói fiókokat először helyhez kell rendelni. A hely megadása kötelező része egy új felhasználói fiók létrehozásának a Microsoft 365 Felügyeleti központ.
A helyi Active Directory Tartományi szolgáltatások szinkronizált fiókokhoz alapértelmezés szerint nincs megadva hely. A fiókok helyét a következő helyeken konfigurálhatja:
- A Microsoft 365 Felügyeleti központ
- PowerShell-
- A Azure Portal (ActiveDirectory-felhasználók> felhasználói fiók >profiljának>kapcsolattartási>adatai>Ország vagy régió).
Megjegyzés:
Megtudhatja, hogyan rendelhet licenceket felhasználói fiókokhoz 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.
Microsoft 365-licencek hozzárendelése felhasználói fiókokhoz a Microsoft Graph PowerShell SDK-val
Megjegyzés:
A következő szkript a Microsoft Graph PowerShellt használja. További információ: A Microsoft Graph PowerShell áttekintése.
A különböző módszerek felügyelet nélküli szkriptekben történő hitelesítésével Connect-Graph
kapcsolatos információkért tekintse meg a Hitelesítési modul parancsmagjai a Microsoft Graph PowerShellben című cikket.
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 Microsoft Graph API hivatkozási lapján 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-MgGraph -Scopes User.ReadWrite.All, Organization.Read.All
Futtassa az Get-MgSubscribedSku
parancsot az elérhető licenccsomagok és a szervezeten belüli egyes csomagokban elérhető licencek számának megtekintéséhez. Az egyes csomagokban elérhető licencek száma ActiveUnits - WarningUnits - ConsumedUnits. A licenccsomagokkal, licencekkel és szolgáltatásokkal kapcsolatos további információkért lásd: Licencek és szolgáltatások megtekintése a PowerShell-lel.
A szervezet nem licencelt fiókjainak megkereséséhez futtassa ezt a parancsot.
Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
A szervezet nem licencelt szinkronizált felhasználóinak megkereséséhez futtassa ezt a parancsot.
Get-MgUser -Filter 'assignedLicenses/$count eq 0 and OnPremisesSyncEnabled eq true' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All -Select UserPrincipalName
Csak olyan felhasználói fiókokhoz rendelhet licenceket, amelyek UsageLocation tulajdonsága érvényes ISO 3166-1 alpha-2 országkódra van beállítva. Például az EGYESÜLT ÁLLAMOK a Egyesült Államok, az FR franciaországi. Egyes Microsoft 365-szolgáltatások bizonyos országokban/régiókban nem érhetők el. További információ: Tudnivalók a licenckorlátozásokról.
A UsageLocation értékkel nem rendelkező fiókok megkereséséhez futtassa ezt a parancsot.
Get-MgUser -Select Id,DisplayName,Mail,UserPrincipalName,UsageLocation,UserType | where { $_.UsageLocation -eq $null -and $_.UserType -eq 'Member' }
A UsageLocation érték fiókon való beállításához futtassa ezt a parancsot.
$userUPN="<user sign-in name (UPN)>"
$userLoc="<ISO 3166-1 alpha-2 country code>"
Update-MgUser -UserId $userUPN -UsageLocation $userLoc
Például:
Update-MgUser -UserId "belindan@litwareinc.com" -UsageLocation US
Ha a Get-MgUser parancsmagot az -All paraméter használata nélkül használja, a rendszer csak az első 100 fiókot adja vissza.
Licencek hozzárendelése felhasználói fiókokhoz
Ha licencet szeretne hozzárendelni egy felhasználóhoz, használja a következő parancsot a PowerShellben.
Set-MgUserLicense -UserId $userUPN -AddLicenses @{SkuId = "<SkuId>"} -RemoveLicenses @()
Ez a példa hozzárendel egy licencet a SPE_E5 (Microsoft 365 E5) licenccsomagból a nem licencelt felhasználóhozbelindan@litwareinc.com:
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Set-MgUserLicense -UserId "belindan@litwareinc.com" -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
Ez a példa SPE_E5 (Microsoft 365 E5) és EMSPREMIUM (ENTERPRISE MOBILITY + SECURITY E5) hozzárendelése a felhasználóhozbelindan@litwareinc.com:
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$e5EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'
$addLicenses = @(
@{SkuId = $e5Sku.SkuId},
@{SkuId = $e5EmsSku.SkuId}
)
Set-MgUserLicense -UserId "belinda@litwareinc.com" -AddLicenses $addLicenses -RemoveLicenses @()
Ez a példa SPE_E5 (Microsoft 365 E5) rendel hozzá a MICROSOFTBOOKINGS (Microsoft Bookings) és LOCKBOX_ENTERPRISE (Ügyfélszéf) szolgáltatások kikapcsolásával:
$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 @()
Ez a példa frissíti a felhasználót a SPE_E5 (Microsoft 365 E5), és kikapcsolja a Sway és forms szolgáltatáscsomagokat, miközben a felhasználó meglévő letiltott csomagjait a jelenlegi állapotában hagyja:
$userLicense = Get-MgUserLicenseDetail -UserId "belinda@litwareinc.com"
$userDisabledPlans = $userLicense.ServicePlans | `
Where ProvisioningStatus -eq "Disabled" | `
Select -ExpandProperty ServicePlanId
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$newDisabledPlans = $e5Sku.ServicePlans | `
Where ServicePlanName -in ("SWAY", "FORMS_PLAN_E5") | `
Select -ExpandProperty ServicePlanId
$disabledPlans = ($userDisabledPlans + $newDisabledPlans) | Select -Unique
$addLicenses = @(
@{
SkuId = $e5Sku.SkuId
DisabledPlans = $disabledPlans
}
)
Set-MgUserLicense -UserId "belinda@litwareinc.com" -AddLicenses $addLicenses -RemoveLicenses @()
Ez a példa frissíti a felhasználót a SPE_E5 (Microsoft 365 E5), és kikapcsolja a Sway és az Forms szolgáltatáscsomagokat, miközben a felhasználó meglévő letiltott csomagjait az összes többi előfizetésben a jelenlegi állapotában hagyja:
$userLicense = Get-MgUserLicenseDetail -UserId belinda@litwareinc.com
$userDisabledPlans = $userLicense.ServicePlans | Where-Object ProvisioningStatus -eq "Disabled" | Select -ExpandProperty ServicePlanId
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$newDisabledPlans = $e5Sku.ServicePlans | Where ServicePlanName -in ("SWAY", "FORMS_PLAN_E5") | Select -ExpandProperty ServicePlanId
$disabledPlans = ($userDisabledPlans + $newDisabledPlans) | Select -Unique
$result=@()
$allPlans = $e5Sku.ServicePlans | Select -ExpandProperty ServicePlanId
foreach($disabledPlan in $disabledPlans)
{
foreach($allPlan in $allPlans)
{
if($disabledPlan -eq $allPlan)
{
$property = @{
Disabled = $disabledPlan
}
}
}
$result += New-Object psobject -Property $property
}
$finalDisabled = $result | Select-Object -ExpandProperty Disabled
$addLicenses = @(
@{
SkuId = $e5Sku.SkuId
DisabledPlans = $finalDisabled
}
)
Set-MgUserLicense -UserId belinda@litwareinc.com -AddLicenses $addLicenses -RemoveLicenses @()
Licencek hozzárendelése egy felhasználóhoz a licenc-hozzárendelés másik felhasználóról történő másolásával
Ez a példa ugyanazt a licenccsomagot rendeli jamesp@litwareinc.com hozzá, mint amelyet a következőre alkalmaztak belindan@litwareinc.com:
$mgUser = Get-MgUser -UserId "belindan@litwareinc.com" -Property AssignedLicenses
Set-MgUserLicense -UserId "jamesp@litwareinc.com" -AddLicenses $mgUser.AssignedLicenses -RemoveLicenses @()
Felhasználó áthelyezése másik előfizetésbe (licenccsomag)
Ez a példa frissíti a felhasználót a SPE_E3 (Microsoft 365 E3) licenccsomagról a SPE_E5 (Microsoft 365 E5) licenccsomagra:
$e3Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E3'
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
# Unassign E3
Set-MgUserLicense -UserId "belindan@litwareinc.com" -AddLicenses @{} -RemoveLicenses @($e3Sku.SkuId)
# Assign E5
Set-MgUserLicense -UserId "belindan@litwareinc.com" -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
Ezzel a paranccsal ellenőrizheti a felhasználói fiók előfizetésében történt változást.
Get-MgUserLicenseDetail -UserId "belindan@litwareinc.com"
Lásd még
A Microsoft 365 kezelése PowerShell használatával
A Microsoft 365 kezelése PowerShell használatával
A Microsoft Graph PowerShell SDK használatának első lépései
A Microsoft Graph-felhasználó használata: assignLicense és subscribedSku API-k