Silinen Microsoft 365 Kullanıcılarını Azure AD'den Kalıcı Olarak Kaldırma


Bu makalenin orijinal sürümü Paul Cunningham tarafından yazılmış ve 15 Ocak 2015'te yayımlanmıştır. Bu sürüm, Microsoft 365'teki mevcut ortamı yansıtacak şekilde yeniden düzenlenmiştir.

Bir Microsoft 365 kullanıcı hesabını Microsoft 365 yönetim merkezinden sildiğinizde, hesap 30 gün boyunca geçici olarak silinmiş duruma geçer. Bu süre zarfında, silme işlemi kasıtlı değilse yöneticiler hesabı kolayca kurtarabilir. Azure AD, lisans atamaları dışında hesabı tamamen geri yükler. Buna, örneğin Microsoft 365 Gruplarının (ve ekiplerinin) üyelikleri, posta kutusu izinleri ve temsilciler gibi Exchange nitelikleri, OneDrive'daki paylaşımlar dahil dosyalar vb. dahildir.

Otuz Gün Silinen Hesap Saklama Limiti

Silinen hesapların saklanmasına ilişkin 30 günlük sınır Azure AD tarafından belirlenir. Kiracı başka bir değer seçemez. Ancak silinmiş bir Microsoft 365 kullanıcısını kalıcı olarak kaldırmak istiyorsanız PowerShell'i kullanabilirsiniz. Bunu yapmak isteyebileceğiniz nedenler şunlardır:

  • Kullanıcı hesabının yanlış sağlanması.
  • UPN veya birincil smtp adresi aynı olduğunda Azure AD Connect aracılığıyla geçici eşleşmenin önlenmesi.
  • Etkin bekletmeye sahip bir posta kutusu etkin değil olarak ayarlanmalıdır.

Talep Üzerine Geçiş

Kapsamlı tek bir Office 365 kiracıdan kiracıya geçiş çözümüyle tüm iş yüklerinizi ve Active Directory'yi taşıyın.

Silinen Azure AD Hesaplarını PowerShell ile Kaldırma

Hesapları kaldırmak için bilgisayarınızda hem Azure Active Directory PowerShell hem de Microsoft Çevrimiçi Hizmetler modüllerinin yüklü olması gerekir.

Dikkat: Kullanıcıları kalıcı olarak kaldırmak istediğinizden tamamen emin olmadığınız sürece devam etmeyin.

Öncelikle Connect-AzureAD'i çalıştırıp yönetici kimlik bilgilerinizi girerek Azure Active Directory'ye bağlanın. Ayrıca Connect-MSolService cmdlet'ini çalıştırarak Microsoft Çevrimiçi Hizmetler'e bağlanın:

Connect-AzureAD
Connect-MSOlService

Bağlandıktan sonra, silinen kullanıcıların listesini nesne tanımlayıcılarıyla birlikte döndürmek için Get-MsOlUser cmdlet'ini çalıştırın:

Get-MsolUser -ReturnDeletedUsers | Format-Table DisplayName, ObjectId

DisplayName                               ObjectId
-----------                               --------
Chris Bishop                              1368fd78-c2b4-4e14-8e69-65dddc432451
John Beddie                               8dfa381e-685a-4ba6-a12a-6a7b35df8199

Get-MsolUser tarafından döndürülen kümede gerekli hesabı bulduktan sonra, Remove-AzureADMSDeletedDirectoryObject'i çalıştırarak kullanıcı nesnesini kalıcı olarak kaldırabilirsiniz.

Remove-AzureADMSDeletedDirectoryObject -Id 1368fd78-c2b4-4e14-8e69-65dddc432451

Kaldırma anında gerçekleşir ve hesap daha sonra kurtarılamaz.

Silinen hesapları, silme saklama süreleri dolmadan önce Azure AD'den kalıcı olarak kaldırmak için, Get-MsolUser tarafından alınan nesne kümesini Remove-AzureADMSDeletedDirectoryObjectcmdlet'e yönlendirebilirsiniz. :

Get-MsolUser -ReturnDeletedUsers | Select -ExpandProperty ObjectId | Remove-AzureADMSDeletedDirectoryObject 

Güncelleştirme: Microsoft Graph PowerShell SDK'sını kullanın

Microsoft, Microsoft Çevrimiçi Hizmetleri ve Azure AD PowerShell modüllerini kullanımdan kaldırma niyetini açıkladı. Bu modülleri kullanan tüm kodları Microsoft Graph PowerShell SDK'daki cmdlet'lerle değiştirmelisiniz. Bu durumda silinen kullanıcı hesaplarını bulmak için şunu çalıştırın:

$Uri = "https://graph.microsoft.com/V1.0/directory/deletedItems/microsoft.graph.user"
[array]$DeletedUsers = Invoke-MgGraphRequest -Uri $Uri -Method Get

$DeletedUsers.Value.Foreach({Write-Host $_.DisplayName, $_.id})

Microsoft Entra yönetim merkezinin silinmiş Azure AD hesaplarını getirme şekline benzer olan Graph API isteğinin daha gelişmiş bir biçimi aşağıda gösterilmektedir. Kullandıkları kodu keşfetmek için sahne arkasını koklamak amacıyla Graph X-ray eklentisini kullandım.

$Uri = "https://graph.microsoft.com/V1.0/directory/deletedItems/microsoft.graph.user?`$select=id,displayName,userPrincipalName,userType,deletedDateTime,deletedDateTime,id,userPrincipalName&`$top=999&`$count=true"
[array]$DeletedUsers = Invoke-GraphRequest -Uri $Uri -Method Get
$DeletedUsers = $DeletedUsers.Value | Sort-Object {$_.deletedDateTime -as [datetime]} -descending

Ardından geçici olarak silinen bir Azure AD hesabını kalıcı olarak kaldırmak için Remove-MgDirectoryDeletedItem cmdlet'ini çalıştırın ve silinecek hesabın nesne tanımlayıcısını iletin.

Remove-MgDirectoryDeletedItem -DirectoryObjectId 8aa1261a-b63e-4d5e-8acb-174879fc007a

İlgili makaleler