Erstellen, Ausführen von Berichten und Löschen mehrerer Inhaltssuchen

Die schnelle Erstellung und Berichterstellung für eDiscovery-Suchvorgänge ist häufig ein wichtiger Schritt bei eDiscovery und Untersuchungen, wenn Sie Informationen zu den zugrunde liegenden Daten sowie zum Umfang und zur Qualität der Suchergebnisse erhalten möchten. Um Sie dabei zu unterstützen, bietet das Office 365 Security & Compliance Center eine Reihe von Windows PowerShell-Cmdlets, um zeitaufwändige Aufgaben bei der Inhaltssuche zu automatisieren. Diese Skripts bieten eine schnelle und einfache Möglichkeit, um eine Reihe von Suchvorgängen zu erstellen. Anschließend werden Berichte zu den geschätzten Suchergebnissen erstellt, die Ihnen beim Ermitteln der Menge an in Frage stehenden Daten helfen können. Mithilfe dieser Skripts können Sie auch verschiedene Versionen von Suchvorgängen erstellen, um die jeweils erzeugten Ergebnisse zu vergleichen. Diese Skripts können Ihnen dabei helfen, Ihre Daten schnell und effizient zu identifizieren und zu filtern.

Dieses Thema enthält Skripts, mit denen Sie Suchvorgänge erstellen, starten und zugehörige Berichte erstellen sowie mehrfache Suchvorgänge löschen können. Hier folgt eine Übersicht über den Prozess:

Schritt 1: Erstellen einer CSV-Datei, die Informationen zu den auszuführenden Suchvorgängen enthält

Schritt 2: Herstellen einer Verbindung zum Security & Compliance Center mithilfe von Remote-PowerShell

Schritt 3: Ausführen des Skripts zum Erstellen und Starten der Suchvorgänge

Schritt 4: Ausführen des Skripts zum Erstellen eines Berichts für die Schätzwerte der Suche

Schritt 5: Ausführen des Skripts zum Löschen der Suchvorgänge

Vorbemerkung

  • Sie müssen Mitglied der Rollengruppe "eDiscovery-Manager" im Security & Compliance Center sein, um die in diesem Thema beschriebenen Skripts ausführen zu können.

  • Verwenden Sie das Skript in Schritt 2 unter Zuweisen von eDiscovery-Berechtigungen für OneDrive for Business-Websites, um eine Liste der URLs für die OneDrive for Business-Websites in Ihrem Unternehmen zu erfassen, die Sie zur CSV-Datei in Schritt 1 hinzufügen können. Mit diesem Skript wird eine Textdatei erstellt, die eine Liste aller OneDrive for Business-Websites enthält. Sie müssen die SharePoint Online-Verwaltungsshell (siehe Schritt 1 im vorhergehenden Thema) installieren und verwenden, um dieses Skript ausführen zu können. Dann können Sie diese URLs in der CSV-Datei verwenden, die Sie in Schritt 1 erstellt haben.

  • Achten Sie darauf, dass Sie alle Dateien, die Sie in diesem Thema erstellen, in demselben Ordner speichern. Dadurch können die Skripts einfacher ausgeführt werden.

  • Die Skripts umfassen eine minimale Fehlerbehandlungsroutine. Ihre Hauptaufgabe besteht darin, mehrere Inhaltssuchen zu erstellen, zu löschen und zugehörige Berichte zu erstellen.

  • Die in diesem Thema bereitgestellten Beispielskripts werden unter keinem Standardsupportprogramm oder -dienst von Microsoft unterstützt. Die Beispielskripts werden WIE BESEHEN ohne jegliche Gewährleistung bereitgestellt. Microsoft schließt ferner alle konkludenten Gewährleistungen, einschließlich, aber nicht beschränkt auf konkludente Gewährleistungen der Handelsüblichkeit oder Eignung für einen bestimmten Zweck aus. Das gesamte Risiko, das mit der Verwendung oder Leistung der Beispielskripts und der Dokumentation einhergeht, liegt bei Ihnen. In keinem Fall haften Microsoft, seine Autoren oder eine andere Person, die an der Erstellung, Herstellung oder Zustellung/Verteilung der Skripts beteiligt ist für Schäden jeglicher Art (einschließlich, aber nicht beschränkt auf Schäden durch verlorene Geschäftsgewinne, Geschäftsunterbrechung, Verlust von Geschäftsdaten oder andere finanzielle Verluste), die aus der Verwendung oder der Unfähigkeit der Verwendung der Beispielskripts oder der Dokumentation entstehen, selbst wenn Microsoft auf die Möglichkeit solcher Schäden hingewiesen wurde.

Schritt 1: Erstellen einer CSV-Datei, die Informationen zu den auszuführenden Suchvorgängen enthält

Die CSV-Datei (Datei mit durch Trennzeichen getrennten Werten), die Sie in diesem Schritt erstellen, enthält eine Zeile für jeden Benutzer, den Sie suchen möchten. Sie können das Exchange Online-Postfach der Benutzer (einschließlich des Archivpostfachs, sofern aktiviert) und deren OneDrive for Business-Website durchsuchen. Oder Sie können nur das Postfach oder die OneDrive for Business-Website durchsuchen. Sie können auch eine beliebige Website in Ihrer SharePoint Online-Organisation durchsuchen. Das Skript, das Sie in Schritt 3 ausführen, erstellt für jede Zeile in der CSV-Datei einen separaten Suchvorgang.

  1. Kopieren Sie den folgenden Text, und fügen Sie ihn mit dem Editor in eine TXT-Datei ein. Speichern Sie diese Datei in einem Ordner auf dem lokalen Computer. Die anderen Skripts sollen ebenfalls in diesem Ordner gespeichert werden.

    ExchangeLocation,SharePointLocation,ContentMatchQuery,StartDate,EndDate
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2000,12/31/2005
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2006,12/31/2010
    sarad@contoso.onmicrosoft.com,https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com,(lawsuit OR legal),1/1/2011,3/21/2016
    ,https://contoso.sharepoint.com/sites/contoso,,,3/21/2016
    ,https://contoso-my.sharepoint.com/personal/davidl_contoso_onmicrosoft_com,,1/1/2015,
    ,https://contoso-my.sharepoint.com/personal/janets_contoso_onmicrosoft_com,,1/1/2015,

    In der ersten Zeile oder Kopfzeile der Datei sind die Parameter aufgeführt, die vom Cmdlet New-ComplianceSearch (im Skript in Schritt 3) zum Erstellen einer neuen Inhaltssuche verwendet werden. Die einzelnen Parameternamen sind jeweils durch ein Komma getrennt. Stellen Sie sicher, dass sich keine Leerzeichen in der Kopfzeile befinden. Jede Zeile unter der Kopfzeile stellt die Parameterwerte für die einzelnen Suchvorgänge dar. Vergessen Sie nicht, die Platzhalterdaten in der CSV-Datei durch die tatsächlichen Daten zu ersetzen.

  2. Öffnen Sie die TXT-Datei in Microsoft Excel, und verwenden Sie dann die Informationen in der folgenden Tabelle zum Bearbeiten der Datei mit Informationen für die einzelnen Suchvorgänge.

    Parameter

    Beschreibung

    ExchangeLocation

    Die SMTP-Adresse für das Postfach des Benutzers.

    SharePointLocation

    Die URL für die OneDrive for Business-Website des Benutzers oder die URL für eine beliebige Website in Ihrem Unternehmen. Für die URL für OneDrive for Business-Websites verwenden Sie das folgende Format: https://<your organization>-my.sharepoint.com/personal/<user alias>_<your organization>_onmicrosoft_com. Beispiel: https://contoso-my.sharepoint.com/personal/sarad_contoso_onmicrosoft_com.

    ContentMatchQuery

    Die Suchabfrage für die Suche. Weitere Informationen zum Erstellen einer Suchabfrage finden Sie unter Stichwortabfragen und Suchbedingungen für Inhaltssuchen.

    StartDate

    Dies ist für E-Mails das Datum, an dem oder nach dem eine Nachricht von einem Empfänger empfangen oder von einem Absender gesendet wurde. Dies ist für Dokumente auf SharePoint- oder OneDrive for Business-Websites das Datum, an dem oder nach dem ein Dokument zuletzt geändert wurde.

    EndDate

    Dies ist für E-Mails das Datum, an dem oder vor dem eine Nachricht vom Benutzer gesendet wurde. Dies ist für Dokumente auf SharePoint- oder OneDrive for Business-Websites das Datum, an dem oder vor dem ein Dokument zuletzt geändert wurde.

  3. Speichern Sie die Excel-Datei als CSV-Datei in einem Ordner auf dem lokalen Computer. Das in Schritt 3 erstellte Skript verwendet die Informationen in dieser CSV-Datei, um die Suchvorgänge zu erstellen.

Seitenanfang

Schritt 2: Herstellen einer Verbindung zum Security & Compliance Center mithilfe von Remote-PowerShell

Im nächsten Schritt wird Windows PowerShell mit dem Security & Compliance Center für Ihr Unternehmen verbunden.

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix ".ps1" verwenden, z. B. "ConnectSCC.ps1". Speichern Sie die Datei in demselben Ordner, in dem Sie die CSV-Datei in Schritt 1 gespeichert haben.

    # Get login credentials 
    $UserCredential = Get-Credential 
    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid -Credential $UserCredential -Authentication Basic -AllowRedirection 
    Import-PSSession $Session -AllowClobber -DisableNameChecking 
    $Host.UI.RawUI.WindowTitle = $UserCredential.UserName + " (Office 365 Security & Compliance Center)" 
    
  2. Öffnen Sie Windows PowerShell auf dem lokalen Computer, wechseln Sie zu dem Ordner, in dem sich das von Ihnen im vorherigen Schritt erstellte Skript befindet, und führen Sie dann das Skript aus. Beispiel:

    .\ConnectSCC.ps1

Seitenanfang

Schritt 3: Ausführen des Skripts zum Erstellen und Starten der Suchvorgänge

Mit dem Skript in diesem Schritt wird eine separate Inhaltssuche für jede Zeile der CSV-Datei erstellt, die Sie in Schritt 1 erstellt haben. Bei der Ausführung dieses Skripts werden Sie zur Eingabe von zwei Werten aufgefordert:

  • Suchgruppen-ID: Dieser Name bietet eine einfache Möglichkeit zum Organisieren der Suchvorgänge, die über die CSV-Datei erstellt werden. Jeder erstellte Suchvorgang wird mit der Suchgruppen-ID benannt, und anschließend wird an den Namen der Suche eine Nummer angefügt. Wenn Sie z. B. ContosoCase für die Suchgruppen-ID eingeben, dann erhalten die Suchvorgänge die Bezeichnung ContosoCase_1, ContosoCase_2, ContosoCase_3 usw. Beachten Sie, dass für die eingegebenen Namen die Groß-und Kleinschreibung berücksichtigt wird. Wenn Sie die Suchgruppen-ID in Schritt 4 und Schritt 5 verwenden, müssen Sie dieselbe Groß-/Kleinschreibung wie bei der Erstellung verwenden.

  • CSV-Datei: Der Name der CSV-Datei, die Sie in Schritt 1 erstellt haben. Achten Sie darauf, dass Sie den vollständigen Dateinamen verwenden, d. h. die Dateierweiterung CSV einbeziehen. Beispiel: ContosoCase.csv.

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix ".ps1" verwenden, z. B. "CreateSearches.ps1". Speichern Sie die Datei in demselben Ordner, in dem Sie auch die anderen Dateien gespeichert haben.

    # Get the Search Group ID and the location of the CSV input file
    $searchGroup = Read-Host 'Search Group ID'
    $csvFile = Read-Host 'Source CSV file'
    	
    # Do a quick check to make sure our group name will not collide with other searches
    $searchCounter = 1
    import-csv $csvFile |
    	ForEach-Object{
    	
    	$searchName = $searchGroup +'_' + $searchCounter
    	$search = Get-ComplianceSearch $searchName -EA SilentlyContinue
    	if ($search)
    	{
    	    Write-Error "The Search Group ID conflicts with existing searches.  Please choose a search group name and restart the script."
    	    return
    	}
    	$searchCounter++
    }
    	
    $searchCounter = 1
    import-csv $csvFile |
    	ForEach-Object{
    	
    	# Create the query
    	$query = $_.ContentMatchQuery
    	if(($_.StartDate -or $_.EndDate))
    	{
            # Add the appropriate date restrictions.  NOTE: Using the Date condition property here because it works across Exchange, SharePoint, and OneDrive for Business.
            # For Exchange, the Date condition property maps to the Sent and Received dates; for SharePoint and OneDrive for Business, it maps to Created and Modified dates.
    
            if($query)
            {
                $query += " AND"
            }
    
            $query += " ("
    
            if($_.StartDate)
            {
                $query += "Date >= " + $_.StartDate
            }
    
            if($_.EndDate)
            {
                if($_.StartDate)
                {
                    $query += " AND "
                }
                $query += "Date <= " + $_.EndDate
            }
    
            $query += ")"
    	}
        
        # -ExchangeLocation can't be set to an empty string, set to null if there's no location.
        $exchangeLocation = $null
        if ( $_.ExchangeLocation)
        {
             $exchangeLocation = $_.ExchangeLocation
        }
    	
    	# Create and run the search        
    	$searchName = $searchGroup +'_' + $searchCounter
    	Write-Host "Creating and running search: " $searchName -NoNewline
    	$search = New-ComplianceSearch -Name $searchName -ExchangeLocation $exchangeLocation -SharePointLocation $_.SharePointLocation -ContentMatchQuery $query
    	
    	# Start and wait for each search to complete
    	Start-ComplianceSearch $search.Name
    	while ((Get-ComplianceSearch $search.Name).Status -ne "Completed")
    	{
    	    Write-Host " ." -NoNewline
    	    Start-Sleep -s 3
    	}
    	Write-Host ""
    	
    	$searchCounter++
    }
  2. Wechseln Sie in Windows PowerShell zu dem Ordner, in dem Sie das Skript im vorherigen Schritt gespeichert haben. Führen Sie dann das Skript aus. Beispiel:

    .\CreateSearches.ps1
  3. Geben Sie bei der Aufforderung Suchgruppen-ID einen Suchgruppennamen ein, und drücken Sie dann die EINGABETASTE. Beispiel: ContosoCase. Beachten Sie, dass bei diesem Namen die Groß-und Kleinschreibung berücksichtigt wird, daher müssen Sie ihn in den nachfolgenden Schritten auf dieselbe Weise eingeben.

  4. Geben Sie bei der Aufforderung CSV-Quelldatei den Namen der CSV-Datei einschließlich der CSV-Dateierweiterung ein. Beispiel: ContosoCase.csv.

  5. Drücken Sie die EINGABETASTE, um die Ausführung des Skripts fortzusetzen.

    Das Skript zeigt den Fortschritt beim Erstellen und Ausführen der Suchvorgänge an. Nachdem das Skript abgeschlossen wurde, kehrt es zur Eingabeaufforderung zurück.

    Beispielausgabe nach Ausführen des Skripts zum Erstellen mehrerer Compliancesuchen

Seitenanfang

Schritt 4: Ausführen des Skripts zum Erstellen eines Berichts für die Schätzwerte der Suche

Nachdem Sie die Suchvorgänge erstellt haben, besteht der nächste Schritt in der Ausführung eines Skripts, das einen einfachen Bericht mit der Anzahl der Suchtreffer für die einzelnen Suchvorgänge anzeigt, die in Schritt 3 erstellt wurden. Der Bericht enthält auch den Umfang der Ergebnisse für die einzelnen Suchvorgänge sowie die Gesamtzahl der Treffer und die Gesamtgröße aller Suchvorgänge. Wenn Sie das Skript für die Berichterstellung ausführen, werden Sie zur Eingabe der Suchgruppen-ID und eines CSV-Dateinamens aufgefordert, wenn Sie den Bericht in einer CSV-Datei speichern möchten.

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix ".ps1" verwenden, z. B. "SearchReport.ps1". Speichern Sie die Datei in demselben Ordner, in dem Sie auch die anderen Dateien gespeichert haben.

    $searchGroup = Read-Host 'Search Group ID'
    $outputFile = Read-Host 'Enter a file name or file path to save the report to a .csv file. Leave blank to only display the report'
    
    $searches = Get-ComplianceSearch | ?{$_.Name -clike $searchGroup + "_*"}
    
    $allSearchStats = @()
    foreach ($partialObj in $searches)
    {
        $search = Get-ComplianceSearch $partialObj.Name
    
        $sizeMB = [System.Math]::Round($search.Size / 1MB, 2)
    
        $searchStatus = $search.Status
        if($search.Errors)
        {
            $searchStatus = "Failed"
        }elseif($search.NumFailedSources -gt 0)
        {
            $searchStatus = "Failed Sources"
        }
    
        $searchStats = New-Object PSObject
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Name -Value $search.Name
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name ContentMatchQuery -Value $search.ContentMatchQuery
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Status -Value $searchStatus
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name Items -Value $search.Items
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name "Size" -Value $search.Size
        Add-Member -InputObject $searchStats -MemberType NoteProperty -Name "Size(MB)" -Value $sizeMB
    
        $allSearchStats += $searchStats
    }
    
    # Calculate the totals
    $allItems = ($allSearchStats | Measure-Object Items -Sum).Sum
    
    # Convert the total size to MB and round to the nearst 100th
    $allSize = ($allSearchStats | Measure-Object 'Size' -Sum).Sum
    $allSizeMB = [System.Math]::Round($allSize  / 1MB, 2)
    
    # Get the total successful searches and total of all searches
    $allSuccessCount = ($allSearchStats |?{$_.Status -eq "Completed"}).Count
    $allCount = $allSearchStats.Count
    $allStatus = [string]$allSuccessCount + " of " + [string]$allCount
    
    # Totals Row
    $totalSearchStats = New-Object PSObject
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Name -Value "Total"
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Status -Value $allStatus
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name Items -Value $allItems
    Add-Member -InputObject $totalSearchStats -MemberType NoteProperty -Name "Size(MB)" -Value $allSizeMB
    $allSearchStats += $totalSearchStats
    
    # Just get the columns we're interested in showing
    $allSearchStatsPrime = $allSearchStats | Select-Object Name, Status, Items, "Size(MB)", ContentMatchQuery
    
    # Print the results to the screen
    $allSearchStatsPrime |ft -AutoSize -Wrap
    
    # Save the results to a CSV file
    if ($outputFile)
    {
        $allSearchStatsPrime | Export-Csv -Path $outputFile -NoTypeInformation
    }
  2. Wechseln Sie in Windows PowerShell zu dem Ordner, in dem Sie das Skript im vorherigen Schritt gespeichert haben. Führen Sie dann das Skript aus. Beispiel:

    .\SearchReport.ps1
  3. Geben Sie bei der Aufforderung Suchgruppen-ID einen Suchgruppennamen ein, und drücken Sie dann die EINGABETASTE. Beispiel: ContosoCase. Beachten Sie, dass bei diesem Namen die Groß-und Kleinschreibung berücksichtigt wird. Daher müssen Sie ihn auf dieselbe Weise wie bei der Ausführung des Skripts in Schritt 3 eingeben.

  4. Geben Sie bei der Aufforderung Dateipfad zum Speichern des Berichts in einer CSV-Datei (leer lassen, um den Bericht nur anzuzeigen) einen Dateinamen des vollständigen Dateipfads (einschließlich der Erweiterung CSV) ein, wenn Sie den Bericht in einer CSV-Datei speichern möchten. Sie können z. B. ContosoCaseReport.csv eingeben, um die Datei im aktuellen Verzeichnis zu speichern, oder geben Sie C:\Users\admin\OneDrive for Business\ContosoCase\ContosoCaseReport.csv ein, um sie in einem anderen Ordner zu speichern. Sie können die Eingabeaufforderung auch leer lassen, um den Bericht anzuzeigen, aber nicht in einer Datei zu speichern.

  5. Drücken Sie die EINGABETASTE.

    Das Skript zeigt den Fortschritt beim Erstellen und Ausführen der Suchvorgänge an. Nach Abschluss des Skripts wird der Bericht angezeigt.

    Ausführen des Suchberichts zum Anzeigen der Schätzungen für die Suchgruppe

Seitenanfang

Hinweis : Wenn dasselbe Postfach oder dieselbe Website als Inhaltsspeicherort für mehr als einen Suchvorgang in einer Suchgruppe angegeben wird, bezieht die Gesamtergebnisschätzung im Bericht (für die Anzahl der Elemente und die Gesamtgröße) möglicherweise Ergebnisse für dieselben Elemente ein. Dieselbe E-Mail oder dasselbe Dokument wird nämlich mehr als einmal gezählt, wenn sie bzw. es der Abfrage für verschiedene Suchvorgänge in der Suchgruppe entspricht.

Schritt 5: Ausführen des Skripts zum Löschen der Suchvorgänge

Da Sie möglicherweise eine Vielzahl von Suchvorgängen erstellen, vereinfacht Ihnen dieses letzte Skript einfach das schnelle Löschen der Suchvorgänge, die Sie in Schritt 3 erstellt haben. Wie auch bei den anderen Skripts werden Sie hier aufgefordert, die Suchgruppen-ID einzugeben. Alle Suchvorgänge mit der Suchgruppen-ID im Suchbegriff werden gelöscht, wenn Sie dieses Skript ausführen.

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix ".ps1" verwenden, z. B. "DeleteSearches.ps1". Speichern Sie die Datei in demselben Ordner, in dem Sie auch die anderen Dateien gespeichert haben.

    # Delete all searches in a search group
    $searchGroup = Read-Host 'Search Group ID'
    Get-ComplianceSearch |
        ForEach-Object{
    
        # If the name matches the search group name pattern (case sensitive), delete the search
        if ($_.Name -cmatch $searchGroup + "_\d+")
        {
            Write-Host "Deleting search: " $_.Name
            Remove-ComplianceSearch $_.Name -Confirm:$false
        }
    }
  2. Wechseln Sie in Windows PowerShell zu dem Ordner, in dem Sie das Skript im vorherigen Schritt gespeichert haben. Führen Sie dann das Skript aus. Beispiel:

    .\DeleteSearches.ps1
  3. Geben Sie bei der Aufforderung Suchgruppen-ID einen Suchgruppennamen für die zu löschenden Suchvorgänge ein, und drücken Sie dann die EINGABETASTE. Beispiel: ContosoCase. Beachten Sie, dass bei diesem Namen die Groß-und Kleinschreibung berücksichtigt wird. Daher müssen Sie ihn auf dieselbe Weise wie bei der Ausführung des Skripts in Schritt 3 eingeben.

    Das Skript zeigt den Namen der einzelnen Suchvorgänge an, die gelöscht werden.

    Ausführen des Skripts zum Löschen der Suchen in der Suchgruppe

Seitenanfang

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×