PowerShell ile Silinmiş Bir Posta Kutusu Nasıl Geri Yüklenir

Exchange'de(Exchange) bir kişinin posta kutusunu yanlışlıkla nasıl sildiğiniz önemli değil, muhtemelen PowerShell ( PoSh ) kullanarak onu geri yükleyebilirsiniz. Anahtar, posta kutusunun silindiğini fark ettiğiniz anda bunu yapmaktır. 

Bunu yanlışlıkla yaptığımızı fark ettiğimizde kalbimin ağzıma geldiği bir an. Yalnızca birkaç e-posta iletisini sildiyseniz, Office 365'te(how to recover deleted emails in Office 365) de silinen e-postaları nasıl kurtaracağınızı gösterebiliriz.

Başlamadan önce, bunun Office 365 ortamı ve Exchange 2010 için (Exchange 2010)Exchange Online'da(Exchange Online ) silinen posta kutularını geri yüklemek için olduğunu unutmayın . Ayrıca açıklanan yöntemleri kullanmak için yönetici haklarına sahip olduğunuzu ve bazı temel PowerShell komut dosyası oluşturma(basic PowerShell scripting) işlemlerini yaptığınızı varsayıyoruz . 

Bir Posta Kutusu Silindiğinde Ne Olur?(What Happens When a Mailbox Is Deleted?)

Posta kutusu, Exchange Online'da (Exchange Online)Azure Active Directory (AD) geri dönüşüm kutusuna veya Exchange 2010'da Bağlantısı Kesilen Posta Kutuları(Disconnected Mailboxes ) dizinine taşınır .

Mevcut saklama politikalarına bağlı olarak 30 güne kadar orada kalabilir. Bu bize hatamızı fark edip ondan kurtulmamız için bir mühlet verir.

Exchange Online'da Silinmiş Bir Posta Kutusunu Geri Yükleme(Restore a Deleted Mailbox In Exchange Online)

PowerShell Üzerinden Exchange Online'a Bağlanma(Connect To Exchange Online Via PowerShell)

Yerel oturumunuzda, Powershell konsolunu açın ve oturum açma kimlik bilgilerinizi değişkene ayarlamak için aşağıdaki komutu kullanın.

$userCredential

Bu, daha sonra diğer komut dosyalarıyla çalışmayı kolaylaştırır.

$userCredential = get-Credential

Exchange Online'ı(Exchange Online) yönetmek için kullanıcı adınızı ve şifrenizi girebileceğiniz bir pencere açılacaktır .

Ardından, oturumumuzda gerçekten bir şeyler yapabilmemiz için yürütme politikası düzeyini ayarlayın. Bu, imzasız komutlarımızı çalıştırmamızı sağlar. Ancak PowerShell komut dosyalarını imzalamak için en iyi uygulamaları(best practices for signing PowerShell scripts) da öğrenmek isteyebilirsiniz .

set-ExecutionPolicy Unrestricted

İstendiğinde, Evet için Y tuşuna basın.(Y)

Şimdi yerel bilgisayar ile Exchange Online arasında bir bağlantı açmak için kullanılacak $session değişkenini oluşturacağız .

$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection

Powershell-liveid , Office sitenizin kimliğidir. Genellikle bu, şirketinizin adının bir çeşitlemesidir. 

Exchange Online'da bir (Exchange Online)PoSh oturumu açmak için aşağıdaki komutu kullanın :

import-PSSession $Session -DisableNameChecking

Artık kendi bilgisayarımızın başında oturuyor olmamıza rağmen doğrudan Exchange Online'da (Exchange Online)PowerShell ile çalışıyoruz.(PowerShell)

PowerShell ile Silinmiş Bir Posta Kutusunu Geri Yükleme(Restore a Deleted Mailbox With PowerShell)

Sonraki bölüm çok kolay. Bağlantıyı kurmak bizim için çok daha uzun sürecek. 

Tek yapmamız gereken aşağıda gösterilen cmdlet'i çalıştırmak:

undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)

[email protected] her iki örneğini, geri yüklemek istediğimiz posta kutusunun uygun posta kutusu adına ve Windows LiveID'sine değiştirin. (Windows LiveID)Bunların aynı olmayabileceğini unutmayın. 

Ayrıca posta kutusu için yeni bir şifre belirlememiz gerekiyor. Komut dosyasındaki yeni şifreyi istediğiniz şifreyle değiştirin(newpassword) . Bunu kullanıcıya aktarmanız ve bir sonraki oturum açışlarında şifrelerini değiştirmelerini istemeniz gerekir.

Son olarak, bunun işe yarayıp yaramadığını kontrol etmek için sonraki cmdlet'i kullanın. 

get-Mailbox [email protected]

Geri yüklendiyse, cmdlet geri yüklenen posta kutusuyla ilgili bilgileri döndürür. Bir hata döndürürse komutları tekrar gözden geçirin ve doğru posta kutusunun ve Windows LiveID'nin(Windows LiveID) kullanıldığından emin olun. 

Bu hala işe yaramazsa, posta kutusunu bir sistem yedeğinden geri yüklememiz gerekecek. Pek çok sistem yedeği türü vardır, bu nedenle bugün yaptığımızın kapsamı dışındadır.

İşimiz bittiğinde PoSh oturumunu kapatmalıyız. Yürüttüğümüz PoSh(PoSh) oturumlarının sayısı sınırlıdır. Açık bırakmak, bu oturumlardan birini kullanır. Kapatmazsak, başka bir oturuma başlamadan önce oturumun zaman aşımına uğramasını beklememiz gerekecek.

remove-PSSession $Session

Bu kadar. Tekrar olursa, kullanım kolaylığı için bunu bir PowerShell Modülüne(PowerShell Module) komut dosyası olarak yazmak isteyebilirsiniz .

Exchange 2010'da Silinmiş Bir Posta Kutusunu Geri Yükleme(Restore a Deleted Mailbox In Exchange 2010)

Bu, Office 365(Office 365) veya karma ortamlarda çalışmaz . Yalnızca şirket içi Exchange 2010 için çalışır . 

Posta sunucusunda, Exchange Yönetim Konsolu'nu(Exchange Management Console ) (EMC) açın. 

Alıcı Yapılandırması(Recipient Configuration ) > Bağlantısı Kesilen Posta Kutusu'na(Disconnected Mailbox) gidin . Orada kullanıcının posta kutusunu görmeliyiz. 

Bunu yapmazsak, posta kutusu veritabanı temizleme işlemi henüz gerçekleşmemiştir. Sorun değil, zorlayabiliriz.

  • Exchange Yönetim Kabuğu'nu(Exchange Management Shell ) ( EMS ) yönetici olarak açın . Burası, Exchange'e özgü PowerShell(Exchange-specific PowerShell) çalışması yapabileceğimiz yer .
  • Şimdi cmdlet'e giriyoruz: 
Get-MailboxDatabase | Clean-MailboxDatabase

  • Bu yapıldıktan sonra, EMC'ye(EMC) geri dönelim ve Disconnected Mailbox'a(Disconnected Mailbox) sağ tıklayın , ardından Refresh'e(Refresh) tıklayın . 
  • Posta kutusunu şimdi orada görmeliyiz ve yakın zamanda silinen başka bir kutuyla birlikte.

  • EMS'ye(EMS) geri dönün ve cmdlet'i girin: 
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • Kullanıcı(Username) adı, kişinin Windows hesap adıdır ( Test Kullanıcısı(Test User) gibi ) ve Posta Kutusu Veritabanı (Mailbox Database), EMC'deki Bağlantısı Kesilen Posta Kutusu(Disconnected Mailbox) penceresinde  adlarının yanında listelenen veritabanının adıdır .
  • Bağlantısı Kesilen Posta Kutusunu(Disconnected Mailbox) Yenileyin ve posta kutularının artık orada görüntülenmediğini görmelisiniz. Alıcı Yapılandırması(Recipient Configuration ) > Posta Kutusu'na(Mailbox ) gidin ve kullanıcının posta kutusunun orada olduğundan emin olun.

E-posta adresi ve takma ad gibi tüm ayarların doğru olduğundan emin olmak için kontrol edin. İyi görünüyorsa, kullanıcı Outlook'unu(Outlook) bir sonraki açışında her şey olduğu gibi orada olacaktır.

Posta Kutusu Geri Yüklendi(Mailbox Restored)

Exchange Online ve Exchange 2010'da(Exchange 2010) posta kutularını geri yüklemek için PowerShell'i(PowerShell) bu şekilde kullanabilirsiniz . Hibrit bir ortamınız varsa, biraz daha karmaşık ama yapılabilir. 

Bu farklı cmdlet'lerin var olduğunu bilmek, hangi sürüm veya yapılandırma olursa olsun sizi Exchange ile çalışmak için iyi bir konuma getirir.(Exchange)



About the author

Excel ve PowerPoint dahil olmak üzere Microsoft Office yazılımlarıyla çalışma deneyimine sahip bir bilgisayar uzmanıyım. Ayrıca Google'a ait bir tarayıcı olan Chrome ile de deneyimim var. Becerilerim arasında mükemmel yazılı ve sözlü iletişim, problem çözme ve eleştirel düşünme yer alır.



Related posts