Événements
Conférence de la communauté Microsoft 365
6 mai, 14 h - 9 mai, 00 h
Compétence pour l’ère de l’IA à l’événement Microsoft 365 dirigé par la communauté ultime, le 6 au 8 mai à Las Vegas.
En savoir plusCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Cet article est valable pour Microsoft 365 Entreprise et Office 365 Entreprise.
Les utilisateurs ne peuvent utiliser aucun service Microsoft 365 tant que leur compte n’a pas reçu une licence d’un plan de licences. Vous pouvez utiliser PowerShell pour attribuer rapidement des licences à des comptes sans licence.
Un emplacement doit d’abord être attribué aux comptes d’utilisateur. La spécification d’un emplacement est une partie obligatoire de la création d’un compte d’utilisateur dans le Centre d'administration Microsoft 365.
Les comptes synchronisés à partir de votre Active Directory local Domain Services n’ont pas d’emplacement spécifié par défaut. Vous pouvez configurer un emplacement pour ces comptes à partir de :
Notes
Découvrez comment attribuer des licences à des comptes d’utilisateur avec le Centre d'administration Microsoft 365. Pour obtenir la liste des ressources supplémentaires, consultez Gérer les utilisateurs et les groupes.
Notes
Le script suivant utilise Microsoft Graph PowerShell. Pour plus d’informations, consultez Vue d’ensemble de Microsoft Graph PowerShell.
Pour plus d’informations sur l’utilisation de différentes méthodes pour l’authentification Connect-Graph
dans un script sans assistance, consultez l’article Applets de commande du module d’authentification dans Microsoft Graph PowerShell.
Tout d’abord, connectez-vous à votre locataire Microsoft 365.
L’attribution et la suppression de licences pour un utilisateur nécessitent l’étendue d’autorisation User.ReadWrite.All ou l’une des autres autorisations répertoriées dans la page de référence « Attribuer une licence » microsoft API Graph.
L’étendue d’autorisation Organization.Read.All est nécessaire pour lire les licences disponibles dans le locataire.
Connect-MgGraph -Scopes User.ReadWrite.All, Organization.Read.All
Exécutez la Get-MgSubscribedSku
commande pour afficher les plans de licence disponibles et le nombre de licences disponibles dans chaque plan de votre organization. Le nombre de licences disponibles dans chaque plan est ActiveUnits - WarningUnits - ConsumedUnits. Pour plus d’informations sur les plans de licence, les licences et les services, consultez Afficher les licences et les services avec PowerShell.
Pour rechercher les comptes sans licence dans votre organization, exécutez cette commande.
Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All
Pour rechercher les utilisateurs synchronisés sans licence dans votre organization, exécutez cette commande.
Get-MgUser -Filter 'assignedLicenses/$count eq 0 and OnPremisesSyncEnabled eq true' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All -Select UserPrincipalName
Vous pouvez uniquement attribuer des licences aux comptes d’utilisateur dont la propriété UsageLocation est définie sur un code de pays ISO 3166-1 alpha-2 valide. Par exemple, US pour les États-Unis et FR pour la France. Certains services Microsoft 365 ne sont pas disponibles dans certains pays/régions. Pour plus d’informations, consultez À propos des restrictions de licence.
Pour rechercher les comptes qui n’ont pas de valeur UsageLocation , exécutez cette commande.
Get-MgUser -Select Id,DisplayName,Mail,UserPrincipalName,UsageLocation,UserType | where { $_.UsageLocation -eq $null -and $_.UserType -eq 'Member' }
Pour définir la valeur UsageLocation sur un compte, exécutez cette commande.
$userUPN="<user sign-in name (UPN)>"
$userLoc="<ISO 3166-1 alpha-2 country code>"
Update-MgUser -UserId $userUPN -UsageLocation $userLoc
Par exemple :
Update-MgUser -UserId "belindan@litwareinc.com" -UsageLocation US
Si vous utilisez l’applet de commande Get-MgUser sans utiliser le paramètre -All , seuls les 100 premiers comptes sont retournés.
Pour attribuer une licence à un utilisateur, utilisez la commande suivante dans PowerShell.
Set-MgUserLicense -UserId $userUPN -AddLicenses @{SkuId = "<SkuId>"} -RemoveLicenses @()
Cet exemple affecte une licence du plan de licence SPE_E5 (Microsoft 365 E5) à l’utilisateur belindan@litwareinc.comsans licence :
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Set-MgUserLicense -UserId "belindan@litwareinc.com" -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
Cet exemple affecte SPE_E5 (Microsoft 365 E5) et EMSPREMIUM (ENTERPRISE MOBILITY + SECURITY E5) à l’utilisateur belindan@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 @()
Cet exemple affecte SPE_E5 (Microsoft 365 E5) avec les services MICROSOFTBOOKINGS (Microsoft Bookings) et LOCKBOX_ENTERPRISE (Customer Lockbox) désactivés :
$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 @()
Cet exemple met à jour un utilisateur avec SPE_E5 (Microsoft 365 E5) et désactive les plans de service Sway et Forms tout en laissant les plans désactivés existants de l’utilisateur dans leur état actuel :
$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 @()
Cet exemple met à jour un utilisateur avec SPE_E5 (Microsoft 365 E5) et désactive les plans de service Sway et Forms tout en laissant les plans désactivés existants de l’utilisateur dans tous les autres abonnements dans leur état actuel :
$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 @()
Cet exemple affecte jamesp@litwareinc.com avec le même plan de licence que celui appliqué à belindan@litwareinc.com:
$mgUser = Get-MgUser -UserId "belindan@litwareinc.com" -Property AssignedLicenses
Set-MgUserLicense -UserId "jamesp@litwareinc.com" -AddLicenses $mgUser.AssignedLicenses -RemoveLicenses @()
Cet exemple met à niveau un utilisateur du plan de licence SPE_E3 (Microsoft 365 E3) vers le plan de licence SPE_E5 (Microsoft 365 E5) :
$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 @()
Vous pouvez vérifier la modification de l’abonnement pour le compte d’utilisateur à l’aide de cette commande.
Get-MgUserLicenseDetail -UserId "belindan@litwareinc.com"
Gestion de Microsoft 365 à l’aide de PowerShell
Gestion de Microsoft 365 à l’aide de PowerShell
Mise en place du SDK Microsoft Graph PowerShell
Utiliser l’utilisateur Microsoft Graph : assignLicense et subscribedSku API
Événements
Conférence de la communauté Microsoft 365
6 mai, 14 h - 9 mai, 00 h
Compétence pour l’ère de l’IA à l’événement Microsoft 365 dirigé par la communauté ultime, le 6 au 8 mai à Las Vegas.
En savoir plusEntrainement
Module
Ce module explique comment autoriser l’accès aux services dans Microsoft 365, afin que vous puissiez créer des comptes d’utilisateur, puis attribuer des licences qui fournissent l’accès aux services.
Certification
Microsoft 365 Certified : Endpoint Administrator Associate - Certifications
Planifier et exécuter une stratégie de déploiement de points de terminaison, en utilisant les éléments essentiels de la gestion moderne, les approches de cogestion et l’intégration de Microsoft Intune.
Documentation
Explique comment utiliser PowerShell pour supprimer les licences Microsoft 365 précédemment attribuées aux utilisateurs.
Explique comment utiliser PowerShell pour déterminer les services Microsoft 365 qui ont été attribués aux utilisateurs.
Cet article explique comment utiliser PowerShell pour afficher les comptes d’utilisateur Microsoft 365 sous licence et sans licence.