Массовое добавление участников группы в идентификатор Microsoft Entra
Вы можете добавить нескольких членов в группу с помощью CSV-файла с разделиемыми запятыми для массового импорта членов группы на портале для идентификатора Microsoft Entra ID.
Общие сведения о шаблоне CSV
Скачайте и заполните шаблон CSV массовой отправки, чтобы успешно добавить участников группы Microsoft Entra в массовом режиме. Шаблон CSV будет похож на этот пример:
Структура шаблона CSV
Строки в скачанном шаблоне CSV:
- Номер версии: первая строка, содержащая номер версии, должна быть включена в csv-файл отправки.
- Заголовки столбцов: формат заголовков столбцов: <Имя элемента> [PropertyName] <Обязательное или пустое>. Например,
Member object ID or user principal name [memberObjectIdOrUpn] Required
. Некоторые старые версии шаблона могут иметь небольшие отличия. Для изменений членства в группах можно выбрать идентификатор объекта-члена или имя участника-пользователя. - Примеры строки: шаблон содержит строку примеров допустимых значений для каждого столбца. Строку примеров необходимо удалить, заменив реальными значениями.
Дополнительные рекомендации
- Первые две строки шаблона отправки не должны быть удалены или изменены или не могут быть обработаны.
- Обязательные столбцы перечислены первыми.
- Мы не рекомендуем добавлять в шаблон новые столбцы. Любые другие добавляемые столбцы игнорируются и не обрабатываются.
- Мы рекомендуем скачивать свежие версии шаблона CSV как можно чаще.
- Для успешной отправки файла добавьте идентификаторы объектов или имена участников-пользователей по крайней мере двух пользователей.
Групповой импорт участников группы
Совет
Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.
Войдите в Центр администрирования Microsoft Entra как минимум администратор групп.
Выберите Microsoft Entra ID.
Примечание.
Владельцы групп также могут выполнять массовый импорт участников групп, которыми они владеют.
Выберите Группы>Все группы.
Откройте группу, в которую следует добавить участников, а затем выберите Участники.
На странице "Участники" выберите массовые операции и выберите пункт "Импорт элементов".
На странице Групповой импорт участников группы выберите Загрузить, чтобы получить шаблон CSV-файла с требуемыми свойствами участника группы.
Откройте CSV-файл и добавьте строку для каждого члена группы, который вы хотите импортировать в группу. Обязательные значения — это идентификатор объекта-член или имя субъекта-пользователя. Затем сохраните файл.
На странице Групповой импорт участников группы найдите нужный файл в разделе Отправка CSV-файла. При выборе файла запускается проверка CSV-файла.
После проверки содержимого файла на странице массового импорта отобразится сообщение Файл отправлен. Если будут обнаружены ошибки, их нужно исправить для отправки задания.
Когда файл проходит проверку, нажмите кнопку "Отправить ", чтобы запустить массовую операцию, импортируемую участниками группы в группу.
После завершения операции импорта уведомление указывает, что массовая операция выполнена успешно.
При возникновении ошибок можно скачать и просмотреть файл результатов на странице результатов массовой операции. Файл содержит причину каждой ошибки. Отправка файла должна соответствовать предоставленному шаблону и содержать точные имена столбцов. Дополнительные сведения об ограничениях массовых операций см. в разделе "Ограничения службы массового импорта".
Проверка состояние импорта
Состояние всех ожидающих массовых запросов можно увидеть на странице результатов массовой операции.
Чтобы получить подробные сведения о каждом элементе групповой операции, выберите значения в столбцах # Success (Количество успешных), # Failure (Количество неудачных) или Всего запросов. Если произошли сбои, перечислены причины сбоя.
Ограничения службы массового импорта
Следует помнить, что каждое действие массовых операций может выполняться до одного часа.
Массовые операции на портале администрирования Microsoft Entra могут истекнуть и завершиться сбоем в очень крупных клиентах. Это ограничение является известной проблемой из-за ограничений масштабирования. Команда инженеров Майкрософт работает над новой службой, которая в конечном итоге будет решать это ограничение.
Примечание.
При выполнении массовых операций, таких как импорт или создание, может возникнуть проблема, если массовая операция не завершается в течение часа. Чтобы обойти эту проблему, рекомендуется разделить количество записей, обработанных на пакет. Например, перед началом экспорта можно ограничить результирующий набор, отфильтровав тип группы или имя пользователя, чтобы уменьшить размер результатов. Уточняя фильтры, вы, по сути, ограничиваете данные, возвращаемые массовой операцией.
Еще одним решением этой проблемы является использование PowerShell для прямых вызовов API Microsoft Graph. Для массового скачивания пользователей и групп рекомендуется использовать командлеты GET-MgGroup -All
PowerShell и GET-MgUser -All
.
Следующие примеры кода PowerShell предназначены для массовых операций, связанных с:
Пользователи
Массовое скачивание всех пользователей
# 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"
Массовое создание пользователей
# 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."
Примечание.
Убедитесь, что CSV-файл содержит необходимые столбцы (например, DisplayName
, UserPrincipalName
и т. д.). Кроме того, настройте скрипт в соответствии с фактическими именами столбцов в CSV-файле.
Массовое удаление пользователей
# 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."
Примечание.
Убедитесь, что CSV-файл содержит необходимые столбцы (например, UserPrincipalName
). Кроме того, настройте скрипт в соответствии с фактическими именами столбцов в CSV-файле.
Группы
Массовое скачивание всех групп
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"
Массовое скачивание членов группы
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"
Массовое добавление участников
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
Массовое удаление участников
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
.
Массовое скачивание всех устройств
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"
Следующие шаги
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по