Zbiorcze tworzenie użytkowników w identyfikatorze Entra firmy Microsoft
Microsoft Entra ID, część firmy Microsoft Entra, obsługuje operacje tworzenia i usuwania użytkowników zbiorczych oraz obsługuje pobieranie list użytkowników. Wystarczy wypełnić szablon wartości rozdzielonych przecinkami (CSV), który można pobrać z witryny Microsoft Entra ID.
Wymagane uprawnienia
Aby zbiorczo tworzyć użytkowników w portalu administracyjnym, musisz zalogować się jako co najmniej administrator użytkowników.
Omówienie szablonu CSV
Pobierz i wypełnij szablon csv zbiorczego przekazywania, aby ułatwić zbiorcze tworzenie użytkowników firmy Microsoft Entra. Pobrany szablon CSV może wyglądać następująco:
Ostrzeżenie
Jeśli dodasz tylko jeden wpis przy użyciu szablonu CSV, musisz zachować wiersz 3 i dodać nowy wpis do wiersza 4.
Upewnij się, że dodano .csv
rozszerzenie pliku i usunięto wszystkie spacje wiodące przed userPrincipalName
, passwordProfile
i accountEnabled
.
Struktura szablonu CSV
Wiersze pobranego szablonu CSV są następujące:
- Numer wersji: pierwszy wiersz zawierający numer wersji musi być uwzględniony w przekazanym pliku CSV.
- Nagłówki kolumn: format nagłówków kolumn to< Nazwa> elementu [PropertyName]< Wymagana lub pusta.> Na przykład
Name [displayName] Required
. Niektóre starsze wersje szablonu mogą mieć niewielkie odmiany. - Wiersz przykładów: w szablonie znajduje się wiersz przykładów dopuszczalnych wartości dla każdej kolumny. Musisz usunąć wiersz przykłady i zastąpić go własnymi wpisami.
Dodatkowe wskazówki
- Nie można usunąć ani zmodyfikować pierwszych dwóch wierszy szablonu przekazywania lub nie można przetworzyć przekazywania.
- Wymagane kolumny są wyświetlane jako pierwsze.
- Nie zalecamy dodawania nowych kolumn do szablonu. Wszystkie dodawane kolumny są ignorowane i nie są przetwarzane.
- Zalecamy pobranie najnowszej wersji szablonu CSV tak często, jak to możliwe.
- Upewnij się, że nie ma niezamierzonego odstępu przed/po dowolnym polu. W przypadku głównej nazwy użytkownika takie białe znaki spowodują niepowodzenie importu.
- Upewnij się, że wartości w polu Początkowe hasło są zgodne z aktualnie aktywnymi zasadami haseł.
Aby zbiorczo tworzyć użytkowników
Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator użytkowników.
Wybierz Microsoft Entra ID.
Wybierz pozycję Wszyscy użytkownicy>>zbiorczo utwórz.
Na stronie Zbiorcze tworzenie użytkownika wybierz pozycję Pobierz, aby otrzymać prawidłowy plik wartości rozdzielonych przecinkami (CSV) właściwości użytkownika, a następnie dodaj użytkowników, które chcesz utworzyć.
Otwórz plik CSV i dodaj wiersz dla każdego użytkownika, który chcesz utworzyć. Jedynymi wymaganymi wartościami są Nazwa, Główna nazwa użytkownika, Początkowe hasło i Blokuj logowanie (Tak/Nie). Następnie zapisz plik.
Na stronie Zbiorcze tworzenie użytkownika w obszarze Przekaż plik CSV przejdź do pliku. Po wybraniu pliku i kliknięciu przycisku Prześlij zostanie uruchomiona walidacja pliku CSV.
Po zweryfikowaniu zawartości pliku zostanie wyświetlony komunikat Plik przekazany pomyślnie. Jeśli występują błędy, należy je naprawić przed przesłaniem zadania.
Gdy plik przejdzie walidację, wybierz pozycję Prześlij , aby rozpocząć operację zbiorczą, która importuje nowych użytkowników.
Po zakończeniu operacji importowania zostanie wyświetlone powiadomienie o stanie zadania operacji zbiorczej.
Jeśli wystąpią błędy, możesz pobrać i wyświetlić plik wyników na stronie wyników operacji zbiorczej. Plik zawiera przyczynę każdego błędu. Przesyłanie pliku musi być zgodne z podanym szablonem i zawierać dokładne nazwy kolumn. Aby uzyskać więcej informacji na temat ograniczeń operacji zbiorczych, zobacz Zbiorcze limity usługi importowania.
Sprawdź stan
Stan wszystkich oczekujących żądań zbiorczych można zobaczyć na stronie Wyników operacji zbiorczej.
Następnie możesz sprawdzić, czy użytkownicy, którzy utworzyli, istnieją w organizacji Microsoft Entra w witrynie Azure Portal lub przy użyciu programu PowerShell.
Weryfikowanie użytkowników
- Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator użytkowników.
- Wybierz Microsoft Entra ID.
- Wybierz pozycję Wszyscy użytkownicy>.
- W obszarze Pokaż wybierz pozycję Wszyscy użytkownicy i sprawdź, czy utworzoni użytkownicy są wyświetlani.
Weryfikowanie użytkowników za pomocą programu PowerShell
Uruchom następujące polecenie:
Get-MgUser -Filter "UserType eq 'Member'"
Powinien zostać wyświetlony komunikat o tym, że są wyświetlani użytkownicy, których utworzono.
Limity usługi importowania zbiorczego
Należy pamiętać, że każde działanie operacji zbiorczych może działać przez maksymalnie jedną godzinę.
Operacje zbiorcze w portalu administracyjnym firmy Microsoft Entra mogą upłynął limit czasu i zakończyć się niepowodzeniem w bardzo dużych dzierżawach. To ograniczenie jest znanym problemem ze względu na ograniczenia skalowania. Zespół inżynierów firmy Microsoft pracuje nad nową usługą, która ostatecznie zajmie się tym ograniczeniem.
Uwaga
Podczas wykonywania operacji zbiorczych, takich jak importowanie lub tworzenie, może wystąpić problem, jeśli operacja zbiorcza nie zostanie ukończona w ciągu godziny. Aby obejść ten problem, zalecamy podzielenie liczby rekordów przetworzonych na partię. Na przykład przed rozpoczęciem eksportu można ograniczyć zestaw wyników przez filtrowanie według typu grupy lub nazwy użytkownika w celu zmniejszenia rozmiaru wyników. Uściślijąc filtry, zasadniczo ograniczasz dane zwracane przez operację zbiorczą.
Innym obejściem tego problemu jest użycie programu PowerShell do bezpośrednich wywołań interfejsu API programu Microsoft Graph. W przypadku niepowodzenia zbiorczego pobierania użytkowników i grup zalecamy GET-MgGroup -All
użycie poleceń cmdlet programu PowerShell i GET-MgUser -All
.
Następujące przykłady kodu programu PowerShell dotyczą operacji zbiorczych związanych z:
Użytkownicy
Zbiorcze pobieranie wszystkich użytkowników
# 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"
Zbiorcze tworzenie użytkowników
# 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."
Uwaga
Upewnij się, że plik CSV zawiera niezbędne kolumny (na przykład , DisplayName
i UserPrincipalName
tak dalej). Ponadto dostosuj skrypt tak, aby był zgodny z rzeczywistymi nazwami kolumn w pliku CSV.
Zbiorcze usuwanie użytkowników
# 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."
Uwaga
Upewnij się, że plik CSV zawiera niezbędne kolumny (na przykład UserPrincipalName
). Ponadto dostosuj skrypt tak, aby był zgodny z rzeczywistymi nazwami kolumn w pliku CSV.
Grupy
Zbiorcze pobieranie wszystkich grup
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"
Zbiorcze pobieranie członków grupy
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"
Zbiorcze dodawanie członków
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
Zbiorcze usuwanie elementów członkowskich
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
Urządzenia
Zbiorcze pobieranie wszystkich urządzeń
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"