Taşınan Mailbox'ların Disconnected kopyasını silmek

Exchange server database'ler arasında mailbox taşıma işleminden sonra taşınan mailbox'ların offline bir kopyası database'de 30 gün boyunca bekletilir. bu mailbox'ları Disconnected Mailbox bölümünde görebiliriz. ama bazen çok sayıda büyük boyutlu mailbox'ları taşıdığımızda hem eski hemde yeni Database üzerinde yer kaplayacağı için bu duruma 30 gün boyunca tahammül edemeyebiliriz. mesela bende 200 GB'lık bir database'i başka bir Database'e taşıdıktan sonra başıma gelen bir durumdu. peki bu bekleyen Disconnected Mailbox'ları varsayılan süreden önce nasıl sileriz?  buyrun efendim anlatayım...

Önce Exchange üzerindeki taşınma işleminden sonra Disconnected Mailbox bölümüne taşınan objelerimizi aşağıdaki komut ile listeleyerek işlem yapacağımız mailboxları görelim. bu işleme tabi tutulan mailboxlar Soft Deleted mailboxlardır..

1.Adım :
Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -eq “SoftDeleted”} | Select DisplayName,ServerName,Database,ItemCount

bu komutun parametreleriyle şu bilgileri elde ediyoruz:
DisplayName : Silinen (Taşınmış) hesap sahibinin adı.
ServerName : hangi sunucu üzerinde olduğunu gösteriyor.
Database : hangi database'den taşınmış
ItemCount  : mailbox'un içinde bulunan ileti sayısı.
ayrıca DisconnectDate, MailboxGuid gibi parametreleride ekleyerek mailbox'un Disconnected olduğu tarih ve Guid numarası bilgilerinide oluşturduğumuz kontrol listesine ekleyebiliriz.

2.Adım :
Yukarıda listelediğimiz Disconnected Mailbox'lardan Database üzerinden silmek istediğimiz mailbox'un Database ve User Alias bilgilerini aşağıdaki komtta kullanarak silebiliyoruz:

Remove-StoreMailbox -Database (Database) -Identity (useralias) -MailboxState SoftDeleted

3.Adım:
Bu adımda listelediğimiz tüm Disconnected Mailbox'ları (Soft Deleted) bir değişkene atayıp dizi şeklinde değişkenin içine atanan listenin tümünü silebiliyoruz:

a. Disconnected Mailbox bilgilerini var1 değişkenine atamak:
$var1 = Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -eq “SoftDeleted”}

b. var1 değişkenine atanan mailbox bilgilerini silmek:
$var1 | foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState SoftDeleted}


Böylece Database'ler arasında Mailbox taşıma işleminden sonra taşıdığımız Mailbox'ların Disconnected kopyasını sildik. inş. iyi bişey yapmışızdır...

0 Yorum yazılmış:

Yorum Gönder