Tidak peduli bagaimana Anda secara tidak sengaja menghapus kotak surat seseorang di Exchange, Anda mungkin dapat mengembalikannya menggunakan PowerShell (PoSh). Kuncinya adalah melakukannya segera setelah Anda menyadari bahwa kotak surat telah dihapus.
Ini momen yang melegakan hati ketika kami menyadari bahwa kami telah melakukan ini secara tidak sengaja. Jika Anda hanya menghapus beberapa pesan email, kami juga dapat menunjukkan kepada Anda cara memulihkan email yang dihapus di Office 365.
Sebelum kita mulai, perhatikan bahwa ini dimaksudkan untuk memulihkan kotak surat yang dihapus di Exchange Onlineuntuk Office 365 lingkungan dan Exchange 2010. Kami juga berasumsi bahwa Anda memiliki hak administratif untuk menggunakan metode yang dijelaskan dan telah melakukan beberapa scripting PowerShell dasar.
Apa Yang Terjadi Ketika Kotak Pesan Dihapus?
Kotak surat dipindahkan ke salah satu daur ulang Azure Active Directory(AD) nampan di Exchange Online atau direktori Kotak Surat Terputusdi Exchange 2010.
Mungkin tersimpan di sana hingga 30 hari tergantung pada kebijakan penyimpanan yang ada. Itu memberi kami masa tenggang untuk mengenali kesalahan kami dan memulihkannya.
Memulihkan Kotak Pesan yang Dihapus di Exchange Online
Menyambungkan ke Exchange Online Melalui PowerShell
Di sesi lokal Anda, buka konsol Powershell dan gunakan perintah berikut untuk mengatur kredensial masuk Anda ke dalam variabel.
In_content_1 all: [300x250] / dfp: [640x360]->$userCredential
Ini membuatnya lebih mudah untuk bekerja dengan skrip lain nanti.
$userCredential = get-Credential
Sebuah jendela akan terbuka tempat Anda dapat memasukkan nama pengguna dan kata sandi Anda untuk mengelola Exchange Online.
Selanjutnya, atur tingkat kebijakan eksekusi sehingga kami benar-benar dapat melakukan hal-hal di sesi kami. Ini memungkinkan kami untuk menjalankan perintah yang tidak ditandatangani. Tetapi Anda mungkin ingin belajar juga praktik terbaik untuk menandatangani skrip PowerShell.
set-ExecutionPolicy Unrestricted
Saat diminta, tekan Yuntuk Ya.
Sekarang kita akan membuat variabel $ sesiuntuk digunakan untuk membuka koneksi antara komputer lokal dan Exchange Online.
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Powershell-liveidadalah id dari situs Office Anda. Biasanya ini adalah beberapa variasi nama perusahaan Anda.
Gunakan perintah berikut untuk membuka sesi PoSh di Exchange Online:
import-PSSession $Session -DisableNameChecking
Sekarang kami bekerja dengan PowerShell langsung di Exchange Online, meskipun kami Sedang duduk di komputer kita sendiri.
Pulihkan Kotak Pesan Dengan PowerShell
Bagian selanjutnya sangat mudah. Membuat koneksi akan membuat kita jauh lebih lama.
Yang harus kita lakukan adalah menjalankan cmdlet yang ditunjukkan di bawah ini:
undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
Ubah kedua contoh [email protected]menjadi nama kotak surat yang sesuai dan Windows LiveID dari kotak surat yang ingin kami pulihkan. Perhatikan bahwa mereka mungkin tidak sama.
Kami juga harus menetapkan kata sandi baru untuk kotak surat. Ubah kata sandi barudi skrip menjadi kata sandi pilihan Anda. Anda harus menyampaikan itu kepada pengguna dan meminta mereka untuk mengubah kata sandi mereka saat mereka masuk berikutnya.
Akhirnya, gunakan cmdlet berikutnya untuk memeriksa untuk memastikan bahwa ini berhasil.
get-Mailbox [email protected]
Jika telah dipulihkan, cmdlet akan mengembalikan informasi tentang kotak surat yang dipulihkan. Jika ia mengembalikan kesalahan, buka kembali perintah dan pastikan kotak surat yang benar dan Windows LiveID digunakan.
Jika itu masih tidak berhasil, maka kita harus mengembalikan kotak surat dari cadangan sistem. Ada banyak jenis cadangan sistem, jadi itu di luar ruang lingkup apa yang kami lakukan hari ini.
Ketika kami selesai, kami harus menutup sesi PoSh. Jumlah sesi PoSh yang kami jalankan terbatas. Membiarkannya terbuka menggunakan salah satu sesi itu. Kecuali jika kita menutupnya, kita harus menunggu sesi habis sebelum kita dapat memulai yang lain.
remove-PSSession $Session
Itu dia. Anda bahkan mungkin ingin membuat skrip ini menjadi Modul PowerShell untuk kemudahan penggunaan jika itu terjadi lagi.
Memulihkan Kotak Pesan yang Dihapus di Exchange 2010
Ini tidak t bekerja untuk lingkungan Office 365 atau hybrid. Ini hanya berfungsi untuk Exchange 2010 di tempat.
Di server email, buka Exchange Management Console(EMC).
Navigasi ke Konfigurasi Penerima>Kotak Surat Terputus. Kita harus melihat kotak surat pengguna di sana.
Jika tidak, maka proses pembersihan basis data kotak surat belum terjadi. Tidak apa-apa, kami bisa memaksanya.
Get-MailboxDatabase | Clean-MailboxDatabase
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
Periksa untuk memastikan semua pengaturan sudah benar, seperti alamat email dan alias . Jika terlihat bagus, saat berikutnya pengguna membuka Outlook mereka, semuanya akan berada di sana seperti sebelumnya.
Kotak Pesan Dipulihkan
Begitulah cara menggunakan PowerShell untuk memulihkan kotak surat di Exchange Online dan Exchange 2010. Jika Anda memiliki lingkungan hibrid, ini sedikit lebih rumit tetapi bisa dilakukan.
Hanya mengetahui bahwa ada cmdlet yang berbeda ini menempatkan Anda pada posisi yang baik untuk bekerja dengan Exchange, apa pun versi atau konfigurasinya.