Sdílet prostřednictvím


Hromadné odebrání členů skupiny v MICROSOFT Entra ID

Velký počet členů ze skupiny můžete odebrat pomocí souboru hodnot oddělených čárkami (CSV) a hromadně odebrat členy skupiny pomocí portálu pro ID Microsoft Entra.

Vysvětlení šablony CSV

Stáhněte a vyplňte šablonu CSV hromadného nahrání, aby bylo možné úspěšně přidat členy skupiny Microsoft Entra hromadně. Vaše šablona CSV může vypadat jako v tomto příkladu:

Snímek obrazovky znázorňující tabulku pro nahrání a popisky vysvětlující účel a hodnoty pro každý řádek a sloupec

Struktura šablon CSV

Řádky ve stažené šabloně CSV jsou:

  • Číslo verze: První řádek, který obsahuje číslo verze, musí být součástí souboru CSV pro nahrání.
  • Záhlaví sloupců: Formát záhlaví sloupců je< Název> položky [PropertyName]< Povinný nebo prázdný.> Příklad: Member object ID or user principal name [memberObjectIdOrUpn] Required. Některé starší verze šablony můžou mít mírné varianty. U změn členství ve skupině můžete zvolit ID objektu člena nebo hlavní název uživatele.
  • Řádek s příklady: Šablona obsahuje řádek příkladů přijatelných hodnot pro každý sloupec. Řádek příkladů musíte odebrat a nahradit ho vlastními položkami.

Další pokyny

  • První dva řádky šablony pro nahrání nesmí být odebrány ani upraveny nebo nelze nahrávání zpracovat.
  • Požadované sloupce jsou uvedené jako první.
  • Do šablony nedoporučujeme přidávat nové sloupce. Všechny ostatní sloupce, které přidáte, se ignorují a nezpracují.
  • Doporučujeme, abyste si co nejčastěji stáhli nejnovější verzi šablony CSV.

Hromadné odebrání členů skupiny

Tip

Postup v tomto článku se může mírně lišit v závislosti na portálu, od který začínáte.

  1. Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce skupin.

  2. Vyberte Microsoft Entra ID.

  3. Vyberte Skupiny>Všechny skupiny.

  4. Otevřete skupinu, ze které odebíráte členy, a pak vyberte Členy.

  5. Na stránce Členové vyberte Odebrat členy.

  6. Na stránce Hromadné odebrání členů skupiny vyberte Stáhnout a získejte šablonu souboru CSV s požadovanými vlastnostmi člena skupiny.

    Snímek obrazovky znázorňující příkaz Odebrat členy je na stránce profilu skupiny.

  7. Otevřete soubor CSV a přidejte řádek pro každého člena skupiny, kterého chcete ze skupiny odebrat. Požadované hodnoty jsou ID objektu člena nebo hlavní název uživatele. Pak soubor uložte.

    Snímek obrazovky znázorňující soubor CSV obsahuje názvy a ID členů skupiny, které chcete odebrat

  8. Na stránce Hromadné odebrání členů skupiny v části Nahrání souboru CSV přejděte k souboru. Když vyberete soubor, spustí se ověření souboru CSV.

  9. Po ověření obsahu souboru se na stránce hromadného importu zobrazí úspěšně nahraný soubor. Pokud dojde k chybám, musíte je před odesláním úlohy vyřešit.

  10. Když soubor projde ověřením, vyberte Odeslat a spusťte hromadnou operaci, která odebere členy skupiny ze skupiny.

  11. Po dokončení operace odebrání se zobrazí oznámení, že hromadná operace proběhla úspěšně.

Pokud dojde k chybám, můžete si stáhnout a zobrazit soubor výsledků na stránce s výsledky hromadné operace. Soubor obsahuje důvody jednotlivých chyb. Odeslání souboru se musí shodovat se zadanou šablonou a obsahovat přesné názvy sloupců. Další informace oomezeních

Kontrola stavu odebrání

Stav všech nevyřízených hromadných požadavků můžete zobrazit na stránce s výsledky hromadné operace.

Snímek obrazovky znázorňující možnost Zkontrolovat stav na stránce s výsledky hromadné operace

Podrobnosti o každé položce řádku v rámci hromadné operace získáte tak, že vyberete hodnoty ve sloupcích #Success, # Failure nebo Total Requests (Celkový počet žádostí ). Pokud dojde k selhání, zobrazí se seznam důvodů selhání.

Omezení služby hromadného odebrání

Měli byste vědět, že každá hromadná aktivita operací může běžet až jednu hodinu.

Hromadné operace na portálu pro správu Microsoft Entra můžou na velmi velkých tenantech časového limitu vypršovat a selhat. Toto omezení je známý problém kvůli omezením škálování. Technický tým Microsoftu pracuje na nové službě, která toto omezení nakonec vyřeší.

Poznámka:

Při provádění hromadných operací, jako je import nebo vytvoření, může dojít k problému, pokud se hromadná operace nedokončí během hodiny. Pokud chcete tento problém vyřešit, doporučujeme rozdělit počet zpracovaných záznamů na dávku. Před zahájením exportu můžete například omezit sadu výsledků filtrováním podle typu skupiny nebo uživatelského jména, abyste snížili velikost výsledků. Upřesněním filtrů v podstatě omezujete data vrácená hromadnou operací.

Dalším alternativním řešením tohoto problému je použití PowerShellu k provádění přímých volání rozhraní Microsoft Graph API. Pokud chcete hromadně stahovat uživatele a skupiny, doporučujeme použít rutiny PowerShellu GET-MgGroup -All a GET-MgUser -All.

Následující příklady kódu PowerShellu jsou určené pro hromadné operace související s:

Uživatelé

Hromadné stahování všech uživatelů

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

Hromadné vytváření uživatelů

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

Poznámka:

Ujistěte se, že soubor CSV obsahuje potřebné sloupce (například DisplayName, UserPrincipalNameatd.). Upravte také skript tak, aby odpovídal skutečným názvům sloupců v souboru CSV.

Hromadné odstraňování uživatelů

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

Poznámka:

Ujistěte se, UserPrincipalNameže soubor CSV obsahuje potřebné sloupce (například). Upravte také skript tak, aby odpovídal skutečným názvům sloupců v souboru CSV.

Skupiny

Hromadné stahování všech skupin

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" 

Hromadné stahování členů skupiny

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"  

Hromadné přidávání členů

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 

Hromadné odebrání členů

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 

Zařízení

Hromadné stahování všech zařízení

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"  

Další kroky