使用合規性搜尋來搜尋 Exchange Server 中的所有信箱

Exchange Server 中的合規性搜尋功能可讓您搜尋組織中的所有信箱。 不同於 In-Place 可搜尋最多 10,000 個信箱的電子檔探索,單一搜尋中的目標信箱數目沒有任何限制。 針對需要您執行全組織搜尋的案例,您可以使用 New-ComplianceSearch Cmdlet 來搜尋所有信箱。 然後,您可以使用 In-Place 電子檔探索的工作流程功能來執行其他電子檔探索相關工作,例如保留信箱和導出搜尋結果。 例如,假設您必須搜尋所有信箱以識別回應法律案件的特定監管人。 您可以使用 New-ComplianceSearch Cmdlet 來搜尋組織中的所有信箱,以識別回應案例的信箱。 然後,您可以使用該監管人信箱清單作為 In-Place 電子檔探索的來源信箱。 使用 In-Place 電子檔探索也可讓您保留這些來源信箱、將搜尋結果複製到探索信箱,以及導出搜尋結果。

本主題包含一個腳本,您可以使用來源信箱清單和透過執行 New-ComplianceSearch Cmdlet 所建立之合規性搜尋的搜尋查詢,來執行以建立 In-Place 電子檔探索搜尋。

步驟 1:執行 New-ComplianceSearch Cmdlet 來搜尋所有信箱

第一個步驟是使用 Exchange 管理命令介面來建立合規性搜尋,以搜尋組織中的所有信箱。 單一合規性搜尋的信箱數目沒有限制。 指定適當的關鍵字查詢 (或敏感資訊類型的查詢),讓搜尋僅傳回與調查有關的來源信箱。 如有必要,縮小搜尋查詢以縮小搜尋結果的範圍和傳回的來源信箱。

注意事項

如果來源合規性搜尋未傳回任何結果,當您在步驟 3 中執行腳本時,將不會建立 In-Place 電子檔探索。 您可能必須修改搜尋查詢,然後重新執行合規性搜尋以傳回搜尋結果。

以下是使用 New-ComplianceSearch Cmdlet 來搜尋組織中所有信箱的範例。 搜尋查詢會傳回 2015 年 10 月 1 日到 2015 年 10 月 31 日之間傳送的所有訊息,以及主旨行中包含「財務報表」一詞的所有訊息。 第一個命令會建立搜尋,第二個命令會執行搜尋。

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

重要事項

當您使用 New-ComplianceSearch Cmdlet 建立合規性搜尋時,會在 (建立陰影 In-Place 電子檔探索搜尋,但不會啟動) ,並顯示在 Exchange 系統管理中心的 [ 就地電子檔探索 & 保留 ] 頁面 (EAC) 中。 它也會使用 Get-MailboxSearch Cmdlet 傳回。 此信箱搜尋名為 ComplianceSearchName -shadow。 建議您刪除陰影 In-Place 電子檔探索搜尋,並使用步驟 3 中的腳本來建立 In-Place 電子檔探索搜尋。 在 Exchange 2016 的累積更新中,將會移除建立陰影搜尋的功能。

合規性搜尋會傳回最多 500 個包含搜尋結果的來源信箱。 如果有超過 500 個信箱包含符合搜尋查詢的內容,您在上一個步驟中建立的合規性搜尋中只會包含搜尋結果最多的前 500 個信箱。 因此,如果超過 500 個信箱包含搜尋結果,則其中有些信箱不會包含在複製到步驟 3 中建立的新 In-Place 電子檔探索搜尋的來源信箱清單中。

若要協助您建立不超過 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 個來源信箱,請嘗試建立兩個 (或多個) 合規性搜尋。 例如,在一個合規性搜尋中搜尋一半的組織信箱,在另一個合規性搜尋中搜尋另一半。 您也可以變更搜尋準則來減少包含搜尋結果的信箱數目。 例如,您可以指定日期範圍或精簡關鍵字查詢。

下一個步驟是執行腳本,將現有的合規性搜尋轉換成 In-Place 電子檔探索搜尋。 以下是指令碼執行的動作:

  • 提示您輸入要轉換的合規性搜尋名稱。

  • 確認合規性搜尋已完成執行。 如果合規性搜尋未傳回任何結果,且 In-Place 將不會建立電子檔探索。

  • 將包含搜尋結果的合規性搜尋中的來源信箱清單儲存至變數。

  • 建立新的就地 eDiscovery 搜尋,具有下列屬性。 請注意,並未啟動新的搜尋。 您將在步驟 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. 當腳本出現提示時,輸入您想要遮蔽至 In-Place 電子檔探索搜尋的合規性搜尋名稱 (例如,您在步驟 1 中建立的搜尋) ,然後按 Enter

    如果指令碼狀態為成功,會建立新的就地 eDiscovery 搜尋,狀態為 NotStarted。 執行 命令 Get-MailboxSearch <Name of compliance search>_MBSearch1 | FL 以顯示新搜尋的屬性。

您在步驟 3 中執行的指令碼會建立新的就地 eDiscovery 搜尋,但不會啟動。 下一個步驟是啟動搜尋,讓您取得搜尋結果的預估。

  1. 在 Exchange 系統管理中心 (EAC) 中,移至合規性管理>就地電子檔探索 & 保留。

  2. 在清單檢視中,選取您在步驟 3 中建立的就地 eDiscovery 搜尋。

  3. 單擊 [搜尋 (搜尋] 圖示。) >[估計搜尋結果 ] 以開始搜尋,並傳回搜尋所傳回之總大小和專案數的估計值。

    估計結果會顯示在詳細資料窗格中。 按兩下 [重新整理 (重新整理] 圖示。) 更新詳細資料窗格中顯示的資訊。

  4. 若要在搜尋完成之後預覽結果,按一下詳細資料窗格中的 [預覽搜尋結果]

提示

或者,您可以使用 Exchange 管理命令介面來啟動 In-Place 電子檔探索搜尋;例如 Start-MailboxSearch -Identity <Name of compliance search>_MBSearch1

建立並啟動步驟 3 中的指令碼建立的就地 eDiscovery 搜尋之後,您可以使用一般的就地 eDiscovery 工作流程在搜尋結果上執行不同的 eDiscovery 動作。

建立就地保留

  1. 在 EAC 中,移至合規性管理>就地電子檔探索 & 保留。

  2. 在清單檢視中,選取您在步驟 3 中建立的 In-Place 電子檔探索搜尋,然後按兩下 [編輯 (編輯] 圖示。) 。

  3. 在 [就地保留設定] 頁面上,勾選 [將符合搜尋查詢的內容放入保留的所選信箱] 核取方塊,然後選擇下列其中一個選項:

    • 無限期保留:選擇此選項可將搜尋所傳回的專案置於無限期保留。 除非您從搜尋中移除信箱或移除搜尋,否則保留的項目會一直保存下來。

    • 指定保留專案相對於其接收日期的天數:選擇此選項可保留特定期間的專案。 持續時間自接收或建立信箱項目的日期開始計算。

  4. 按一下 [儲存] 以建立就地保留並重新啟動搜尋。

複製搜尋結果

  1. 在 EAC 中,移至合規性管理>就地電子檔探索 & 保留。

  2. 在清單檢視中,選取您在步驟 3 中建立的就地 eDiscovery 搜尋。

  3. 按兩下 [搜尋 (搜尋] 圖示。) ],然後按下拉式清單中的 [ 複製搜尋結果 ]。

  4. 在 [複製搜尋結果] 中,從下列選項選取:

    • 包含無法搜尋的專案:選取此複選框可包含無法搜尋的信箱專案 (例如,具有無法由 Exchange 搜尋服務索引的檔類型附件的郵件) 。

    • 啟用重複資料刪除:選取此複選框可排除重複的訊息。 只會將郵件的單一實例複製到探索信箱。

    • 啟用完整記錄:選取此複選框可在搜尋結果中包含完整記錄。

    • 複製完成時傳送郵件給我:選取此複選框可在搜尋完成時取得電子郵件通知。

    • 將結果複製到此探索信箱:按下 [瀏覽 ] 以選取您想要複製搜尋結果的探索信箱。

  5. 按一下 [複製] 以開始程序來將搜尋結果複製到指定的探索信箱。

  6. 按兩下 [重新整理 (重新整理] 圖示。) 更新詳細資料窗格中顯示之複製狀態的相關信息。

  7. 複製完成時,按一下 [開啟] 以開啟要檢視搜尋結果的探索信箱。

匯出搜尋結果

  1. 在 EAC 中,移至合規性管理>就地電子檔探索 & 保留。

  2. 在清單檢視中,選取您在步驟 3 中建立的就地 eDiscovery 搜尋,然後按一下 [匯出為 PST 檔案]

  3. 在清單檢視中,選取您要匯出其結果的就地 eDiscovery 搜尋,然後按一下 [匯出成 PST 檔案]

  4. 在 [eDiscovery PST 匯出工具] 視窗中,執行下列作業:

    • Click Browse to specify the location where you want to download the PST file.

    • Click the Enable deduplication checkbox to exclude duplicate messages. Only a single instance of a message will be included in the PST file.

    • Click the Include unsearchable items checkbox to include mailbox items that couldn't be searched (for example, messages with attachments of file types that couldn't be indexed by Exchange Search). 無法搜尋的項目會被匯出成個別的 PST 檔案。

  5. 按一下 [開始] 來將搜尋結果匯出成 PST 檔案。

    包含匯出程序狀態資訊的視窗便會隨即顯示。