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.
Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruikersbeheerder.
Selecteer Microsoft Entra ID.
Selecteer Gebruikers>Alle gebruikers>bulkbewerkingen bulksgewijs>verwijderen.
Selecteer Op de pagina Gebruiker bulksgewijs verwijderen de optie Downloaden om de nieuwste versie van de CSV-sjabloon te downloaden.
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.
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.
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.
Wanneer het bestand is gevalideerd, selecteert u Verzenden om de bulkbewerking te starten waarmee de gebruikers worden verwijderd.
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.
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.
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
- Meld u aan bij het Microsoft Entra-beheercentrum als ten minste een gebruikersbeheerder.
- Selecteer Microsoft Entra ID.
- 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
, UserPrincipalName
enzovoort). 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"