Teilen über


Verwenden der Inhaltssuche zum Durchsuchen des Postfachs und der OneDrive-Website nach einer Liste von Benutzern

Tipp

eDiscovery (Vorschauversion) ist jetzt im neuen Microsoft Purview-Portal verfügbar. Weitere Informationen zur Verwendung der neuen eDiscovery-Benutzeroberfläche finden Sie unter Informationen zu eDiscovery (Vorschauversion).

Security & Compliance PowerShell bietet eine Reihe von Cmdlets, mit denen Sie zeitaufwändige eDiscovery-bezogene Aufgaben automatisieren können. Derzeit erfordert das Erstellen einer Inhaltssuche im Microsoft Purview-Complianceportal, um eine große Anzahl von Speicherorten für verwahrte Inhalte zu durchsuchen, Zeit und Vorbereitung. Bevor Sie eine Suche erstellen, müssen Sie die URL für jede OneDrive for Business-Website erfassen und dann jedes Postfach und jede OneDrive for Business-Website der Suche hinzufügen. In zukünftigen Versionen wird dies im Complianceportal einfacher zu erledigen sein. Bis dahin können Sie das Skript in diesem Artikel verwenden, um diesen Prozess zu automatisieren. Dieses Skript fordert Sie zur Eingabe des Namens der MySite-Domäne Ihrer Organisation (z. B. contoso in der URL https://contoso-my.sharepoint.com), einer Liste der Benutzer-E-Mail-Adressen, des Namens der neuen Inhaltssuche und der zu verwendenden Suchabfrage auf. Das Skript ruft die OneDrive for Business-URL für jeden Benutzer in der Liste ab und erstellt und startet dann eine Inhaltssuche, die das Postfach und die OneDrive for Business-Website für jeden Benutzer in der Liste mithilfe der von Ihnen bereitgestellten Suchabfrage durchsucht.

Berechtigungen und Skriptinformationen

Wichtig

Microsoft empfiehlt die Verwendung von Rollen mit den wenigsten Berechtigungen. Die Minimierung der Anzahl von Benutzern mit der Rolle "Globaler Administrator" trägt zur Verbesserung der Sicherheit für Ihre Organisation bei. Erfahren Sie mehr über Microsoft Purview-Rollen und -Berechtigungen.

  • Sie müssen Mitglied der Rollengruppe eDiscovery-Manager im Microsoft Purview-Portal oder im Complianceportal sein und ein globaler SharePoint-Administrator sein, um das Skript in Schritt 3 ausführen zu können.
  • Achten Sie darauf, die Liste der Benutzer, die Sie in Schritt 2 erstellt haben, und das Skript in Schritt 3 im selben Ordner zu speichern. Dies erleichtert die Ausführung des Skripts.
  • Das Skript umfasst eine minimale Fehlerbehandlung. Der Hauptzweck besteht darin, das Postfach und die OneDrive-Website jedes Benutzers schnell und einfach zu durchsuchen.
  • Die in diesem Artikel bereitgestellten Beispielskripts werden von keinem standardmäßigen Supportprogramm oder Dienst von Microsoft unterstützt. Die Beispielskripts werden wie besehen ohne jegliche Garantie zur Verfügung gestellt. 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 sind Microsoft, seine Autoren oder an der Erstellung, Produktion oder Übermittlung der Skripts beteiligte Personen für Schäden jeglicher Art (einschließlich und ohne Einschränkung Schäden durch Verlust entgangener Gewinne, Geschäftsunterbrechungen, Verlust von Geschäftsinformationen oder andere geldliche Verluste) haftbar, die aus der Nutzung bzw. Unfähigkeit zur Nutzung der Beispielskripts oder Dokumentation entstehen, auch wenn Microsoft auf die Möglichkeit solcher Schäden hingewiesen wurde.

Schritt 1: Installieren der SharePoint Online-Verwaltungsshell

Der erste Schritt besteht darin, die SharePoint Online-Verwaltungsshell zu installieren. Sie müssen die Shell in diesem Verfahren nicht verwenden, aber Sie müssen sie installieren, da sie erforderliche Komponenten für das Skript enthält, das Sie in Schritt 3 ausführen. Diese Voraussetzungen ermöglichen es dem Skript, mit SharePoint zu kommunizieren, um die URLs für die OneDrive-Websites abzurufen.

Wechseln Sie zu Einrichten der SharePoint Online-Verwaltungsshell-Umgebung , und führen Sie Schritt 1 und Schritt 2 aus, um die SharePoint Online-Verwaltungsshell zu installieren.

Schritt 2: Generieren einer Benutzerliste

Das Skript in Schritt 3 erstellt eine Inhaltssuche, um die Postfächer und OneDrive-Konten nach einer Liste von Benutzern zu durchsuchen. Sie können die E-Mail-Adressen einfach in eine Textdatei eingeben, oder Sie können einen Befehl in PowerShell ausführen, um eine Liste von E-Mail-Adressen abzurufen und in einer Datei zu speichern (in dem Sie das Skript in Schritt 3 speichern).

Hier ist ein Exchange Online PowerShell-Befehl , den Sie ausführen können, um eine Liste der E-Mail-Adressen für alle Benutzer in Ihrer Organisation abzurufen und in einer Textdatei mit dem Namen Users.txtzu speichern.

Get-Mailbox -ResultSize unlimited -Filter { RecipientTypeDetails -eq 'UserMailbox'} | Select-Object PrimarySmtpAddress > Users.txt

Nachdem Sie diesen Befehl ausgeführt haben, müssen Sie die Datei öffnen und den Header entfernen, PrimarySmtpAddressder den Eigenschaftsnamen enthält. Die Textdatei sollte nur eine Liste von E-Mail-Adressen und nichts anderes enthalten. Stellen Sie sicher, dass vor oder nach der Liste der E-Mail-Adressen keine leeren Zeilen vorhanden sind.

Wenn Sie das Skript in diesem Schritt ausführen, werden Sie zur Eingabe der folgenden Informationen aufgefordert. Stellen Sie sicher, dass Diese Informationen bereit sind, bevor Sie das Skript ausführen.

  • Ihre Benutzeranmeldeinformationen : Das Skript verwendet Ihre Anmeldeinformationen für den Zugriff auf SharePoint, um die OneDrive-URLs abzurufen und eine Verbindung mit Security & Compliance PowerShell herzustellen.

  • Name Ihrer MySite-Domäne : Die Domäne "MySite" ist die Domäne, die alle OneDrive-Websites in Ihrer Organisation enthält. Wenn die URL für Ihre MySite-Domäne beispielsweise lautet https://contoso-my.sharepoint.com, geben Sie ein contoso , wenn das Skript Sie zur Eingabe des Namens Ihrer MySite-Domäne auffordert.

  • Pfadname der Textdatei aus Schritt 2 : Der Pfadname der Textdatei, die Sie in Schritt 2 erstellt haben. Wenn sich die Textdatei und das Skript im selben Ordner befinden, geben Sie den Namen der Textdatei ein. Geben Sie andernfalls den vollständigen Pfadnamen für die Textdatei ein.

  • Name der Inhaltssuche : Der Name der Inhaltssuche, die vom Skript erstellt wird.

  • Suchabfrage : Die Suchabfrage, die mit der Inhaltssuche verwendet wird, wird erstellt und ausgeführt. Weitere Informationen zu Suchabfragen finden Sie unter Schlüsselwortabfragen und Suchbedingungen für eDiscovery.

So führen Sie das Skript aus:

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix .ps1 verwenden. Beispiel: SearchEXOOD4B.ps1. Speichern Sie die Datei in dem Ordner, in dem Sie die Liste der Benutzer in Schritt 2 gespeichert haben.

    # This PowerShell script will prompt you for the following information:
    #    * Your user credentials
    #    * The name of your organization's MySite domain
    #    * The pathname for the text file that contains a list of user email addresses
    #    * The name of the Content Search that will be created
    #    * The search query string
    # The script will then:
    #    * Find the OneDrive site for each user in the text file
    #    * Create and start a Content Search using the above information
    # Get user credentials
    if (!$credentials)
    {
        $credentials = Get-Credential
    }
    # Get the user's MySite domain name.  We use this to create the admin URL and root URL for OneDrive
    $mySiteDomain = Read-Host "What is your organization's MySite domain?  For example,  'contoso' for 'https://contoso-my.sharepoint.com'"
    $AdminUrl = "https://$mySiteDomain-admin.sharepoint.com"
    $mySiteUrlRoot = "https://$mySiteDomain-my.sharepoint.com"
    # Get other required information
    $inputfile = read-host "Enter the file name of the text file that contains the email addresses for the users you want to search"
    $searchName = Read-Host "Enter the name for the new search"
    $searchQuery = Read-Host "Enter the search query you want to use"
    $emailAddresses = Get-Content $inputfile | where {$_ -ne ""}  | foreach{ $_.Trim() }
    # Connect to Security & Compliance PowerShell
    if (!$s -or !$a)
    {
        Import-Module ExchangeOnlineManagement
        Connect-IPPSSession
    }
    
    # Load the SharePoint assemblies from the SharePoint Online Management Shell
    # To install, go to https://go.microsoft.com/fwlink/p/?LinkId=255251
    if (!$SharePointClient -or !$SPRuntime -or !$SPUserProfile)
    {
        $SharePointClient = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
        $SPRuntime = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")
        $SPUserProfile = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.UserProfiles")
        if (!$SharePointClient)
        {
            Write-Error "SharePoint Online Management Shell isn't installed, please install from: https://go.microsoft.com/fwlink/p/?LinkId=255251 and then run this script again"
            return;
        }
    }
    if (!$spCreds)
    {
        $spCreds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($credentials.UserName, $credentials.Password)
    }
    # Add the path of the User Profile Service to the SPO admin URL, then create a new webservice proxy to access it
    $proxyaddr = "$AdminUrl/_vti_bin/UserProfileService.asmx?wsdl"
    $UserProfileService= New-WebServiceProxy -Uri $proxyaddr -UseDefaultCredential False
    $UserProfileService.Credentials = $credentials
    # Take care of auth cookies
    $strAuthCookie = $spCreds.GetAuthenticationCookie($AdminUrl)
    $uri = New-Object System.Uri($AdminUrl)
    $container = New-Object System.Net.CookieContainer
    $container.SetCookies($uri, $strAuthCookie)
    $UserProfileService.CookieContainer = $container
    Write-Host "Getting each user's OneDrive URL"
    $urls = @()
    foreach($emailAddress in $emailAddresses)
    {
        try
        {
            $prop = $UserProfileService.GetUserProfileByName("i:0#.f|membership|$emailAddress") | Where-Object { $_.Name -eq "PersonalSpace" }
            $url = $prop.values[0].value
            $furl = $mySiteUrlRoot + $url
            $urls += $furl
            Write-Host "-$emailAddress => $furl"
        }
        catch
        {
            Write-Warning "Could not locate OneDrive for $emailAddress"
        }
    }
    Write-Host "Creating and starting the search"
    $search = New-ComplianceSearch -Name $searchName -ExchangeLocation $emailAddresses -SharePointLocation $urls -ContentMatchQuery $searchQuery
    # Finally, start the search and then display the status
    if($search)
    {
        Start-ComplianceSearch $search.Name
        Get-ComplianceSearch $search.Name
    }
    
  2. Öffnen Sie Windows PowerShell, und wechseln Sie zu dem Ordner, in dem Sie das Skript und die Liste der Benutzer aus Schritt 2 gespeichert haben.

  3. Starten Sie das Skript; Zum Beispiel:

    .\SearchEXOOD4B.ps1
    
  4. Wenn Sie zur Eingabe Ihrer Anmeldeinformationen aufgefordert werden, geben Sie Ihre E-Mail-Adresse und ihr Kennwort ein, und wählen Sie dann OK aus.

  5. Geben Sie die folgenden Informationen ein, wenn Sie vom Skript dazu aufgefordert werden. Geben Sie die einzelnen Informationen ein, und drücken Sie dann die EINGABETASTE.

    • Der Name Ihrer MySite-Domäne.

    • Der Pfadname der Textdatei, die die Liste der Benutzer enthält.

    • Ein Name für die Inhaltssuche.

    • Die Suchabfrage (lassen Sie dieses Feld leer, um alle Elemente an den Inhaltsspeicherorten zurückzugeben).

    Das Skript ruft die URLs für jede OneDrive-Website ab und erstellt und startet die Suche. Sie können entweder das Cmdlet Get-ComplianceSearch in Security & Compliance PowerShell ausführen, um die Suchstatistiken und -ergebnisse anzuzeigen, oder Sie können im Complianceportal zur Seite Inhaltssuche wechseln, um Informationen zur Suche anzuzeigen.