Créer des comptes d’utilisateur Microsoft 365 avec PowerShell

Cet article est valable pour Microsoft 365 Entreprise et Office 365 Entreprise.

Vous pouvez utiliser Microsoft Graph PowerShell pour créer efficacement des comptes d’utilisateur, y compris plusieurs comptes.

Lorsque vous créez des comptes d’utilisateur dans PowerShell, certaines propriétés de compte sont toujours requises. Les autres propriétés ne sont pas obligatoires, mais sont importantes. Reportez-vous au tableau suivant.

Nom de la propriété Requis ? Description
DisplayName
Oui
Il s’agit du nom d’affichage utilisé dans les services Microsoft 365. Par exemple, Caleb Sills.
UserPrincipalName
Oui
Il s’agit du nom du compte utilisé pour se connecter aux services Microsoft 365. Par exemple : CalebS@contoso.onmicrosoft.com.
FirstName
Non
NomFamille
Non
LicenseAssignment
Non
Il s’agit du plan de licence (également appelé plan de licence ou référence SKU) à partir duquel une licence disponible est attribuée au compte d’utilisateur. La licence définit les services Microsoft 365 disponibles pour le compte. Vous n’avez pas besoin d’attribuer une licence à un utilisateur lorsque vous créez le compte, mais celui-ci doit disposer d’une licence pour accéder aux services Microsoft 365. Vous disposez de 30 jours pour attribuer une licence à un compte d'utilisateur après sa création.
Password
Non
Si vous n'indiquez pas de mot de passe, un mot de passe aléatoire est affecté au compte d'utilisateur et le mot de passe est visible dans les résultats de la commande. Si vous spécifiez un mot de passe, il doit comporter entre 8 et 16 caractères texte ASCII des types suivants : lettres minuscules, lettres majuscules, chiffres et symboles.
UsageLocation
Non
Il s’agit d’un code pays ISO 3166-1 alpha-2 valide. Par exemple, les États-Unis pour l’États-Unis et la FRANCE pour la France. Il est important de fournir cette valeur, car certains services Microsoft 365 ne sont pas disponibles dans certains pays/régions. Vous ne pouvez pas attribuer une licence à un compte d’utilisateur, sauf si cette valeur est configurée pour le compte. Pour plus d’informations, consultez À propos des restrictions de licence.

Remarque

Consultez également Découvrez comment créer des comptes d’utilisateur à l’aide de la Centre d'administration Microsoft 365.

Pour obtenir la liste des ressources supplémentaires, consultez Gérer les utilisateurs et les groupes.

Créer des comptes d’utilisateur Microsoft 365 avec Microsoft Graph PowerShell

Remarque

Le module Azure Active Directory est remplacé par le Kit de développement logiciel (SDK) Microsoft Graph PowerShell. Vous pouvez utiliser le kit de développement logiciel (SDK) PowerShell Microsoft Graph pour accéder à toutes les API Microsoft Graph. Pour plus d’informations, consultez Démarrage avec le kit de développement logiciel (SDK) PowerShell Microsoft Graph.

Tout d’abord, utilisez un compte d’administrateur de contrôleur de domaine Microsoft Entra, de Administration d’application cloud ou d’administrateur général pour vous connecter à votre locataire Microsoft 365. Les applets de commande de cet article 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 « List subscribedSkus » API Graph. Certaines commandes de cet article peuvent nécessiter des étendues d’autorisation différentes, auquel cas cela sera indiqué dans la section appropriée.

Connect-MgGraph -Scopes "User.ReadWrite.All"

Créez un compte d’utilisateur individuel

Pour créer un compte individuel, utilisez la syntaxe suivante :

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "<user account password>"
New-MgUser -DisplayName "<display name>" -GivenName "<first name>" -Surname "<last name>" -UserPrincipalName <sign-in name> -UsageLocation <ISO 3166-1 alpha-2 country code> -MailNickname <mailbox name> -PasswordProfile $PasswordProfile -AccountEnabled $true

Cet exemple crée un compte pour l’utilisateur américain John Doe.

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "3Rv0y1q39/chsy"
New-MgUser -DisplayName "John Doe" -GivenName "John" -Surname "Doe" -UserPrincipalName johnd@contoso.onmicrosoft.com -UsageLocation "US" -MailNickname "johnd" -PasswordProfile $PasswordProfile -AccountEnabled $true

Créez plusieurs comptes d’utilisateurs

  1. Créez un fichier CSV (valeurs séparées par des virgules) qui contient les informations de compte d'utilisateur requises. Par exemple :

    UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation,MailNickname
    ClaudeL@contoso.onmicrosoft.com,Claude,Loiselle,Claude Loiselle,US,claudel
    LynneB@contoso.onmicrosoft.com,Lynne,Baxter,Lynne Baxter,US,lynneb
    ShawnM@contoso.onmicrosoft.com,Shawn,Melendez,Shawn Melendez,US,shawnm
    

    Remarque

    Les noms des colonnes et leur ordre dans la première ligne du fichier CSV sont arbitraires. Mais assurez-vous que l’ordre des données dans le reste du fichier correspond à l’ordre des noms de colonnes. Et utilisez les noms de colonne pour les valeurs de paramètre dans la commande PowerShell pour Microsoft 365.

  2. Cet exemple crée des comptes d’utilisateur à partir du fichierC:\temp\NewAccounts.csv et enregistre les résultats dans un fichier nommé C:\temp\NewAccountResults.csv.

    # Import the CSV file
    $users = Import-Csv -Path "C:\temp\NewAccounts.csv"
    
    # Create a password profile
    $PasswordProfile = @{
        Password = 'Password123'
        }
    
    # Loop through each user in the CSV file
    foreach ($user in $users) {
        # Create a new user
        $newUser = New-MgUser -DisplayName $user.DisplayName -GivenName $user.FirstName -Surname $user.LastName -UserPrincipalName $user.UserPrincipalName -UsageLocation $user.UsageLocation -MailNickname $user.MailNickname -PasswordProfile $passwordProfile -AccountEnabled
    
        # Assign a license to the new user
        $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
        Set-MgUserLicense -UserId $newUser.Id -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
    }
    
    # Export the results to a CSV file
    $users | Export-Csv -Path "C:\temp\NewAccountResults.csv" -NoTypeInformation
    
  3. Passez en revue le fichier de sortie pour afficher les résultats.

Voir aussi

Gérer les comptes d’utilisateurs, les licences et les groupes Microsoft 365 avec PowerShell

Gestion de Microsoft 365 à l’aide de PowerShell

Prise en main de PowerShell pour Microsoft 365