Использование поиска содержимого для поиска списка пользователей в почтовом ящике и на сайте OneDrive для бизнеса

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

В Центре безопасности и соответствия требованиям Office 365 есть несколько командлетов Windows PowerShell, которые позволяют автоматизировать задачи обнаружения электронных данных, занимающие много времени. Сейчас создание в Центре безопасности и соответствия требованиям поиска содержимого по большому количеству расположений требует времени и подготовки. Прежде чем создавать поиск, необходимо собрать URL-адреса всех веб-сайтов OneDrive для бизнеса. Затем нужно добавить в поиск все почтовые ящики и сайты OneDrive для бизнеса. В будущих версиях эта операция будет выполняться проще через Центр безопасности и соответствия требованиям. До этого момента вы можете использовать сценарий из этой статьи для автоматизации данного процесса. Этот сценарий предложит вам указать имя домена личных сайтов организации (например, contoso в URL-адресе https://contoso-my.sharepoint.com), список электронных адресов пользователей, имя нового поиска содержимого и поисковый запрос. Сценарий получает URL-адрес OneDrive для бизнеса для каждого пользователя в списке, а затем создает и запускает поиск содержимого в почтовом ящике и на сайте OneDrive для бизнеса для каждого пользователя в списке, используя введенный вами поисковый запрос.

Ниже описано, что нужно для этого сделать.

Шаг 1. Установка командной консоли SharePoint Online

Шаг 2. Создание списка пользователей

Шаг 3. Запуск сценария для создания и начала поиска

Подготовка

  • Для запуска сценария на шаге 3 вы должны быть участником группы ролей "Менеджер обнаружения электронных данных" в Центр безопасности и соответствия требованиям и глобальным администратором SharePoint Online.

  • Не забудьте сохранить список пользователей, который вы создадите на шаге 2, и сценарий для шага 3 в одной и той же папке. Это упростит запуск сценария.

  • Сценарий включает минимальную обработку ошибок. Его основная цель состоит в том, чтобы быстро и легко выполнять поиск в почтовых ящиках и на сайтах OneDrive для бизнеса пользователей.

  • Примеры сценариев, содержащиеся в этой статье, не поддерживаются стандартными программами и службами поддержки Майкрософт. Они предоставляются как есть безо всяких гарантий. Кроме того, корпорация Майкрософт отказывается от всех подразумеваемых гарантий, включая, но не ограничиваясь указанным, все подразумеваемые гарантии пригодности для продажи или определенной цели. Все риски, возникающие в результате использования примеров сценариев и документации, берет на себя пользователь. Корпорация Майкрософт, авторы или другие люди, участвовавшие в создании, разработке и предоставлении сценариев, ни при каких обстоятельствах не несут ответственности за любой ущерб (включая, но не ограничиваясь указанным, ущерб в результате потери прибыли, перерыва в работе, потери бизнес-информации или другой материальный ущерб), вызванный использованием примеров сценариев или документации либо невозможностью их использовать, даже если корпорация Майкрософт была уведомлена о возможности такого ущерба.

Шаг 1. Установка командной консоли SharePoint Online

Первым делом нужно установить командную консоль SharePoint Online. Вы можете не использовать ее в этой процедуре, но ее требуется установить, так как она содержит пакеты, необходимые для запуска сценария на шаге 3. Эти пакеты обеспечивают подключение сценария к SharePoint Online для получения URL-адресов сайтов OneDrive для бизнеса.

Перейдите в Настройка среды SharePoint Online управления оболочкой Windows PowerShell и выполнять шаг 1 и шаг 2 Установка SharePoint Online командной консоли.

К началу

Шаг 2. Создание списка пользователей

На шаге 3 сценарий создаст поиск содержимого в почтовых ящиках и на сайтах OneDrive для бизнеса определенных пользователей. Вы можете просто ввести адреса электронной почты в текстовый файл или же выполнить команду в Windows PowerShell для получения списка адресов и сохранить их в файл (в той же папке, в которую вы сохраните сценарий на шаге 3).

Ниже указана команда Windows PowerShell (которую нужно выполнить с помощью удаленной оболочки PowerShell, подключенной к организации Exchange Online), позволяющая получить список электронных адресов всех пользователей в организации и сохранить его в текстовом файле с именем Users.txt.

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

По окончании работы этой команды необходимо открыть файл и удалить верхний колонтитул, содержащий имя свойства PrimarySmtpAddress. В текстовом файле должен содержать только список адресов электронной почты и ничего. Убедитесь, что нет ни одной пустой строки до или после списка адресов электронной почты.

К началу

Шаг 3. Запуск сценария для создания и начала поиска

При запуске сценария на этом этапе вам будет предложено ввести указанные ниже сведения. Приготовьте их перед выполнением сценария.

  • Учетные данные пользователя:  сценарий будет использовать ваши учетные данные для доступа к SharePoint Online, получения URL-адресов OneDrive для бизнеса и подключения к Центр безопасности и соответствия требованиям с помощью удаленной оболочки PowerShell.

  • Имя домена личных сайтов:  домен личных сайтов — это домен, который содержит все сайты OneDrive для бизнеса в организации. Например, если URL-адресом вашего домена личных сайтов является https://contoso-my.sharepoint.com, при запросе имени домена следует ввести contoso.

  • Путь к текстовому файлу:  путь к текстовому файлу, который вы создали на шаге 2. Если текстовый файл и сценарий находятся в одной и той же папке, введите имя файла. В противном случае введите полный путь к нему. 

  • Имя поиска содержимого:   имя поиска содержимого, который будет создан с помощью сценария.

  • Поисковый запрос:   поисковый запрос, который будет использоваться при создании и запуске поиска содержимого. Дополнительные сведения о создании поисковых запросов см. в статье Запросы с ключевыми словами и условия для поиска содержимого.

  1. Сохраните указанный ниже текст в файл сценария Windows PowerShell, используя расширение PS1, например: SearchEXOOD4B.ps1. Сохраните файл в той же папке, в которой вы сохранили список пользователей на шаге 2.

    # 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. Откройте Windows PowerShell и перейдите в папку, в которой вы сохранили сценарий и список пользователей.

  3. Запустите сценарий, например:

    .\SearchEXOOD4B.ps1
  4. Когда будут запрошены учетные данные, введите свой адрес электронной почты и пароль, а затем нажмите кнопку ОК.

  5. При появлении запроса введите указанные ниже сведения. После ввода каждого значения нажимайте клавишу ВВОД.

    • Имя домена личных сайтов. 

    • Путь к текстовому файлу со списком пользователей.

    • Имя поиска содержимого.

    • Поисковый запрос (не указывайте это значение, чтобы вернуть все элементы).

    Сценарий получит URL-адреса всех веб-сайтов OneDrive для бизнеса, а затем создаст и запустит поиск. Вы можете выполнить командлет Get-ComplianceSearch для отображения статистики поиска и его результатов или же открыть страницу Поиск содержимого в Центре безопасности и соответствия требованиям для просмотра сведений о поиске.

К началу

Примечание : Отказ от ответственности относительно машинного перевода. Данная статья была переведена с помощью компьютерной системы без участия человека. Microsoft предлагает эти машинные переводы, чтобы помочь пользователям, которые не знают английского языка, ознакомиться с материалами о продуктах, услугах и технологиях Microsoft. Поскольку статья была переведена с использованием машинного перевода, она может содержать лексические,синтаксические и грамматические ошибки.

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×