Как бы вы случайно не удалили почтовый ящик человека в Exchange, скорее всего, вы сможете восстановить его с помощью PowerShell (PoSh). Главное — сделать это, как только вы поймете, что почтовый ящик был удален.
Когда мы понимаем, что сделали это случайно, у меня перехватывает сердце. Если вы удалили только несколько сообщений электронной почты, мы также можем показать вам как восстановить удаленные электронные письма в Office 365.
Прежде чем мы начнем, обратите внимание, что это предназначено для восстановления удаленных почтовых ящиков в Exchange Online для среды Office 365 и Exchange 2010 . Мы также предполагаем, что у вас есть административные права на использование описанных методов и вы выполнили некоторые действия базовые сценарии PowerShell.
Что происходит, когда почтовый ящик удаляется?
Почтовый ящик перемещается либо в корзину Azure Active Directory (AD) в Exchange Online, либо в каталог Отключенные почтовые ящики в Exchange 2010.
Он может храниться там до 30 дней в зависимости от действующих политик хранения. Это дает нам период отсрочки, чтобы признать свою ошибку и исправить ее.
Восстановить удаленный почтовый ящик в Exchange Online
Подключение к Exchange Online через PowerShell
В локальном сеансе откройте консоль Powershell и используйте следующую команду, чтобы указать свои учетные данные для входа в переменную.
$userCredential
Это облегчит последующую работу с другими скриптами.
$userCredential = get-Credential
Откроется окно, в котором вы сможете ввести имя пользователя и пароль для управления Exchange Online.
Затем установите уровень политики выполнения, чтобы мы могли действительно что-то делать в нашем сеансе. Это позволяет нам запускать наши неподписанные команды. Но вы, возможно, захотите выучить и лучшие практики для подписания сценариев PowerShell.
set-ExecutionPolicy Unrestricted
При появлении запроса нажмите Y , чтобы ответить «Да».
Теперь мы создадим переменную $session , которая будет использоваться для открытия соединения между локальным компьютером и Exchange Online.
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $userCredential -Authentication Basic -AllowRedirection
Powershell-liveid — это идентификатор вашего сайта Office. Обычно это какой-то вариант названия вашей компании.
Используйте следующую команду, чтобы открыть сеанс PoSh в Exchange Online:.
import-PSSession $Session -DisableNameChecking
Теперь мы работаем с PowerShell прямо в Exchange Online, даже если сидим за своим компьютером.
Восстановить почтовый ящик с помощью PowerShell
Следующая часть очень проста. Установление связи заняло у нас гораздо больше времени.
Все, что нам нужно сделать, это запустить командлет, показанный ниже:
undo-SoftDeletedMailbox [email protected] -WindowsLiveID [email protected] -Password (ConvertTo-SecureString -String 'newpassword' -AsPlainText -Force)
Измените оба экземпляра [email protected] на соответствующее имя почтового ящика и Windows LiveID почтового ящика, который мы хотим восстановить. Обратите внимание, что они могут не совпадать.
Нам также необходимо установить новый пароль для почтового ящика. Измените newpassword в скрипте на пароль по вашему выбору. Вам нужно будет передать это пользователю и попросить его сменить пароль при следующем входе в систему.
Наконец, используйте следующий командлет, чтобы убедиться, что это работает.
get-Mailbox [email protected]
Если он был восстановлен, командлет вернет информацию о восстановленном почтовом ящике. Если он возвращает ошибку, выполните команды еще раз и убедитесь, что используются правильный почтовый ящик и Windows LiveID.
Если это по-прежнему не помогает, нам необходимо восстановить почтовый ящик из резервной копии системы. Существует множество типов резервного копирования системы, поэтому это выходит за рамки того, что мы делаем сегодня.
Когда мы закончим, мы должны закрыть сеанс PoSh. Количество проводимых нами PoSh-сессий ограничено. Если оставить его открытым, используется один из этих сеансов. Если мы не закроем его, нам придется дождаться истечения времени ожидания сеанса, прежде чем мы сможем начать новый.
remove-PSSession $Session
Вот и все. Возможно, вы даже захотите записать это в модуль PowerShell для удобства использования, если это произойдет снова.
Восстановить удаленный почтовый ящик в Exchange 2010
Это не работает для Office 365 или гибридных сред. Он работает только для локальной версии Exchange 2010.
На почтовом сервере откройте Консоль управления Exchange (EMC).
Перейдите к Конфигурации получателей >Отключенный почтовый ящик . Мы должны увидеть там почтовый ящик пользователя.
Если этого не сделать, значит, процесс очистки базы данных почтовых ящиков еще не произошел. Ничего страшного, мы можем заставить его.
Get-MailboxDatabase | Clean-MailboxDatabase
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
Проверьте его, чтобы убедиться, что все настройки верны, например адрес электронной почты и псевдоним. Если все выглядит хорошо, в следующий раз, когда пользователь откроет Outlook, все будет как прежде.
Почтовый ящик восстановлен
Вот как использовать PowerShell для восстановления почтовых ящиков в Exchange Online и Exchange 2010. Если у вас гибридная среда, это немного сложнее, но это можно сделать.
Одно знание о существовании этих разных командлетов дает вам возможность работать с Exchange независимо от его версии или конфигурации.