Megosztás a következőn keresztül:


Felhasználók tömeges törlése a Microsoft Entra-azonosítóban

A Microsoft Entra id felügyeleti központjának használatával, amely a Microsoft Entra része, nagy számú tagot távolíthat el egy csoportból egy vesszővel tagolt értékeket (CSV) tartalmazó fájl használatával a felhasználók tömeges törléséhez.

Felhasználók tömeges törlése

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhasználói rendszergazdaként.

  2. Válassza ki a Microsoft Entra ID.

  3. Válassza a Felhasználók>összes felhasználó>tömeges törlése elemet.>

    Képernyőkép a Felhasználók lapról, amelyen a Tömeges törlés lehetőség van kiválasztva.

  4. A Tömeges törlés felhasználói lapon válassza a Letöltés lehetőséget a CSV-sablon legújabb verziójának letöltéséhez.

  5. Nyissa meg a CSV-fájlt, és adjon hozzá egy sort minden törölni kívánt felhasználó számára. Az egyetlen kötelező érték a felhasználónév. Mentse a fájlt.

  6. A Tömeges törlés felhasználói lapon, a Csv-fájl feltöltése csoportban keresse meg a fájlt. Amikor kijelöli a fájlt, és a Küldés gombra kattint, elindul a CSV-fájl ellenőrzése.

  7. A fájl tartalmának ellenőrzésekor látni fogja a fájl sikeres feltöltését. Ha hibák jelentkeznek, javítania kell azokat ahhoz, hogy elküldhesse a feladatot.

  8. Amikor a fájl megfelel az ellenőrzésnek, válassza a Küldés lehetőséget a felhasználókat törlő tömeges művelet elindításához.

  9. Miután a törlési művelet befejeződött, megjelenik egy értesítés arról, hogy a tömeges művelet sikeres volt.

Ha hibákat tapasztal, letöltheti és megtekintheti az eredményfájlt a Tömeges művelet eredményei lapon. A fájl az egyes hibák okát is tartalmazza. A fájlbeküldésnek meg kell egyeznie a megadott sablonnal, és tartalmaznia kell a pontos oszlopneveket. A tömeges műveletek korlátozásával kapcsolatos további információkért lásd a tömeges törlési szolgáltatás korlátait.

CSV-sablonstruktúra

Az alábbi példa letöltött CSV-sablon sorai a következők:

  • Verziószám: A verziószámot tartalmazó első sort fel kell venni a feltöltési CSV-be.
  • Oszlopfejlécek: User name [userPrincipalName] Required. A sablon régebbi verziói eltérőek lehetnek.
  • Példák sor: A sablonban egy elfogadható értékre vonatkozó példát vettünk fel. Example: chris@contoso.com Távolítsa el a példasort, és cserélje le a saját bejegyzéseire.

A CSV-fájl képernyőképe a törölni kívánt felhasználók nevét és azonosítóit tartalmazza.

További útmutatás a CSV-sablonhoz

  • A sablon első két sora nem távolítható el vagy módosítható, vagy a sablon nem dolgozható fel.
  • Először a szükséges oszlopok jelennek meg.
  • Ne adjon hozzá új oszlopokat a sablonhoz. A hozzáadott további oszlopok figyelmen kívül lesznek hagyva, és nem lesznek feldolgozva.
  • Töltse le a CSV-sablon legújabb verzióját, mielőtt új módosításokat végez.

Állapot ellenőrzése

Az összes függőben lévő tömeges kérés állapotát a Tömeges művelet eredményei lapon tekintheti meg.

Képernyőkép a törlés állapotának ellenőrzéséről a Tömeges műveletek eredményei lapon.

Ezután ellenőrizheti, hogy a törölt felhasználók a Microsoft Entra szervezetében léteznek-e a portálon vagy a PowerShell használatával.

Törölt felhasználók ellenőrzése

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhasználói rendszergazdaként.
  2. Válassza ki a Microsoft Entra ID.
  3. Csak a Minden felhasználó lehetőséget választja, és ellenőrizze, hogy a törölt felhasználók már nem szerepelnek-e a listában.

Törölt felhasználók ellenőrzése a PowerShell-lel

Futtassa az alábbi parancsot:

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

Ellenőrizze, hogy a törölt felhasználók már nem szerepelnek-e a listában.

Szolgáltatáskorlátozások tömeges törlése

Tisztában kell lennie azzal, hogy az egyes tömeges műveletek akár egy óráig is futhatnak.

A Microsoft Entra felügyeleti portálon végzett tömeges műveletek időtúllépést okozhatnak, és nagyon nagy bérlők esetén meghiúsulhatnak. Ez a korlátozás a méretezési korlátozások miatt ismert probléma. A Microsoft mérnöki csapata egy új szolgáltatáson dolgozik, amely végül orvosolni fogja ezt a korlátozást.

Feljegyzés

Tömeges műveletek( például importálás vagy létrehozás) végrehajtásakor problémát tapasztalhat, ha a tömeges művelet nem fejeződik be egy órán belül. A probléma megoldásához javasoljuk, hogy ossza fel a kötegenként feldolgozott rekordok számát. Az exportálás megkezdése előtt például korlátozhatja az eredményhalmazt úgy, hogy egy csoporttípusra vagy felhasználónévre szűrve csökkenti az eredmények méretét. A szűrők finomításával lényegében korlátozza a tömeges művelet által visszaadott adatokat.

A probléma másik megkerülő megoldása, hogy a PowerShell használatával közvetlen Microsoft Graph API-hívásokat indít. A felhasználók és csoportok tömeges letöltésének sikertelensége esetén javasoljuk a PowerShell-parancsmagok GET-MgGroup -All és GET-MgUser -Alla .

Az alábbi PowerShell-kód példák a következő tömeges műveletekre használhatók:

Felhasználók

Az összes felhasználó tömeges letöltése

# 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" 

Felhasználók tömeges létrehozása

# 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." 

Feljegyzés

Győződjön meg arról, hogy a CSV-fájl tartalmazza a szükséges oszlopokat (például; DisplayName, UserPrincipalNamestb.). Módosítsa a szkriptet úgy is, hogy megfeleljen a CSV-fájl tényleges oszlopneveinek.

Felhasználók tömeges törlése

# 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." 

Feljegyzés

Győződjön meg arról, hogy a CSV-fájl tartalmazza a szükséges oszlopokat (például UserPrincipalName). Módosítsa a szkriptet úgy is, hogy megfeleljen a CSV-fájl tényleges oszlopneveinek.

Csoportok

Az összes csoport tömeges letöltése

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" 

Csoport tagjainak tömeges letöltése

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"  

Tagok hozzáadása tömegesen

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 

Tagok tömeges eltávolítása

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 

Eszközök

Az összes eszköz tömeges letöltése

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"  

Következő lépések