Verwenden Sie die Inhaltssuche, um das Postfach und die OneDrive for Business-Website nach einer Liste mit Benutzern zu durchsuchen.

Das Office 365 Security & Compliance Center bietet eine Reihe von Windows PowerShell-Cmdlets, mit denen Sie zeitaufwändige, eDiscovery-bezogene Aufgaben automatisieren können. Zurzeit erfordert das Erstellen einer Inhaltssuche im Security & Compliance Center, um eine große Anzahl von Inhaltsspeicherorten von Verwaltungsberechtigten 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 der Suche jedes Postfach und jede OneDrive for Business-Website hinzufügen. In zukünftigen Versionen wird sich dieser Vorgang im Security & Compliance Center einfacher gestalten. Bis dahin können Sie das Skript in diesem Artikel verwenden, um diesen Prozess zu automatisieren. Dieses Skript fragt von Ihnen den Namen der "MeineWebsite"-Domäne Ihrer Organisation (z. B. Contoso in der URL https://contoso-my.sharepoint.com) ab sowie eine Liste von Benutzer-E-Mail-Adressen, den Namen der neuen Inhaltssuche und die zu verwendende Suchabfrage. Das Skript ruft die OneDrive for Business-URL für jeden Benutzer in der Liste ab und erstellt und startet dann eine Inhaltssuche, die mithilfe der von Ihnen bereitgestellten Suchabfrage für jeden Benutzer in der Liste das Postfach und die OneDrive for Business-Website durchsucht.

Dies bewerkstelligen Sie mit folgenden Schritten:

Schritt 1: Installieren der SharePoint Online-Verwaltungsshell

Schritt 2: Generieren einer Benutzerliste

Schritt 3: Ausführen des Skripts zum Erstellen und Starten der Suche

Vorbemerkung

  • Sie müssen Mitglied der Rollengruppe "eDiscovery-Manager" im Security & Compliance Center sowie ein globaler SharePoint Online-Administrator sein, um das Skript in Schritt 3 auszuführen.

  • Stellen Sie sicher, dass Sie die in Schritt 2 erstellte Benutzerliste und das Skript in Schritt 3 im selben Ordner speichern. Dies erleichtert die Ausführung des Skripts.

  • Das Skript enthält eine minimale Fehlerbehandlungsroutine. Sein Hauptzweck besteht darin, das Postfach und die OneDrive for Business-Website jedes Benutzers schnell und einfach zu durchsuchen.

  • 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: Installieren der SharePoint Online-Verwaltungsshell

Der erste Schritt besteht darin, die SharePoint Online-Verwaltungsshell zu installieren. Sie müssen die Verwaltungsshell nicht in diesem Verfahren verwenden, müssen sie aber installieren, weil sie Voraussetzungen enthält, die für das Skript, das Sie in Schritt 3 ausführen, erforderlich sind. Diese Voraussetzungen ermöglichen dem Skript die Kommunikation mit SharePoint Online, um die URLs für die OneDrive for Business-Websites abzurufen.

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

Seitenanfang

Schritt 2: Generieren einer Benutzerliste

Das Skript in Schritt 3 erstellt eine Inhaltssuche, um die Postfächer und OneDrive for Business-Websites einer Benutzerliste zu durchsuchen. Sie können einfach die E-Mail-Adressen in eine Textdatei eingeben oder einen Befehl in der Windows PowerShell ausführen, um eine Liste der E-Mail-Adressen abzurufen, und diese dann in einer Datei speichern (die sich im selben Ordner befindet, in dem Sie das Skript in Schritt 3 gespeichert haben).

Hier ist ein Windows PowerShell-Befehl (den Sie mithilfe der Remote-PowerShell ausführen, die mit Ihrer Exchange Online-Organisation verbunden ist), um eine Liste der E-Mail-Adressen für alle Benutzer in Ihrer Organisation abzurufen und diese in einer Textdatei namens "Users.txt" zu speichern.

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

Nachdem Sie diesen Befehl ausgeführt haben, stellen Sie sicher, dass Sie die Datei öffnen und die Kopfzeile entfernen, die den Eigenschaftsnamen PrimarySmtpAddress enthält. Die Textdatei sollte nur eine Liste der E-Mail-Adressen und nichts anderes enthalten. Stellen Sie sicher, dass es keine leeren Zeilen vor oder hinter der Liste der Benutzer gibt.

Seitenanfang

Schritt 3: Ausführen des Skripts zum Erstellen und Starten der Suche

Wenn Sie das Skript in diesem Schritt ausführen, fragt es folgende Informationen von Ihnen ab. Stellen Sie sicher, dass Sie diese Informationen zur Hand haben, bevor Sie das Skript ausführen.

  • Ihre Benutzeranmeldeinformationen  Das Skript verwendet Ihre Anmeldeinformationen für den Zugriff auf SharePoint Online, um die OneDrive for Business-URLs abzurufen und mithilfe der Remote-PowerShell eine Verbindung mit dem Security & Compliance Center herzustellen.

  • Name der Domäne Ihrer "MeineWebsite"  Die "MeineWebsite"-Domäne ist die Domäne, die alle OneDrive for Business-Websites in Ihrer Organisation enthält. Wenn die URL für Ihre "MeineWebsite"-Domäne z. B. https://contoso-my.sharepoint.com lautet, geben Sie contoso ein, wenn das Skript den Namen Ihrer "MeineWebsite"-Domäne abfragt.

  • 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 Namen der Inhaltssuche, die von dem Skript erstellt wird.

  • Suchabfrage   Die Suchabfrage, die mit der Inhaltssuche verwendet und ausgeführt wird. Weitere Informationen zu Suchabfragen finden Sie unter Stichwortabfragen und Suchbedingungen für Inhaltssuchen.

  1. Speichern Sie den folgenden Text in einer Windows PowerShell-Skriptdatei, indem Sie das Dateinamensuffix ".ps1" verwenden, z. B. "SearchEXOOD4B.ps1". Speichern Sie die Datei im selben 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 for Business 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 for Business
    $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 Office 365
    if (!$s -or !$a)
    {
        $s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.compliance.protection.outlook.com/powershell-liveid" -Credential $credentials -Authentication Basic -AllowRedirection -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
        $a = Import-PSSession $s -AllowClobber
    
        if (!$s)
        {
            Write-Error "Could not create PowerShell session."
            return;
        }
    }
    
    # Load the SharePoint assemblies from the SharePoint Online Management Shell
    # To install, go to http://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: http://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 for Business 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 die 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, z. B.:

    .\SearchEXOOD4B.ps1
  4. Wenn Ihre Anmeldeinformationen abgefragt werden, geben Sie Ihre E-Mail-Adresse und das Kennwort ein, und klicken Sie auf OK.

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

    • Den Namen Ihrer "MeineWebsite"-Domäne. 

    • Den Pfadnamen der Textdatei, die die Liste der Benutzer enthält.

    • Einen Namen für die Inhaltssuche.

    • Die Suchabfrage (lassen Sie dies leer, um alle Elemente von den Inhaltsspeicherorten zurückzugeben).

    Das Skript ruft die URLs aller OneDrive for Business-Websites ab und erstellt und startet dann die Suche. Sie können entweder das Cmdlet "Get-ComplianceSearch" ausführen, um die Suchstatistiken und Ergebnisse anzuzeigen, oder Sie können zur Seite Inhaltssuche im Security & Compliance Center wechseln, um Informationen zu der Suche anzuzeigen.

Seitenanfang

Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×