Criar usuários em massa no Microsoft Entra ID
O Microsoft Entra ID, parte do Microsoft Entra, oferece suporte a operações de criação e exclusão de usuários em massa e oferece suporte ao download de listas de usuários. Basta preencher o modelo de valores separados por vírgulas (CSV) que você pode baixar do Microsoft Entra ID.
Permissões necessárias
Para criar usuários em massa no portal de administração, você precisa estar conectado como, no mínimo, administrador de usuários.
Entender o modelo CSV
Baixe e preencha o modelo CSV de upload em massa para ajudar você a criar usuários do Microsoft Entra em massa com êxito. O modelo CSV que você baixa pode ser semelhante a este exemplo:
Aviso
Se você estiver adicionando apenas uma entrada usando o modelo CSV, deverá preservar a linha 3 e adicionar a nova entrada à linha 4.
Adicione a extensão de arquivo .csv
e remova os espaços à esquerda antes de userPrincipalName
, passwordProfile
e accountEnabled
.
Estrutura do modelo CSV
As linhas em um modelo CSV baixado são as seguintes:
- Número de versão: A primeira linha que contém o número de versão deve ser incluída no CSV de carregamento.
- Cabeçalhos de coluna: O formato dos cabeçalhos de coluna é <Nome do item> [PropertyName]<Obrigatório ou em branco>. Por exemplo,
Name [displayName] Required
. Algumas versões mais antigas do modelo podem ter pequenas variações. - Linha de exemplos: incluímos no modelo uma linha de exemplos de valores aceitáveis para cada coluna. Você deve remover a linha de exemplos e substituí-la por suas entradas.
Diretriz adicional
- As duas primeiras linhas do modelo de carregamento não devem ser removidas nem modificadas ou o carregamento não poderá ser processado.
- As colunas necessárias são listadas primeiro.
- Não recomendamos adicionar novas colunas ao modelo. Todas as colunas extras adicionadas são ignoradas e não são processadas.
- Recomendamos que você baixe a versão mais recente do modelo CSV sempre que possível.
- Verifique se não há nenhum espaço em branco indesejado antes/depois de qualquer campo. Deixar o espaço de Nome principal do usuário em branco causaria falha de importação.
- Verifique se os valores em Senha inicial estão em conformidade com a política de senha ativa no momento.
Para criar usuários em massa
Entre no centro de administração do Microsoft Entra como, no mínimo, Administrador de Usuários.
Selecione ID do Microsoft Entra.
Selecione Todos os usuários>Usuários>Criar em massa.
Na página Criar usuário em massa, selecione Download para receber um arquivo CSV (valores separados por vírgula) válido das propriedades do usuário e adicione os usuários que você deseja criar.
Abra o arquivo CSV e adicione uma linha para cada usuário que você deseja criar. Os únicos valores necessários são Nome, Nome UPN, Senha inicial e Bloquear entrada (Sim/Não) . Em seguida, salve o arquivo.
Na página Criar usuários em massa, em Carregar seu arquivo CSV, procure o arquivo. Quando você seleciona o arquivo e clica em Enviar, a validação do arquivo CSV é iniciada.
Após a validação do conteúdo do arquivo, você verá a mensagem Arquivo carregado com êxito. Se houver erros, você precisará corrigi-los antes de enviar o trabalho.
Quando o arquivo passar na validação, selecione Enviar para iniciar a operação em massa que importa os novos usuários.
Quando a operação de importação for concluída, você verá uma notificação do status da tarefa de operação em massa.
Se enfrentar erros, você poderá baixar e ver o arquivo de resultados na página Resultados da operação em massa. O arquivo contém o motivo de cada erro. O envio de arquivo deve corresponder ao modelo fornecido e incluir os nomes de coluna exatos. Para obter mais informações sobre as limitações das operações em massa, confira Limites do serviço de importação em massa.
Verificar o status
É possível ver o status de todas as suas solicitações em massa pendentes na página Resultados da operação em massa.
Em seguida, você pode verificar se os usuários criados existem na organização do Microsoft Entra no portal do Azure ou usando o PowerShell.
Verificar usuários
- Entre no centro de administração do Microsoft Entra como, no mínimo, Administrador de Usuários.
- Selecione ID do Microsoft Entra.
- Selecione Todos os usuários>Usuários.
- Em Mostrar, selecione Todos os usuários e verifique se os usuários criados estão listados.
Verificar usuários com o PowerShell
Execute o comando a seguir:
Get-MgUser -Filter "UserType eq 'Member'"
Você deve ver que os usuários criados estão listados.
Limites do serviço de importação em massa
Você deve estar ciente de que cada atividade de operações em massa pode ser executada por no máximo uma hora.
As operações em massa no portal de administração do Microsoft Entra podem exceder o tempo limite e falhar em locatários muito grandes. Essa limitação é um problema conhecido devido a limitações de dimensionamento. A equipe de engenharia da Microsoft está trabalhando em um novo serviço que, eventualmente, irá abordar essa limitação.
Observação
Ao executar operações em massa, como importar ou criar, você poderá encontrar um problema se a operação em massa não for concluída dentro de uma hora. Para contornar esse problema, é recomendável dividir o número de registros processados por lote. Por exemplo, antes de iniciar uma exportação, você poderia limitar o conjunto de resultados ao filtrar um tipo de grupo ou nome de usuário para reduzir o tamanho dos resultados. Ao refinar seus filtros, você estará essencialmente limitando os dados retornados pela operação em massa.
Outra solução alternativa para esse problema é usar o PowerShell para fazer chamadas diretas à API do Microsoft Graph. Em caso de falha do download em massa por usuários e grupos, recomendamos o uso dos cmdlets do PowerShell GET-MgGroup -All
e GET-MgUser -All
.
Os seguintes exemplos de código do PowerShell se destinam às operações em massa relacionadas a:
Usuários
Download em massa para todos os usuários
# 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"
Criação de usuários em massa
# 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."
Observação
Certifique-se de que o arquivo CSV contenha as colunas necessárias (por exemplo, DisplayName
, UserPrincipalName
etc.). Além disso, ajuste o script para que corresponda aos nomes de coluna reais no seu arquivo CSV.
Exclusão em massa de usuários
# 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."
Observação
Certifique-se de que o arquivo CSV contenha as colunas necessárias (por exemplo, UserPrincipalName
). Além disso, ajuste o script para que corresponda aos nomes de coluna reais no seu arquivo CSV.
Grupos
Download em massa para todos os grupos
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"
Download em massa para membros de um grupo
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"
Adicionar membros em massa
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
Remover membros em massa
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
Dispositivos
Download em massa para todos os dispositivos
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"