Attribuer des rôles d’administrateur à des comptes d’utilisateur Microsoft 365 avec PowerShell
Cet article est valable pour Microsoft 365 Entreprise et Office 365 Entreprise.
Vous pouvez facilement attribuer des rôles à des comptes d’utilisateur à l’aide de PowerShell pour Microsoft 365.
Remarque
Découvrez comment attribuer des rôles d’administrateur à 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.
Utilisation du module Azure Active Directory PowerShell pour Graph
Tout d’abord, utilisez un compte d’administrateur de contrôleur de domaine Azure AD, de Administration d’application cloud ou d’administrateur général pour vous connecter à votre locataire Microsoft 365.
Pour plus d’informations, consultez la rubrique À propos des rôles d’administrateur.
Ensuite, identifiez le nom de connexion du compte d’utilisateur que vous souhaitez ajouter à un rôle (exemple : fredsm@contoso.com). Il s’agit également du nom d’utilisateur principal (UPN).
Ensuite, déterminez le nom du rôle. Consultez Rôles intégrés Azure AD.
Remarque
Soyez attentif aux notes dans cet article. Certains noms de rôle sont différents pour Azure Active Directory (Azure AD) PowerShell. Par exemple, le rôle Administrateur SharePoint dans le Centre d'administration Microsoft 365 est Administrateur de service SharePoint dans Azure AD PowerShell.
Ensuite, renseignez les noms de connexion et de rôle, puis exécutez les commandes suivantes :
$userName="<sign-in name of the account>"
$roleName="<admin role name>"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID
Voici un exemple d’ensemble de commandes terminé qui attribue le rôle Administrateur de service SharePoint au belindan@contoso.com compte :
$userName="belindan@contoso.com"
$roleName="SharePoint Service Administrator"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID
Pour afficher la liste des noms d’utilisateur d’un rôle d’administrateur spécifique, utilisez ces commandes.
$roleName="<role name>"
Get-AzureADDirectoryRole | Where { $_.DisplayName -eq $roleName } | Get-AzureADDirectoryRoleMember | Ft DisplayName
Utilisez le module Microsoft Azure Active Directory pour Windows PowerShell.
Tout d’abord, utilisez un compte d’administrateur général pour vous connecter à votre locataire Microsoft 365.
Pour une seule modification de rôle
La façon la plus courante de spécifier le compte d’utilisateur consiste à utiliser son nom d’affichage ou son nom d’e-mail, également appelé nom de connexion ou nom d’utilisateur principal (UPN).
Noms d’affichage des comptes d’utilisateur
Si vous avez l’habitude d’utiliser les noms d’affichage des comptes d’utilisateur, déterminez les informations suivantes :
Le compte d’utilisateur que vous souhaitez configurer
Pour spécifier le compte d'utilisateur, vous devez déterminer son nom d'affichage. Pour obtenir la liste complète des comptes, utilisez cette commande :
Get-MsolUser -All | Sort DisplayName | Select DisplayName | More
Cette commande répertorie le nom d'affichage de vos comptes d'utilisateur, triés par nom d'affichage, un écran à la fois. Vous pouvez filtrer la liste pour réduire l'ensemble à l'aide de la cmdlet Where. Voir l’exemple ci-dessous.
Remarque
PowerShell Core ne prend pas en charge le module Microsoft Azure Active Directory pour le module Windows PowerShell et les cmdlets incluant Msol dans leur nom. Exécutez ces cmdlets à partir de Windows PowerShell.
Get-MsolUser -All | Where DisplayName -like "John*" | Sort DisplayName | Select DisplayName | More
Cette commande répertorie uniquement les comptes d’utilisateur dont le nom d’affichage commence par « John ».
Rôle que vous souhaitez attribuer
Pour afficher la liste des rôles d’administrateur disponibles que vous pouvez attribuer aux comptes d’utilisateur, utilisez la commande suivante :
Get-MsolRole | Sort Name | Select Name,Description
Une fois que vous avez déterminé le nom d’affichage du compte et le nom du rôle, utilisez ces commandes pour attribuer le rôle au compte :
$dispName="<The Display Name of the account>"
$roleName="<The admin role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName
Collez les commandes dans le Bloc-notes. Pour les variables $dispName et $roleName , remplacez le texte de description par leurs valeurs. Supprimez les < caractères et > , mais conservez les guillemets. Collez les lignes modifiées dans le module Microsoft Azure Active Directory pour Windows PowerShell fenêtre pour les exécuter. Vous pouvez également utiliser l'environnement d'écriture de scripts intégré de Windows PowerShell.
Voici un exemple d’ensemble de commandes terminé :
$dispName="Scott Wallace"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName
Noms de connexion des comptes d’utilisateur
Si vous avez l’habitude d’utiliser les noms de connexion ou les NOMS d’utilisateur des comptes d’utilisateur, déterminez les informations suivantes :
UPN du compte d’utilisateur
Si vous ne connaissez pas l’UPN, utilisez cette commande :
Get-MsolUser -All | Sort UserPrincipalName | Select UserPrincipalName | More
Cette commande répertorie l’UPN de vos comptes d’utilisateur, triés par UPN, un écran à la fois. Vous pouvez utiliser l’applet de commande Where pour filtrer la liste. Voici un exemple :
Get-MsolUser -All | Where DisplayName -like "John*" | Sort UserPrincipalName | Select UserPrincipalName | More
Cette commande répertorie uniquement les comptes d’utilisateur dont le nom d’affichage commence par « John ».
Rôle que vous souhaitez attribuer
Pour afficher la liste des rôles disponibles que vous pouvez attribuer aux comptes d’utilisateur, utilisez cette commande :
Get-MsolRole | Sort Name | Select Name,Description
Une fois que vous avez l’UPN du compte et le nom du rôle, utilisez les commandes suivantes pour attribuer le rôle au compte :
$upnName="<The UPN of the account>"
$roleName="<The role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName
Copiez les commandes et collez-les dans le bloc-notes. Pour les variables $upnName et $roleName . Remplacez le texte de description par leurs valeurs. Supprimez les < caractères et > , mais conservez les guillemets. Collez les lignes modifiées dans Microsoft Azure Active Directory Module pour que Windows PowerShell fenêtre les exécute. Vous pouvez également utiliser le Windows PowerShell ISE.
Voici un exemple d’ensemble de commandes terminé :
$upnName="scottw@contoso.com"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName
Modifications de rôle multiples
Pour plusieurs modifications de rôle, déterminez les informations suivantes :
Les comptes d’utilisateur que vous souhaitez configurer. Vous pouvez utiliser les méthodes de la section précédente pour collecter l’ensemble de noms d’affichage ou d’UPN.
Les rôles que vous souhaitez attribuer à chaque compte d’utilisateur. Pour afficher la liste des rôles disponibles que vous pouvez attribuer aux comptes d’utilisateur, utilisez cette commande :
Get-MsolRole | Sort Name | Select Name,Description
Ensuite, créez un fichier texte de valeur séparée par des virgules (CSV) qui contient le nom d’affichage ou les champs UPN et nom de rôle. Vous pouvez le faire facilement dans Microsoft Excel.
Voici un exemple pour les noms d’affichage :
DisplayName,RoleName
"Belinda Newman","Billing Administrator"
"Scott Wallace","SharePoint Service Administrator"
Ensuite, remplissez l’emplacement du fichier CSV et exécutez les commandes qui en résultent à l’invite de commande PowerShell.
$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach {Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser | Where DisplayName -eq $_.DisplayName).UserPrincipalName -RoleName $_.RoleName }
Voici un exemple pour les UPN :
UserPrincipalName,RoleName
"belindan@contoso.com","Billing Administrator"
"scottw@contoso.com","SharePoint Service Administrator"
Ensuite, remplissez l’emplacement du fichier CSV et exécutez les commandes qui en résultent à l’invite de commande PowerShell.
$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach { Add-MsolRoleMember -RoleMemberEmailAddress $_.UserPrincipalName -RoleName $_.RoleName }