Dela via


Massskapa användare i Microsoft Entra-ID

Microsoft Entra ID, en del av Microsoft Entra, stöder massanvändaråtgärder för att skapa och ta bort och stöder nedladdning av listor över användare. Fyll bara i mallen kommaavgränsade värden (CSV) som du kan ladda ned från Microsoft Entra-ID.

Behörigheter som krävs

För att kunna massskapa användare i administrationsportalen måste du vara inloggad som minst användaradministratör.

Förstå CSV-mallen

Ladda ned och fyll i CSV-mallen för massuppladdning som hjälper dig att skapa Microsoft Entra-användare i grupp. CSV-mallen som du laddar ned kan se ut så här:

Skärmbild av kalkylblad för uppladdning och bildtexter som förklarar syftet och värdena för varje rad och kolumn.

Varning

Om du bara lägger till en post med hjälp av CSV-mallen måste du bevara rad 3 och lägga till den nya posten i rad 4.

Se till att du lägger till filtillägget .csv och tar bort inledande blanksteg före userPrincipalName, passwordProfileoch accountEnabled.

CSV-mallstruktur

Raderna i en nedladdad CSV-mall är följande:

  • Versionsnummer: Den första raden som innehåller versionsnumret måste ingå i CSV-uppladdningen.
  • Kolumnrubriker: Formatet för kolumnrubrikerna är <Objektnamn> [PropertyName]< Obligatoriskt eller tomt.> Exempel: Name [displayName] Required Vissa äldre versioner av mallen kan ha små variationer.
  • Exempelrad: Vi har i mallen inkluderat en rad med exempel på godtagbara värden för varje kolumn. Du måste ta bort exempelraden och ersätta den med dina egna poster.

Mer information

  • De två första raderna i uppladdningsmallen får inte tas bort eller ändras, eller så kan uppladdningen inte bearbetas.
  • De obligatoriska kolumnerna visas först.
  • Vi rekommenderar inte att du lägger till nya kolumner i mallen. Eventuella ytterligare kolumner som du lägger till ignoreras och bearbetas inte.
  • Vi rekommenderar att du laddar ned den senaste versionen av CSV-mallen så ofta som möjligt.
  • Kontrollera att det inte finns något oavsiktligt blanksteg före/efter något fält. För användarens huvudnamn skulle ett sådant blanksteg orsaka importfel.
  • Se till att värdena i Det första lösenordet följer den aktiva lösenordsprincipen.

Skapa användare i grupp

  1. Logga in på administrationscentret för Microsoft Entra som minst användaradministratör.

  2. Välj Microsoft Entra ID.

  3. Välj Alla användare Användare>>Massskapa.

  4. På sidan Massskapa användare väljer du Ladda ned för att ta emot en giltig CSV-fil (kommaavgränsade värden) med användaregenskaper och lägger sedan till användare som du vill skapa.

    Skärmbild som visar hur du väljer en lokal CSV-fil där du listar de användare som du vill lägga till.

  5. Öppna CSV-filen och lägg till en rad för varje användare som du vill skapa. De enda nödvändiga värdena är Namn, Användarens huvudnamn, Initialt lösenord och Blockera inloggning (Ja/Nej). Spara sedan filen.

    Skärmbild som visar ett exempel på CSV-filen som innehåller namnen och ID:t för de användare som ska skapas.

  6. På sidan Massskapa användare går du till filen under Ladda upp CSV-filen. När du väljer filen och klickar på Skicka startar verifieringen av CSV-filen.

  7. När filinnehållet har verifierats ser du att filen har laddats upp. Om det finns fel måste du åtgärda dem innan du kan skicka jobbet.

  8. När filen godkänns väljer du Skicka för att starta massåtgärden som importerar de nya användarna.

  9. När importåtgärden är klar visas ett meddelande om massåtgärdens jobbstatus.

Om du får fel kan du ladda ned och visa resultatfilen på sidan Massåtgärdsresultat . I filen kan du se orsaken till varje fel. Filöverföringen måste matcha den angivna mallen och innehålla de exakta kolumnnamnen. Mer information om begränsningar för massåtgärder finns i Begränsningar för massimporttjänsten.

Kontrollera status

Du kan se status för alla väntande massbegäranden på resultatsidan massåtgärd.

Skärmbild som visar hur du kontrollerar status för åtgärden på resultatsidan för massåtgärder.

Därefter kan du kontrollera att de användare som du skapade finns i Microsoft Entra-organisationen antingen i Azure-portalen eller med hjälp av PowerShell.

Verifiera användare

  1. Logga in på administrationscentret för Microsoft Entra som minst användaradministratör.
  2. Välj Microsoft Entra ID.
  3. Välj Alla användare>.
  4. Under Visa väljer du Alla användare och kontrollerar att de användare som du har skapat visas.

Verifiera användare med PowerShell

Kör följande kommando:

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

Du bör se att de användare som du har skapat visas.

Tjänstbegränsningar för massimport

Du bör vara medveten om att varje massåtgärdsaktivitet kan köras i upp till en timme.

Massåtgärder i Microsoft Entra-administratörsportalen kan överskrida tidsgränsen och misslyckas för mycket stora klienter. Den här begränsningen är ett känt problem på grund av skalningsbegränsningar. Microsofts teknikteam arbetar med en ny tjänst som så småningom kommer att åtgärda den här begränsningen.

Kommentar

När du utför massåtgärder, till exempel importera eller skapa, kan det uppstå ett problem om massåtgärden inte slutförs inom en timme. För att undvika det här problemet rekommenderar vi att du delar upp antalet poster som bearbetas per batch. Innan du till exempel startar en export kan du begränsa resultatuppsättningen genom att filtrera efter en grupptyp eller ett användarnamn för att minska resultatets storlek. Genom att förfina dina filter begränsar du i princip de data som returneras av massåtgärden.

En annan lösning på det här problemet är att använda PowerShell för att göra direkta Microsoft Graph API-anrop. Vid massnedladdning av användare och grupper rekommenderar vi att du använder PowerShell-cmdletarna GET-MgGroup -All och GET-MgUser -All.

Följande PowerShell-kodexempel är för massåtgärder relaterade till:

Användare

Massnedladdning av alla användare

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

Masskapa användare

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

Kommentar

Kontrollera att CSV-filen innehåller de kolumner som behövs (till exempel DisplayName, , UserPrincipalNameoch så vidare). Justera även skriptet så att det matchar de faktiska kolumnnamnen i CSV-filen.

Massborttag användare

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

Kommentar

Kontrollera att CSV-filen innehåller de kolumner som behövs (till exempel UserPrincipalName). Justera även skriptet så att det matchar de faktiska kolumnnamnen i CSV-filen.

Grupper

Massnedladdning av alla grupper

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" 

Massnedladdning av medlemmar i en grupp

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"  

Lägga till medlemmar i grupp

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 

Ta bort medlemmar i grupp

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 

Enheter

Massnedladdning av alla enheter

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"  

Nästa steg