PowerShellを使用して削除されたメールボックスを復元する方法

Exchangeでユーザーのメールボックスを誤って削除した場合でも、 PowerShellPoSh )を使用して復元できる可能性があります。重要なのは、メールボックスが削除されたことに気づいたらすぐにそれを行うことです。 

私たちが誤ってこれを行ったことに気付いたとき、それは私の喉に飛び込んだ瞬間です。いくつかの電子メールメッセージを削除しただけの場合は、Office365で削除された電子メールを復元する方法(how to recover deleted emails in Office 365)も紹介できます。

始める前に、これはOffice365環境およびExchange2010の(Exchange 2010)ExchangeOnlineで削除されたメールボックスを復元するためのものであることに注意してください。また、説明されているメソッドを使用するための管理者権限があり、いくつかの基本的なPowerShellスクリプト(basic PowerShell scripting)を実行していることを前提としています。 

メールボックスが削除されるとどうなりますか?(What Happens When a Mailbox Is Deleted?)

メールボックスは、 ExchangeOnlineのAzureActive (Exchange Online)Directory(Azure Active Directory )(AD)ごみ箱またはExchange2010の切断されたメールボックス(Disconnected Mailboxes )ディレクトリのいずれかに移動されます。

実施されている保持ポリシーによっては、最大30日間そこに留まる場合があります。それは私たちに私たちの過ちを認識し、それから回復するための猶予期間を与えます。

ExchangeOnlineで削除されたメールボックスを復元する(Restore a Deleted Mailbox In Exchange Online)

PowerShellを介してExchangeOnlineに接続する(Connect To Exchange Online Via PowerShell)

ローカルセッションで、Powershellコンソールを開き、次のコマンドを使用してログイン資格情報を変数に設定します。

$userCredential

これにより、後で他のスクリプトを簡単に操作できるようになります。

$userCredential = get-Credential

ExchangeOnlineを管理するためのユーザー名とパスワードを入力できるウィンドウが開きます。

次に、セッションで実際に実行できるように、実行ポリシーレベルを設定します。これにより、署名されていないコマンドを実行できます。ただし、PowerShellスクリプトに署名するためのベストプラクティス(best practices for signing PowerShell scripts)も学習することをお勧めします。

set-ExecutionPolicy Unrestricted

プロンプトが表示されたら、 Y(Y)を押して[はい]を選択します。

次に、ローカルコンピューターとExchangeOnline(Exchange Online)間の接続を開くために使用する変数$sessionを作成します。

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

Powershell-liveidは、OfficeサイトのIDです。通常、これは会社名のバリエーションです。 

次のコマンドを使用して、ExchangeOnlineで(Exchange Online)PoShセッションを開きます。

import-PSSession $Session -DisableNameChecking

現在、自分のコンピューターの前に座っていても、ExchangeOnlineで(Exchange Online)PowerShellを直接操作しています。

PowerShellを使用して削除されたメールボックスを復元する(Restore a Deleted Mailbox With PowerShell)

次の部分はとても簡単です。接続するのにはるかに時間がかかります。 

以下に示すコマンドレットを実行するだけです。

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

[email protected]の両方のインスタンスを、復元するメールボックスの適切なメールボックス名とWindowsLiveIDに変更(Windows LiveID)します。それらは同じではない可能性があることに注意してください。 

また、メールボックスに新しいパスワードを設定する必要があります。スクリプトのnewpassword(newpassword)を選択したパスワードに変更します。これをユーザーに伝え、次にログインするときにパスワードを変更するようにユーザーに依頼する必要があります。

最後に、次のコマンドレットを使用して、これが機能することを確認します。 

get-Mailbox [email protected]

復元されている場合、コマンドレットは復元されたメールボックスに関する情報を返します。エラーが返された場合は、コマンドをもう一度実行して、正しいメールボックスとWindowsLiveIDが使用されていることを確認してください。 

それでも機能しない場合は、システムバックアップからメールボックスを復元する必要があります。システムバックアップには多くの種類があるため、現在行っている範囲を超えています。

完了したら、 PoSh(PoSh)セッションを閉じる必要があります。実行しているPoSh(PoSh)セッションの数は限られています。開いたままにしておくと、それらのセッションの1つが使用されます。それを閉じない限り、別のセッションを開始する前に、セッションがタイムアウトするのを待つ必要があります。

remove-PSSession $Session

それでおしまい。再度発生した場合に使いやすくするために、これをPowerShellモジュール(PowerShell Module)にスクリプト化することもできます。

Exchange2010で削除されたメールボックスを復元する(Restore a Deleted Mailbox In Exchange 2010)

これは、 Office365(Office 365)またはハイブリッド環境では機能しません。オンプレミス のExchange2010でのみ機能します。

メールサーバーで、Exchange管理コンソール(Exchange Management Console )(EMC)を開きます。 

[受信者の構成](Recipient Configuration ) >[切断されたメールボックス](Disconnected Mailbox)に移動します。そこにユーザーのメールボックスが表示されます。 

そうでない場合、メールボックスデータベースのクリーニングプロセスはまだ実行されていません。それは大丈夫です、私たちはそれを強制することができます。

  • 管理者としてExchange管理シェル(Exchange Management Shell )EMS)を開きます。ここで、 Exchange固有のPowerShell(Exchange-specific PowerShell)作業を実行できます。
  • 次に、コマンドレットを入力します。 
Get-MailboxDatabase | Clean-MailboxDatabase

  • それが完了したら、EMCに戻り、[(EMC)切断されたメールボックス(Disconnected Mailbox)]を右クリックして、[更新(Refresh)]をクリックします。 
  • そこにメールボックスが表示されるはずです。これは、最近削除された別のメールボックスと一緒です。

  • EMSに戻り、コマンドレットを入力し ます。
Connect-Mailbox -Identity "username" -Database "Mailbox Database" -User "username"
  • ユーザー(Username)名は、そのユーザーのWindowsアカウント名(テストユーザー(Test User)など)(,)あり、メールボックスデータベース(Mailbox Database)は、 EMC の[切断されたメールボックス(Disconnected Mailbox)]ウィンドウで名前の横に表示されるデータベースの名前です。
  • 切断されたメールボックス(Disconnected Mailbox)を更新すると、メールボックスがそこに表示されなくなっていることがわかります。[受信者の構成](Recipient Configuration ) >[メールボックス](Mailbox )に移動し、ユーザーのメールボックスがそこにあることを確認します。

メールアドレスやエイリアスなど、すべての設定が正しいことを確認してください。見栄えが良ければ、次にユーザーがOutlookを開いたときに、すべてがそのまま表示されます。

メールボックスが復元されました(Mailbox Restored)

これが、PowerShellを使用して(PowerShell)ExchangeOnlineおよびExchange2010でメールボックスを復元する方法です。ハイブリッド環境を使用している場合は、もう少し複雑ですが、実行できます。 

これらの異なるコマンドレットが存在することを知っているだけで、バージョンや構成に関係なく、 Exchangeを操作するのに適した立場になります。(Exchange)



About the author

私はオーディオとユーザー アカウントの分野で長年働いてきた技術者です。Windows と Mac の両方のコンピューター、およびアップル製品の経験があります。また、2007 年からは Apple 製品の使い方についても教えています。主な専門分野は、ユーザー アカウントと家族の安全です。これに加えて、Windows 7 Home Premium、8.1 Pro、10 Pro、12.9 Mojave など、さまざまなソフトウェア プログラムの経験があります。



Related posts