Microsoft Entra Id'de silinen kullanıcıları toplu geri yükleme
Microsoft Entra'nın bir parçası olan Microsoft Entra Id, toplu kullanıcı geri yükleme işlemlerini destekler ve kullanıcı, grup ve grup üyesi listelerinin indirilmesini destekler.
CSV şablonunu anlama
Microsoft Entra kullanıcılarını toplu olarak başarıyla geri yüklemenize yardımcı olması için CSV şablonunu indirin ve doldurun. İndirdiğiniz CSV şablonu şu örneğe benzer olabilir:
CSV şablon yapısı
İndirilen CSV şablonundaki satırlar aşağıdaki gibidir:
- Sürüm numarası: Sürüm numarasını içeren ilk satır karşıya yükleme CSV'sine eklenmelidir.
- Sütun başlıkları: Sütun başlıklarının biçimi Öğe adı> [PropertyName]< Gerekli veya boş> şeklindedir.< Örneğin,
Object ID [objectId] Required
. Şablonun bazı eski sürümlerinde küçük çeşitlemeler olabilir. - Örnek satırı: Şablona her sütun için kabul edilebilir değerlere ilişkin bir dizi örnek ekledik. Örnek satırını kaldırmanız ve kendi girdilerinizle değiştirmeniz gerekir.
Ek yönergeler
- Karşıya yükleme şablonunun ilk iki satırı kaldırılmamalı veya değiştirilmemelidir veya karşıya yükleme işlenemez.
- Önce gerekli sütunlar listelenir.
- Şablona yeni sütunlar eklemenizi önermiyoruz. Eklediğiniz ek sütunlar yoksayılır ve işlenmez.
- CSV şablonunun en son sürümünü mümkün olduğunca sık indirmenizi öneririz.
Kullanıcıları toplu geri yüklemek için
İpucu
Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.
Microsoft Entra yönetim merkezinde en az Bir Kullanıcı Yöneticisi olarak oturum açın.
Microsoft Entra Kimlik'i seçin.
Tüm kullanıcılar Kullanıcılar>>Silindi'yi seçin.
Silinen kullanıcılar sayfasında Toplu geri yükleme'yi seçerek geri yüklenecek kullanıcıların özelliklerinin geçerli bir CSV dosyasını karşıya yükleyin.
CSV şablonunu açın ve geri yüklemek istediğiniz her kullanıcı için bir satır ekleyin. Gereken tek değer ObjectID değeridir. Ardından dosyayı kaydedin.
Toplu geri yükleme sayfasında, Csv dosyanızı karşıya yükleyin altında dosyaya göz atın. Dosyayı seçip Gönder'e tıkladığınızda CSV dosyasının doğrulaması başlar.
Dosya içeriği doğrulandığında Dosya başarıyla karşıya yüklendi ifadesini görürsünüz. Hatalar varsa, işi göndermeden önce bunları düzeltmeniz gerekir.
Dosyanız doğrulamayı geçtiğinde, kullanıcıları geri yükleyen toplu işlemi başlatmak için Gönder'i seçin.
Geri yükleme işlemi tamamlandığında toplu işlemin başarılı olduğuna ilişkin bir bildirim görürsünüz.
Hatayla karşılaşırsanız, Toplu işlem sonuçları sayfasında sonuç dosyasını indirebilir ve görüntüleyebilirsiniz. Bu dosyada her hatanın nedeni belirtilir. Dosya gönderiminin sağlanan şablonla eşleşmesi ve tam sütun adlarını içermesi gerekir. Toplu işlem sınırlamaları hakkında daha fazla bilgi için bkz . Toplu geri yükleme hizmet sınırları.
Durumu kontrol et
Bekleyen tüm toplu isteklerinizin durumunu Toplu işlem sonuçları sayfasında görebilirsiniz.
Ardından, geri yüklediğiniz kullanıcıların Microsoft Entra kuruluşunda Microsoft Entra Kimliği veya PowerShell aracılığıyla var olup olmadığını kontrol edebilirsiniz.
Azure portalında geri yüklenen kullanıcıları görüntüleme
- Microsoft Entra yönetim merkezinde en az Bir Kullanıcı Yöneticisi olarak oturum açın.
- Microsoft Entra Kimlik'i seçin.
- Yönet altında Tüm kullanıcılar'ı seçin ve Kullanıcılar'ı seçin.
- Göster'in altında Tüm kullanıcılar'ı seçin ve geri yüklediğiniz kullanıcıların listelendiğini doğrulayın.
PowerShell ile kullanıcıları görüntüleme
Şu komutu çalıştırın:
Get-MgUser -Filter "UserType eq 'Member'"
Geri yüklediğiniz kullanıcıların listelendiğini görmeniz gerekir.
Not
Azure AD ve MSOnline PowerShell modülleri 30 Mart 2024 itibarıyla kullanım dışı bırakılmıştır. Daha fazla bilgi edinmek için kullanımdan kaldırma güncelleştirmesini okuyun. Bu tarihten sonra bu modüllere yönelik destek, Microsoft Graph PowerShell SDK'sına geçiş yardımı ve güvenlik düzeltmeleriyle sınırlıdır. Kullanım dışı bırakılan modüller Mart 30 2025'e kadar çalışmaya devam edecektir.
Microsoft Entra ID (eski adıyla Azure AD) ile etkileşime geçmek için Microsoft Graph PowerShell'e geçiş yapmanızı öneririz. Sık sorulan geçiş soruları için Bkz. Geçiş hakkında SSS. Not: MSOnline'ın 1.0.x sürümleri 30 Haziran 2024'den sonra kesintiye neden olabilir.
Toplu geri yükleme hizmet sınırları
Her toplu işlem etkinliğinin bir saate kadar çalışabileceğini unutmayın.
Microsoft Entra yönetim portalındaki toplu işlemler zaman aşımına uğradı ve çok büyük kiracılarda başarısız olabilir. Bu sınırlama, ölçeklendirme sınırlamaları nedeniyle bilinen bir sorundur. Microsoft mühendislik ekibi, sonunda bu sınırlamayı giderecek yeni bir hizmet üzerinde çalışmaktadır.
Not
İçeri aktarma veya oluşturma gibi toplu işlemler gerçekleştirirken, toplu işlem bir saat içinde tamamlanmazsa bir sorunla karşılaşabilirsiniz. Bu sorunu geçici olarak çözmek için toplu iş başına işlenen kayıt sayısını bölmenizi öneririz. Örneğin, dışarı aktarma işlemine başlamadan önce sonuçların boyutunu küçültmek için grup türüne veya kullanıcı adına göre filtreleyerek sonuç kümesini sınırlayabilirsiniz. Filtrelerinizi iyileştirerek, temelde toplu işlem tarafından döndürülen verileri sınırlandırıyorsunuz.
Bu sorunun bir diğer geçici çözümü de PowerShell kullanarak doğrudan Microsoft Graph API çağrıları yapmaktır. Kullanıcıları ve grupları toplu indirme hatası için Ve PowerShell cmdlet'lerini GET-MgGroup -All
GET-MgUser -All
kullanmanızı öneririz.
Aşağıdaki PowerShell kod örnekleri şunlarla ilgili toplu işlemlere yöneliktir:
Kullanıcılar
Tüm kullanıcıları toplu indirme
# 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"
Kullanıcıları toplu oluşturma
# 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."
Not
CSV dosyanızın gerekli sütunları (örneğin, , UserPrincipalName
vb.) DisplayName
içerdiğinden emin olun. Ayrıca, betiği CSV dosyanızdaki gerçek sütun adlarına uyacak şekilde ayarlayın.
Kullanıcıları toplu silme
# 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."
Not
CSV dosyanızın gerekli sütunları içerdiğinden emin olun (örneğin, UserPrincipalName
). Ayrıca, betiği CSV dosyanızdaki gerçek sütun adlarına uyacak şekilde ayarlayın.
Gruplar
Tüm grupları toplu indirme
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"
Grubun üyelerini toplu indirme
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"
Üyeleri toplu olarak ekleme
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
Üyeleri toplu olarak kaldırma
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
Cihazlar
Tüm cihazları toplu indirme
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"