コンプライアンス検索を使用して、Exchange Server内のすべてのメールボックスを検索する

Exchange Serverのコンプライアンス検索機能を使用すると、organization内のすべてのメールボックスを検索できます。 最大 10,000 個のメールボックスを検索できる電子情報開示 In-Place とは異なり、1 回の検索でターゲット メールボックスの数に制限はありません。 organization全体の検索を実行する必要があるシナリオでは、New-ComplianceSearch コマンドレットを使用してすべてのメールボックスを検索できます。 その後、In-Place 電子情報開示のワークフロー機能を使用して、メールボックスの保留や検索結果のエクスポートなど、電子情報開示に関連するその他のタスクを実行できます。 たとえば、訴訟に対応する特定のカストディアンを特定するために、すべてのメールボックスを検索する必要があるとします。 New-ComplianceSearch コマンドレットを使用して、organization内のすべてのメールボックスを検索して、ケースに対応するメールボックスを特定できます。 その後、そのカストディアン メールボックスの一覧を、In-Place 電子情報開示のソース メールボックスとして使用できます。 In-Place 電子情報開示を使用すると、これらのソース メールボックスを保留にしたり、検索結果を探索メールボックスにコピーしたり、検索結果をエクスポートしたりすることもできます。

このトピックに含まれるスクリプトを実行すると、 New-ComplianceSearch コマンドレットを実行して作成されるコンプライアンス検索のソース メールボックス リストと検索クエリを使用して、インプレース電子情報開示検索を作成できます。

手順 1: New-ComplianceSearch コマンドレットを実行してすべてのメールボックスを検索する

最初の手順として、Exchange 管理シェル を使用して、組織内のすべてのメールボックスを検索するコンプライアンス検索を作成します。 1 回のコンプライアンス検索で対象とするメールボックス数に制限はありません。 適切なキーワード クエリ (または機密情報の種類に関するクエリ) を指定し、検索によって対象に関連する検索メールボックスだけが返されるようにします。 必要に応じて、検索クエリを調整し、返される検索結果とソース メールボックスの範囲を絞り込みます。

注:

ソース コンプライアンス検索で結果が返らないと、手順 3 のスクリプトを実行してもインプレース電子情報開示は作成されません。 検索クエリを修正し、コンプライアンス検索を再実行して検索結果を取得することが必要になる場合があります。

New-ComplianceSearch コマンドレットを使用して組織のすべてのメールボックスを検索する例を示します。 この検索クエリからは、2015 年 10 月 1 日から 2015 年 10 月 31 日までの間に送信されて、件名行に "financial report" という語句が含まれる、すべてのメッセージが返ります。 1 番目のコマンドは検索を作成し、2 番目のコマンドは検索を実行します。

New-ComplianceSearch -Name "Search All-Financial Report" -ExchangeLocation all -ContentMatchQuery 'sent>=01/01/2015 AND sent<=06/30/2015 AND subject:"financial report"'
Start-ComplianceSearch -Identity "Search All-Financial Report"

詳細については、「New-ComplianceSearch」を参照してください。

Important

New-ComplianceSearch コマンドレットを使用してコンプライアンス検索を作成すると、電子情報開示検索 In-Place シャドウが作成され (開始されていません)、Exchange 管理センター (EAC) のインプレース電子情報開示 & 保留ページに表示されます。 It's also returned by using the Get-MailboxSearch cmdlet. このメールボックス検索の名前は ComplianceSearchName -shadow です。 We recommend that you delete the shadow In-Place eDiscovery search, and use the script in Step 3 to create the In-Place eDiscovery search. The functionality of creating a shadow search will be removed in a cumulative update for Exchange 2016.

コンプライアンス検索では、検索結果を含むソース メールボックスが最大で 500 個返されます。 検索クエリと一致するコンテンツが含まれるメールボックスの数が 500 を超える場合は、検索結果が多い方から 500 個のメールボックスのみが、前の手順で作成したコンプライアンス検索に含まれます。 したがって、500 個より多くのメールボックスに検索結果が含まれる場合、一部のメールボックスは、手順 3 で作成された新しいインプレースの電子情報開示検索にコピーされるソース メールボックスのリストに含まされません。

500 個以下のソース メールボックスのコンプライアンス検索を作成するため、手順 1 で作成したコンプライアンス検索によって返される (検索結果を含む) ソース メールボックスの数を表示するスクリプトを手順に従って実行します。

  1. ファイル拡張子 .ps1 の Windows PowerShell スクリプト ファイルに以下のテキストを保存します。 たとえば、SourceMailboxes.ps1 などという名前のファイルに保存します。

    [CmdletBinding()]
    Param(
         [Parameter(Mandatory=$True,Position=1)]
         [string]$SearchName
    )
    $search = Get-ComplianceSearch $SearchName
    if ($search.Status -ne "Completed")
    {
                    "Please wait until the search finishes.";
                    break;
    }
    $results = $search.SuccessResults;
    if (($search.Items -le 0) -or ([string]::IsNullOrWhiteSpace($results)))
    {
                    "The compliance search " + $SearchName + " didn't return any useful results.";
                    break;
    }
    $mailboxes = @();
    $lines = $results -split '[\r\n]+';
    foreach ($line in $lines)
    {
        if ($line -match 'Location: (\S+),.+Item count: (\d+)' -and $matches[2] -gt 0)
        {
            $mailboxes += $matches[1];
        }
    }
    "Number of mailboxes that have search hits: " + $mailboxes.Count
    
  2. Exchange 管理シェル で、前のステップで作成したスクリプトの入ったフォルダーに移動して、スクリプトを実行します。たとえば、次のように入力します。

    .\SourceMailboxes.ps1
    
  3. スクリプトによってメッセージが表示されたら、手順 1 で作成したコンプライアンス検索の名前を入力します。

    スクリプトで検索結果が含まれるソース メールボックスの数が表示されます。

500 個より多くのソース メールボックスがある場合は、2 つ以上のコンプライアンス検索を作成します。 たとえば、1 つのコンプライアンス検索で組織のメールボックスの半分を検索し、もう 1 つのコンプライアンス検索で残りの半分を検索します。 検索結果が含まれるメールボックスの数が減るように検索条件を変更することもできます。 たとえば、日付範囲を指定したり、キーワード クエリを調整したりします。

次に、既存のコンプライアンス検索をインプレースの電子情報開示検索に変換するスクリプトを実行します。 スクリプトは次の処理を行います。

  • 変換するコンプライアンス検索の名前の入力をユーザーに求めます。

  • コンプライアンス検索の実行が完了したことを確認します。 コンプライアンス検索が何も結果を返さず、インプレースの電子情報開示検索が作成されない場合、

  • 検索結果を含むコンプライアンス検索に基づくソース メールボックスの一覧を変数に保存します。

  • 以下のプロパティが設定されたインプレースの電子情報開示検索を新たに作成します。 新しい検索が開始されていないことに注目してください。 手順 4 で開始します。

    • 名前: 新しい検索の名前では、コンプライアンス検索>の名前_MBSearch1という形式が使用されます<。 スクリプトをもう一度実行し、同じソース コンプライアンス検索を使用する場合、検索の名前<は [コンプライアンス検索>の名前_MBSearch2。

    • ソース メールボックス: 検索結果を含むコンプライアンス検索のすべてのメールボックス。

    • 検索クエリ: 新しい検索では、コンプライアンス検索の検索クエリが使用されます。 コンプライアンス検索にすべてのコンテンツ (検索クエリが空白の場合) が含まれると、新しい検索にも空白の検索クエリが含まれ、ソース メールボックス内のすべてのコンテンツが入ります。

    • 見積もり専用検索: 新しい検索は見積もり専用検索としてマークされます。 開始した後、検索結果は探索メールボックスにコピーされません。

  1. ファイル拡張子 ps1 の Windows PowerShell スクリプト ファイルに以下のテキストを保存します。 たとえば、MBSearchFromComplianceSearch.ps1 などという名前のファイルに保存します。

    [CmdletBinding()]
    Param(
        [Parameter(Mandatory=$True,Position=1)]
        [string]$SearchName,
        [switch]$original,
        [switch]$restoreOriginal
    )
    $search = Get-ComplianceSearch $SearchName
    if ($search.Status -ne "Completed")
    {
       "Please wait until the search finishes";
       break;
    }
    $results = $search.SuccessResults;
    if (($search.Items -le 0) -or ([string]::IsNullOrWhiteSpace($results)))
    {
       "The compliance search " + $SearchName + " didn't return any useful results";
       "A mailbox search object wasn't created";
       break;
    }
    $mailboxes = @();
    $lines = $results -split '[\r\n]+';
    foreach ($line in $lines)
    {
        if ($line -match 'Location: (\S+),.+Item count: (\d+)' -and $matches[2] -gt 0)
        {
            $mailboxes += $matches[1];
        }
    }
    $msPrefix = $SearchName + "_MBSearch";
    $I = 1;
    $mbSearches = Get-MailboxSearch;
    while ($true)
    {
        $found = $false;
        $mbsName = "$msPrefix$I";
        foreach ($mbs in $mbSearches)
        {
            if ($mbs.Name -eq $mbsName)
            {
                $found = $true;
                break;
            }
        }
        if (!$found)
        {
            break;
        }
        $I++;
    }
    $query = $search.KeywordQuery;
    if ([string]::IsNullOrWhiteSpace($query))
    {
        $query = $search.ContentMatchQuery;
    }
    if ([string]::IsNullOrWhiteSpace($query))
    {
       New-MailboxSearch "$msPrefix$i" -SourceMailboxes $mailboxes -EstimateOnly;
    }
    else
    {
       New-MailboxSearch "$msPrefix$i" -SourceMailboxes $mailboxes -SearchQuery $query -EstimateOnly;
    }
    
  2. Exchange 管理シェル で、前のステップで作成したスクリプトの入ったフォルダーに移動して、スクリプトを実行します。たとえば、次のように入力します。

    .\MBSearchFromComplianceSearch.ps1
    
  3. スクリプトのメッセージが表示されたら、インプレースの電子情報開示検索 (たとえば、手順 1 で作成した検索) に変換するコンプライアンス検索の名前を入力して、 Enter キーを押します。

    スクリプトが正常に実行されると、新しいインプレースの電子情報開示検索が NotStarted というステータスで作成されます。 コマンド Get-MailboxSearch <Name of compliance search>_MBSearch1 | FL を実行して、新しい検索のプロパティを表示します。

手順 3 で実行したスクリプトでは新しいインプレースの電子情報開示検索が作成されますが、検索は開始しません。 この手順では、検索を開始して検索結果の推定値を取得します。

  1. Exchange 管理センター (EAC) で、[ コンプライアンス管理>] [インプレース電子情報開示] & [保留] に移動します。

  2. リスト表示から、手順 3 で作成したインプレースの電子情報開示検索を選択します。

  3. [ 検索 ] (検索アイコン) をクリックします。 >検索結果を見積も って検索を開始し、検索によって返されたアイテムの合計サイズと数の見積もりを返します。

    推定は、詳細ウィンドウに表示されます。 [ 更新 ] (更新アイコン.) をクリックして、詳細ウィンドウに表示される情報を更新します。

  4. 検索が完了した後で結果をプレビューするには、詳細ウィンドウで [ 検索結果のプレビュー] をクリックします。

ヒント

または、Exchange 管理シェルを使用して、In-Place 電子情報開示検索を開始することもできます。たとえば Start-MailboxSearch -Identity <Name of compliance search>_MBSearch1、 です。

手順 3 でスクリプトによって作成されたインプレースの電子情報開示検索を開始した後は、通常のインプレースの電子情報開示ワークフローを使用して、検索結果で各種の電子情報開示アクションを実行できます。

インプレース保持を作成する

  1. EAC で、[ コンプライアンス管理>] [インプレース電子情報開示] & [保留] に移動します。

  2. リスト ビューで、手順 3 で作成した In-Place 電子情報開示検索を選択し、[ 編集 ] (編集アイコン.) をクリックします。

  3. [ インプレース保持] ページで、[ 選択したメールボックス内の検索クエリに一致したコンテンツを保持する] チェック ボックスをオンにして、次のいずれかのオプションを選択します。

    • [無期限に保留]: このオプションを選択すると、検索によって返されたアイテムが無期限の保留に配置されます。 保持されたアイテムは、検索からメールボックスを削除するか、検索を削除するまで保持されます。

    • 受け取った日付を基準としてアイテムを保持する日数を指定する: 特定の期間のアイテムを保持するには、このオプションを選択します。 期間は、メールボックス アイテムが受信または作成された日から計算されます。

  4. [保存] をクリックしてインプレース保持を作成し、検索を再開します。

検索結果をコピーする

  1. EAC で、[ コンプライアンス管理>] [インプレース電子情報開示] & [保留] に移動します。

  2. リスト表示から、手順 3 で作成したインプレースの電子情報開示検索を選択します。

  3. [ 検索 ] (検索アイコン.) をクリックし、ドロップダウン リストから [ 検索結果のコピー ] をクリックします。

  4. [検索結果のコピー] で、次のオプションの中から選択します。

    • 検索できないアイテムを含める: 検索できなかったメールボックス アイテム (Exchange Search でインデックスを作成できなかったファイルの種類の添付ファイルを含むメッセージなど) を含める場合は、このチェック ボックスを選択します。

    • 重複除去を有効にする: 重複するメッセージを除外するには、このチェック ボックスを選択します。 探索メールボックスには、メッセージの 1 つのインスタンスだけがコピーされます。

    • [完全なログ記録を有効にする]: 検索結果に完全なログを含める場合は、このチェック ボックスを選択します。

    • コピーが完了したらメールを送信する: 検索が完了したときに電子メール通知を受け取るには、このチェックボックスを選択します。

    • [この検出メールボックスに結果をコピーする]: [ 参照 ] をクリックして、検索結果のコピー先となる探索メールボックスを選択します。

  5. [コピー] をクリックして検索結果を指定された探索メールボックスにコピーするプロセスを開始します。

  6. [ 更新 ] (更新アイコン.) をクリックして、詳細ウィンドウに表示されるコピー状態に関する情報を更新します。

  7. コピーが完了したら、[開く] をクリックして、検索結果を表示する探索メールボックスを開きます。

検索結果をエクスポートする

  1. EAC で、[ コンプライアンス管理>] [インプレース電子情報開示] & [保留] に移動します。

  2. 一覧表示から、手順 3 で作成したインプレースの電子情報開示検索を選択し、[ PST ファイルにエクスポートする] をクリックします。

  3. リスト表示で、結果をエクスポートするインプレース電子情報開示検索を選択してから、[ PST ファイルにエクスポートする] をクリックします。

  4. [ Exchange eDiscovery PST エクスポート ツール] ウィンドウで、次の操作を行います。

    • [ 参照] をクリックして、PST ファイルをダウンロードする場所を指定します。

    • [ 重複除去を有効にする] ボックスをクリックして重複メッセージを除外します。 PST ファイルには、メッセージのインスタンスが 1 つだけ含まれます。

    • [ 検索不能アイテムを含める] チェック ボックスをオンにすると、検索できなかったメールボックス アイテム (たとえば、Exchange 検索でインデックスが作成できなかった種類のファイルが添付されたメッセージ) が含まれます。 検索できないアイテムは、別の PST ファイルにエクスポートされます。

  5. [ 開始] をクリックして、検索結果を PST ファイルにエクスポートします。

    エクスポート プロセスに関するステータス情報が含まれているウィンドウが表示されます。