Поиск контента для поиска списка пользователей в почтовом ящике и на сайте OneDrive
Совет
Обнаружение электронных данных (предварительная версия) теперь доступно на новом портале Microsoft Purview. Дополнительные сведения об использовании нового интерфейса обнаружения электронных данных см. в статье Сведения об обнаружении электронных данных (предварительная версия).
Безопасность & соответствия PowerShell предоставляет ряд командлетов, которые позволяют автоматизировать трудоемкие задачи, связанные с обнаружением электронных данных. В настоящее время создание поиска контента на портале соответствия требованиям Microsoft Purview для поиска большого количества расположений контента-хранителя требует времени и подготовки. Перед созданием поиска необходимо собрать URL-адрес для каждого сайта OneDrive для бизнеса, а затем добавить в поиск каждый почтовый ящик и сайт OneDrive для бизнеса. В будущих выпусках это будет проще сделать на портале соответствия требованиям. До тех пор для автоматизации этого процесса можно использовать скрипт, приведенный в этой статье. Этот скрипт запрашивает имя домена MySite вашей организации (например, contoso в URL-адресе https://contoso-my.sharepoint.com
), список адресов электронной почты пользователей, имя нового поиска контента и поисковый запрос для использования. Скрипт получает URL-адрес OneDrive для бизнеса для каждого пользователя в списке, а затем создает и запускает поиск контента, который выполняет поиск по почтовому ящику и сайту OneDrive для бизнеса для каждого пользователя в списке с помощью указанного вами поискового запроса.
Сведения о разрешениях и скриптах
Важно!
Microsoft рекомендует использовать роли с наименьшим количеством разрешений. Минимизация числа пользователей с ролью глобального администратора помогает повысить безопасность организации. Дополнительные сведения о ролях и разрешениях Microsoft Purview.
- Чтобы запустить сценарий на шаге 3, необходимо быть членом группы ролей диспетчера электронных данных на портале Microsoft Purview или портале соответствия требованиям, а также глобальным администратором SharePoint.
- Не забудьте сохранить список пользователей, создаваемых на шаге 2, и скрипт на шаге 3, в той же папке. Это упрощает выполнение скрипта.
- Скрипт включает минимальную обработку ошибок. Его основная цель — быстро и легко выполнить поиск по почтовому ящику и сайту OneDrive каждого пользователя.
- Примеры сценариев, приведенные в данной статье, не поддерживаются ни одной из стандартных программ и служб технической поддержки Майкрософт. Примеры сценариев приводятся "как есть", без каких-либо гарантий. Кроме того, корпорация Майкрософт отказывается от всех подразумеваемых гарантий, включая, но не ограничиваясь указанным, все подразумеваемые гарантии пригодности для продажи или определенной цели. Все риски, возникающие в результате использования примеров сценариев и документации, берет на себя пользователь. Корпорация Майкрософт, ее штатные авторы и другие лица, принимающие участие в создании, подготовке и выпуске сценариев, ни при каких обстоятельствах не несут ответственность за какой-либо ущерб (в том числе, ущерб, вызванный потерей доходов предприятия, остановкой его работы, потерей бизнес-данных и другими материальными потерями), вызванный использованием или неспособностью использовать примеры сценариев и документацию, даже если корпорации Майкрософт известно о возможности нанесения такого ущерба.
Шаг 1. Установка командной консоли SharePoint Online
Первым шагом является установка командной консоли SharePoint Online. В этой процедуре не нужно использовать оболочку, но ее необходимо установить, так как она содержит необходимые условия для скрипта, выполняемого на шаге 3. Эти предварительные требования позволяют скрипту взаимодействовать с SharePoint для получения URL-адресов сайтов OneDrive.
Перейдите в раздел Настройка среды оболочки управления SharePoint Online и выполните шаги 1 и 2, чтобы установить командную консоль SharePoint Online.
Шаг 2. Создание списка пользователей
Сценарий на шаге 3 создаст поиск контента для поиска списка пользователей в почтовых ящиках и учетных записях OneDrive. Вы можете просто ввести адреса электронной почты в текстовом файле или выполнить команду в PowerShell, чтобы получить список адресов электронной почты и сохранить их в файл (расположен в той же папке, в которой вы сохраните скрипт на шаге 3).
Ниже приведена команда Exchange Online PowerShell , которую можно выполнить, чтобы получить список адресов электронной почты для всех пользователей в организации и сохранить его в текстовый файл с именем Users.txt
.
Get-Mailbox -ResultSize unlimited -Filter { RecipientTypeDetails -eq 'UserMailbox'} | Select-Object PrimarySmtpAddress > Users.txt
После выполнения этой команды обязательно откройте файл и удалите заголовок, содержащий имя свойства , PrimarySmtpAddress
. Текстовый файл должен содержать только список адресов электронной почты и ничего другого. Убедитесь, что до или после списка адресов электронной почты нет пустых строк.
Шаг 3. Запуск скрипта для создания и запуска поиска
При выполнении скрипта на этом шаге вам будет предложено ввести следующие сведения. Перед запуском скрипта обязательно подготовьтесь к работе с этой информацией.
Учетные данные пользователя . Скрипт использует учетные данные для доступа к SharePoint, чтобы получить URL-адреса OneDrive и подключиться к PowerShell для обеспечения соответствия требованиям безопасности &.
Имя домена MySite . Домен MySite — это домен, содержащий все сайты OneDrive в вашей организации. Например, если URL-адрес вашего домена MySite — https://contoso-my.sharepoint.com, введите
contoso
, когда скрипт предложит ввести имя домена MySite.Путь к текстовому файлу из шага 2 — путь к текстовому файлу, созданному на шаге 2. Если текстовый файл и скрипт находятся в одной папке, введите имя текстового файла. В противном случае введите полный путь к текстовому файлу.
Имя поиска контента — имя поиска контента, который будет создан скриптом.
Поисковый запрос . Поисковый запрос, используемый с поиском контента, создается и выполняется. Дополнительные сведения о поисковых запросах см. в разделе Запросы ключевых слов и условия поиска для обнаружения электронных данных.
Чтобы запустить сценарий, сделайте следующее:
Сохраните следующий текст в файл скрипта 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 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 }
Откройте Windows PowerShell и перейдите в папку, в которой вы сохранили скрипт и список пользователей из шага 2.
Запустите скрипт; Например:
.\SearchEXOOD4B.ps1
При запросе учетных данных введите адрес электронной почты и пароль, а затем нажмите кнопку ОК.
При появлении запроса скрипта введите следующие сведения. Введите каждый фрагмент данных и нажмите клавишу ВВОД.
Имя домена MySite.
Путь к текстовому файлу, который содержит список пользователей.
Имя для поиска контента.
Поисковый запрос (оставьте его пустым, чтобы вернуть все элементы в расположениях содержимого).
Скрипт получает URL-адреса для каждого сайта OneDrive, а затем создает и запускает поиск. Вы можете запустить командлет Get-ComplianceSearch в PowerShell для соответствия требованиям безопасности &, чтобы отобразить статистику и результаты поиска, или перейти на страницу Поиск контента на портале соответствия требованиям, чтобы просмотреть сведения о поиске.