Delen via


Gebruikers bulksgewijs verwijderen in Microsoft Entra-id

Met behulp van het beheercentrum in Microsoft Entra-id, onderdeel van Microsoft Entra, kunt u een groot aantal leden verwijderen uit een groep met door komma's gescheiden waarden (CSV) om gebruikers bulksgewijs te verwijderen.

Gebruikers bulksgewijs verwijderen

Tip

Stappen in dit artikel kunnen enigszins variëren op basis van de portal waaruit u begint.

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

  2. Selecteer Microsoft Entra ID.

  3. Selecteer Gebruikers>Alle gebruikers>bulkbewerkingen bulksgewijs>verwijderen.

    Schermopname van de pagina Gebruikers met de optie Bulksgewijs verwijderen geselecteerd.

  4. Selecteer Op de pagina Gebruiker bulksgewijs verwijderen de optie Downloaden om de nieuwste versie van de CSV-sjabloon te downloaden.

  5. Open het CSV-bestand en voeg een regel toe voor elke gebruiker die u wilt verwijderen. De enige vereiste waarde is user principal name. Sla het bestand op.

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

  7. Wanneer 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 gebruikers worden verwijderd.

  9. Wanneer de verwijdering is voltooid, ziet u een melding dat de bulksgewijze bewerking is voltooid.

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 bulksgewijs verwijderen voor meer informatie over beperkingen voor bulkbewerkingen.

CSV-sjabloonstructuur

De rijen in het voorbeeld hieronder gedownloade CSV-sjabloon zijn als volgt:

  • Versienummer: De eerste rij met het versienummer moet worden opgenomen in het CSV-uploadbestand.
  • Kolomkoppen: User name [userPrincipalName] Required. Oudere versies van de sjabloon kunnen variëren.
  • Voorbeeldenrij: We hebben een voorbeeld van een acceptabele waarde opgenomen in de sjabloon. Example: chris@contoso.com U moet de voorbeeldrij verwijderen en vervangen door uw eigen vermeldingen.

Schermopname van het CSV-bestand bevat namen en id's van de gebruikers die moeten worden verwijderd.

Aanvullende richtlijnen voor de CSV-sjabloon

  • De eerste twee rijen van de sjabloon mogen niet worden verwijderd of gewijzigd, of de sjabloon kan niet worden verwerkt.
  • De vereiste kolommen worden het eerst weergegeven.
  • Voeg geen nieuwe kolommen toe aan de sjabloon. Eventuele extra kolommen die u toevoegt, worden genegeerd en niet verwerkt.
  • Download de nieuwste versie van de CSV-sjabloon voordat u nieuwe wijzigingen aanbrengt.

Status controleren

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

Schermopname van het controleren van de verwijderstatus op de pagina Bulkbewerkingsresultaten..

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

Verwijderde gebruikers verifiëren

  1. Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruikersbeheerder.
  2. Selecteer Microsoft Entra ID.
  3. Selecteer Alleen alle gebruikers en controleer of de gebruikers die u hebt verwijderd, niet meer worden weergegeven.

Verwijderde gebruikers verifiëren met PowerShell

Voer de volgende opdracht uit:

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

Controleer of de gebruikers die u hebt verwijderd, niet meer worden weergegeven.

Servicelimieten bulksgewijs verwijderen

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