Delen via


Gebruikers bulksgewijs maken in Microsoft Entra-id

Microsoft Entra ID, onderdeel van Microsoft Entra, ondersteunt bulkbewerkingen voor het maken en verwijderen van gebruikers en ondersteunt het downloaden van lijsten met gebruikers. Vul een csv-sjabloon (door komma's gescheiden waarden) in die u kunt downloaden van Microsoft Entra-id.

Vereiste machtigingen

Als u gebruikers bulksgewijs wilt maken in de beheerportal, moet u zijn aangemeld als ten minste een gebruikersbeheerder.

Inzicht in de CSV-sjabloon

Download en vul de CSV-sjabloon voor bulksgewijs uploaden in, zodat u Microsoft Entra-gebruikers bulksgewijs kunt maken. De CSV-sjabloon die u downloadt, kan eruitzien als in dit voorbeeld:

Schermopname van spreadsheets voor uploaden en bijschriften waarin het doel en de waarden voor elke rij en kolom worden uitgelegd.

Waarschuwing

Als u slechts één vermelding toevoegt met behulp van de CSV-sjabloon, moet u rij 3 behouden en uw nieuwe vermelding toevoegen aan rij 4.

Zorg ervoor dat u de .csv bestandsextensie toevoegt en voorloopspaties verwijdert userPrincipalName, passwordProfileen accountEnabled.

CSV-sjabloonstructuur

De rijen in een gedownloade CSV-sjabloon zijn als volgt:

  • Versienummer: De eerste rij met het versienummer moet worden opgenomen in het CSV-uploadbestand.
  • Kolomkoppen: De indeling van de kolomkoppen is< Itemnaam> [PropertyName]< Vereist of leeg.> Bijvoorbeeld: Name [displayName] Required. Sommige oudere versies van de sjabloon kunnen iets afwijken.
  • Voorbeeldenrij: We hebben in de sjabloon een rij met voorbeelden van acceptabele waarden voor elke kolom opgenomen. U moet de rij met voorbeelden verwijderen en vervangen door uw eigen invoerwaarden.

Aanvullende richtlijnen

  • De eerste twee rijen van de uploadsjabloon mogen niet worden verwijderd of gewijzigd, anders kan de upload niet worden verwerkt.
  • De vereiste kolommen worden het eerst weergegeven.
  • Het is niet raadzaam om nieuwe kolommen aan de sjabloon toe te voegen. Eventuele extra kolommen die u toevoegt, worden genegeerd en niet verwerkt.
  • U wordt aangeraden altijd de meest recente versie van de CSV-sjabloon te downloaden.
  • Controleer of er geen onbedoelde witruimte vóór/na een veld is. Voor User Principal Name zou een dergelijke witruimte leiden tot een importfout.
  • Zorg ervoor dat waarden in Oorspronkelijk wachtwoord voldoen aan het momenteel actieve wachtwoordbeleid.

Gebruikers bulksgewijs maken

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruikersbeheerder.

  2. Selecteer Microsoft Entra ID.

  3. Selecteer Alle gebruikers>>bulksgewijs maken.

  4. Selecteer op de pagina Gebruikers bulksgewijs maken de optie Downloaden om een geldig CSV-bestand (door komma's gescheiden waarden) met gebruikerseigenschappen te ontvangen en voeg vervolgens gebruikers toe die u wilt maken.

    Schermopname die laat zien hoe u een lokaal CSV-bestand selecteert waarin u de gebruikers weergeeft die u wilt toevoegen.

  5. Open het CSV-bestand en voeg een regel toe voor elke gebruiker die u wilt maken. De enige vereiste waarden zijn Naam, User Principal Name, Oorspronkelijk wachtwoord en Aanmelden blokkeren (Ja/Nee). Sla het bestand op.

    Schermopname van een voorbeeld van het CSV-bestand met de namen en id's van de gebruikers die moeten worden gemaakt.

  6. Blader op de pagina Gebruikers bulksgewijs maken onder 'CSV-bestand uploaden' naar het bestand. Wanneer u het bestand selecteert en op Verzenden klikt, wordt de validatie van het CSV-bestand gestart.

  7. Zodra de bestandsinhoud is gevalideerd, ziet u Het bestand is geüpload. Als er fouten zijn, moet u deze corrigeren voordat u de taak kunt verzenden.

  8. Wanneer het bestand is gevalideerd, selecteert u Verzenden om de bulkbewerking te starten waarmee de nieuwe gebruikers worden geïmporteerd.

  9. Wanneer de import is voltooid, ziet u een melding van de taakstatus van de bulkbewerking.

Als er fouten optreden, kunt u het resultatenbestand downloaden en weergeven op de pagina met resultaten van bulkbewerkingen. Het bestand bevat de reden voor elke fout. De bestandsverzending moet met de opgegeven sjabloon overeenkomen en de exacte kolomnamen bevatten. Zie Servicelimieten voor bulkimport voor meer informatie over beperkingen voor bulkbewerkingen.

Status controleren

U kunt de status van al uw bulkaanvragen in de wachtrij zien op de pagina Resultaten van bulkbewerkingen.

Schermopname die laat zien hoe u de status van de bewerking controleert op de pagina met resultaten van bulkbewerkingen.

Vervolgens kunt u controleren of de gebruikers die u hebt gemaakt, bestaan in de Microsoft Entra-organisatie in Azure Portal of met behulp van PowerShell.

Gebruikers verifiëren

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruikersbeheerder.
  2. Selecteer Microsoft Entra ID.
  3. Selecteer Alle gebruikers>.
  4. Onder Weergeven selecteert u Alle gebruikers en controleert u of de gebruikers die u hebt gemaakt, worden weergegeven.

Gebruikers verifiëren met PowerShell

Voer de volgende opdracht uit:

Get-MgUser -Filter "UserType eq 'Member'"

U moet kunnen zien dat de gebruikers die u hebt gemaakt, worden weergegeven.

Servicelimieten voor bulkimport

U moet er rekening mee houden dat elke bulkbewerkingsactiviteit maximaal één uur kan worden uitgevoerd.

Bulkbewerkingen in de Microsoft Entra-beheerportal kunnen een time-out hebben en mislukken op zeer grote tenants. Deze beperking is een bekend probleem vanwege schaalbeperkingen. Het technische team van Microsoft werkt aan een nieuwe service waarmee deze beperking uiteindelijk wordt opgelost.

Notitie

Bij het uitvoeren van bulkbewerkingen, zoals importeren of maken, kan er een probleem optreden als de bulkbewerking niet binnen het uur wordt voltooid. U kunt dit probleem omzeilen door het aantal records dat per batch is verwerkt, te splitsen. Voordat u bijvoorbeeld een export start, kunt u de resultatenset beperken door te filteren op een groepstype of gebruikersnaam om de grootte van de resultaten te verkleinen. Door uw filters te verfijnen, beperkt u in wezen de gegevens die worden geretourneerd door de bulkbewerking.

Een andere tijdelijke oplossing voor dit probleem is het gebruik van PowerShell om directe Microsoft Graph API-aanroepen te maken. Als u gebruikers en groepen bulksgewijs wilt downloaden, raden we u aan de PowerShell-cmdlets GET-MgGroup -All en GET-MgUser -All.

De volgende PowerShell-codevoorbeelden zijn bedoeld voor bulkbewerkingen met betrekking tot:

Gebruikers

Alle gebruikers bulksgewijs downloaden

# Import the Microsoft Graph module 
Import-Module Microsoft.Graph 

# Authenticate to Microsoft Graph (you may need to provide your credentials) 
Connect-MgGraph -Scopes "User.Read.All" 

# Get all users using Get-MgUser 
$users = Get-MgUser -All -ConsistencyLevel eventual -Property Id, DisplayName, UserPrincipalName,UserType,OnPremisesSyncEnabled,CompanyName,CreationType 

# Specify the output CSV file path 
$outputCsvPath = "C:\\Users\\YourUsername\\Documents\\Users.csv"  

# Create a custom object to store user data 
$userData = @() 

# Loop through each user and collect relevant data 
foreach ($user in $users) { 
    $userObject = [PSCustomObject]@{ 
        Id = $user.Id 
        DisplayName = $user.DisplayName 
        UserPrincipalName = $user.UserPrincipalName 
        UserType = $user.UserType 
        OnPremisesSyncEnabled = $user.OnPremisesSyncEnabled 
        CompanyName = $user.CompanyName 
        CreationType = $user.CreationType 
    } 
    $userData += $userObject 
} 

# Export user data to a CSV file 
$userData | Export-Csv -Path $outputCsvPath -NoTypeInformation 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

Write-Host "User data exported to $outputCsvPath" 

Gebruikers bulksgewijs maken

# Import the Microsoft Graph module 
Import-Module Microsoft.Graph 

# Authenticate to Microsoft Graph (you may need to provide your credentials) 
Connect-MgGraph -Scopes "User.ReadWrite.All" 

# Specify the path to the CSV file containing user data 
$csvFilePath = "C:\\Path\\To\\Your\\Users.csv" 

# Read the CSV file (adjust the column names as needed) 
$usersData = Import-Csv -Path $csvFilePath 

# Loop through each row in the CSV and create users \
foreach ($userRow in $usersData) { 
    $userParams = @{ 
        DisplayName = $userRow.'Name [displayName] Required' 
        UserPrincipalName = $userRow.'User name [userPrincipalName] Required' 
        PasswordProfile = @{ 
            Password = $userRow.'Initial password [passwordProfile] Required' 
        } 
        AccountEnabled = $true 
        MailNickName = $userRow.mailNickName 
    } 
    try { 
        New-MgUser @userParams 
        Write-Host "User $($userRow.UserPrincipalName) created successfully." 
    } catch { 
        Write-Host "Error creating user $($userRow.UserPrincipalName): $($_.Exception.Message)" 
    } 
} 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

Write-Host "Bulk user creation completed." 

Notitie

Zorg ervoor dat uw CSV-bestand de benodigde kolommen bevat (bijvoorbeeld DisplayName, UserPrincipalNameenzovoort). Pas het script ook aan zodat het overeenkomt met de werkelijke kolomnamen in uw CSV-bestand.

Gebruikers bulksgewijs verwijderen

# Import the Microsoft Graph module 
Import-Module Microsoft.Graph 

# Authenticate to Microsoft Graph (you may need to provide your credentials) 
Connect-MgGraph -Scopes "User.ReadWrite.All" 

# Specify the path to the CSV file containing user data 
$csvFilePath = "C:\\Path\\To\\Your\\Users.csv" 

# Read the CSV file (adjust the column names as needed) 
$usersData = Import-Csv -Path $csvFilePath 

# Loop through each row in the CSV and delete users 
foreach ($userRow in $usersData) { 
    try { 
        Remove-MgUser -UserId $userRow.UserPrincipalName -Confirm:$false 
        Write-Host "User $($userRow.UserPrincipalName) deleted successfully." 
    } catch { 
        Write-Host "Error deleting user $($userRow.UserPrincipalName): $($_.Exception.Message)" 
    } 
} 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

Write-Host "Bulk user deletion completed." 

Notitie

Zorg ervoor dat het CSV-bestand de benodigde kolommen bevat (bijvoorbeeld UserPrincipalName). Pas het script ook aan zodat het overeenkomt met de werkelijke kolomnamen in uw CSV-bestand.

Groepen

Alle groepen bulksgewijs downloaden

Import-Module Microsoft.Graph.Groups 

 # Authenticate to Microsoft Graph (you may need to provide your credentials) 
 Connect-MgGraph -Scopes "Group.Read.All" 

 # Get the group members 
 $groups = Get-MgGroup -All | Select displayName, Id, groupTypes,mail 

 # Create a custom object to store group data 
$groupData = @() 

# Loop through each group and collect relevant data 
foreach ($group in $groups) { 
    if ($group.groupTypes -contains "Unified"){$groupType = "Microsoft 365"} 
    else {$groupType = "Security"} 
    if ($group.groupTypes -contains "DynamicMembership"){$membershipType = "Dynamic"} 
    else {$membershipType = "Assigned"} 
    $groupObject = [PSCustomObject]@{ 
        Id = $group.Id 
        DisplayName = $group.displayName 
        Mail = $group.mail 
        GroupType = $groupType 
        MemebershipType = $membershipType 
    }   
    $groupData += $groupObject 
} 

 # Specify the output CSV file path 
 $outputCsvPath = "C:\\Users\\cewu\\Documents\\Groups.csv" 

 $groupData| Export-Csv -Path $outputCsvPath -NoTypeInformation 
 
 Write-Host "Group members exported to $outputCsvPath" 

Leden van een groep bulksgewijs downloaden

Import-Module Microsoft.Graph.Groups 

 # Authenticate to Microsoft Graph (you may need to provide your credentials) 
 Connect-MgGraph -Scopes "Group.Read.All,GroupMember.Read.All" 

 # Set the group ID of the group whose members you want to download 
 $groupId = "your_group_id" 

 # Get the group members 
 $members = Get-MgGroupMember -GroupId $groupId -All | select * -ExpandProperty additionalProperties | Select-Object @( 
                'id'     
                @{  Name       = 'userPrincipalName' 
                    Expression = { $_.AdditionalProperties["userPrincipalName"] } 
                } 
                @{  Name = 'displayName' 
                Expression = { $_.AdditionalProperties["displayName"] } 
                } 
            ) 

 # Specify the output CSV file path 
 $outputCsvPath = "C:\\Users\\YourUserName\\Documents\\GroupMembers.csv" 

 $members| Export-Csv -Path $outputCsvPath -NoTypeInformation 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

 Write-Host "Group members exported to $outputCsvPath"  

Leden bulksgewijs toevoegen

Import-Module Microsoft.Graph.Groups 

 # Authenticate to Microsoft Graph (you may need to provide your credentials) 
 Connect-MgGraph -Scopes "GroupMember.ReadWrite.All" 

# Import the CSV file 
$members = Import-Csv -Path "C:\path\to\your\file.csv" 

# Define the Group ID 
$groupId = "your-group-id" 

# Iterate over each member and add them to the group 
foreach ($member in $members) { 
    try{ 
        New-MgGroupMember -GroupId $groupId -DirectoryObjectId $member.memberObjectId 
  	 Write-Host "Added $($member.memberObjectId) to the group."  
    } 
    Catch{ 
        Write-Host "Error adding member $($member.memberObjectId):$($_.Exception.Message)" 
    } 
} 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

Leden bulksgewijs verwijderen

Import-Module Microsoft.Graph.Groups 

 # Authenticate to Microsoft Graph (you may need to provide your credentials) 
 Connect-MgGraph -Scopes "GroupMember.ReadWrite.All" 

# Import the CSV file 
$members = Import-Csv -Path "C:\path\to\your\file.csv" 

# Define the Group ID 
$groupId = "your-group-id" 

# Iterate over each member and add them to the group 
foreach ($member in $members) { 
    try{ 
        Remove-MgGroupMemberByRef -GroupId $groupId -DirectoryObjectId $member.memberObjectId \
        Write-Host "Removed $($member.memberObjectId) from the group." 
    } 
    Catch{ 
        Write-Host "Error removing member $($member.memberObjectId):$($_.Exception.Message)" 
    } 
} 

# Disconnect from Microsoft Graph 
Disconnect-MgGraph 

Apparaten

Alle apparaten bulksgewijs downloaden

Import-Module Microsoft.Graph 

 # Authenticate to Microsoft Graph (you may need to provide your credentials) 
 Connect-MgGraph -Scopes "Device.Read.All" 

 # Get all devices  
 $devices = Get-MgDevice -All |select displayName,deviceId,operatingSystem,operatingSystemVersion,isManaged,isCompliant,mdmAppId,registeredOwners,TrustType 

 # Specify the output CSV file path 
 $outputCsvPath = "C:\\Users\\YourUserName\\Documents\\Devices.csv" 

 $devices| Export-Csv -Path $outputCsvPath -NoTypeInformation 

 Write-Host "Devices exported to $outputCsvPath"  

Volgende stappen