Hromadné přidání členů skupiny v MICROSOFT Entra ID
Do skupiny můžete přidat více členů pomocí souboru hodnot oddělených čárkami (CSV) k hromadnému importu členů skupiny na 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:
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.
- Přidejte aspoň dvě hlavní názvy uživatelů nebo ID objektů pro úspěšné nahrání souboru.
Hromadné importová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.
Přihlaste se do Centra pro správu Microsoft Entra jako alespoň správce skupin.
Vyberte Microsoft Entra ID.
Poznámka:
Vlastníci skupin můžou také hromadně importovat členy skupin, které vlastní.
Vyberte Skupiny>Všechny skupiny.
Otevřete skupinu, do které přidáváte členy, a pak vyberte Členy.
Na stránce Členové vyberte hromadné operace a pak zvolte Importovat členy.
Na stránce Hromadný import členů skupiny vyberte Stáhnout a získejte šablonu souboru CSV s požadovanými vlastnostmi člena skupiny.
Otevřete soubor CSV a přidejte řádek pro každého člena skupiny, kterého chcete do skupiny importovat. Požadované hodnoty jsou BUĎ ID objektu člena, nebo hlavní název uživatele. Pak soubor uložte.
Na stránce Hromadný import členů skupiny přejděte v části Nahrát soubor CSV do souboru. Když vyberete soubor, spustí se ověření souboru CSV.
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.
Když soubor projde ověřením, vyberte Odeslat a spusťte hromadnou operaci, která importuje členy skupiny do skupiny.
Po dokončení importu 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 o omezeních hromadného provozu najdete v tématu Omezení služby hromadného importu.
Kontrola stavu importu
Stav všech nevyřízených hromadných požadavků můžete zobrazit 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 importu
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
, UserPrincipalName
atd.). 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"