Get-AdaptiveScopeMembers
Этот командлет доступен только в облачной службе.
Используйте командлет Get-AdaptiveScopeMembers для получения текущих и бывших участников адаптивных областей в организации. Адаптивные области используются в политиках хранения, политиках управления внутренними рисками и политиках меток хранения.
Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.
Синтаксис
Identity (По умолчанию)
Get-AdaptiveScopeMembers
[-Identity] <ComplianceRuleIdParameter>
[<CommonParameters>]
Default
Get-AdaptiveScopeMembers
[-Identity] <ComplianceRuleIdParameter>
[-AdaptiveReportFilters <PswsHashtable>]
[-EndDateTime <DateTimeOffset>]
[-PageResultSize <UnlimitedInt>]
[-StartDateTime <DateTimeOffset>]
[-State <LocationState>]
[<CommonParameters>]
AdaptiveReportQuery
Get-AdaptiveScopeMembers
[-Identity] <ComplianceRuleIdParameter>
-AdaptiveReportQuery <String>
[<CommonParameters>]
AdaptiveReportPagination
Get-AdaptiveScopeMembers
[-Identity] <ComplianceRuleIdParameter>
-PageCookie <string>
[<CommonParameters>]
Описание
Используйте этот командлет для получения существующих и прошлых участников (пользователей, групп или сайтов) адаптивной области.
Выходные данные командлета представляют собой список, первый элемент которого содержит метаданные результата. Последующие элементы содержат элементы.
Метаданные включают следующие сведения:
- Общее число участников запроса.
- Количество участников, возвращаемое на текущей странице.
- Наличие дополнительных страниц.
Если существуют дополнительные страницы, метаданные включают значение Watermark и значение IsLastPage False.
Чтобы получить следующую страницу, передайте значение Watermark в параметр PageCookie при следующем вызове командлета. Используйте параметр AdaptiveReportFilters для фильтрации элементов.
Чтобы использовать этот командлет в PowerShell безопасности и соответствия требованиям, вам должны быть назначены соответствующие разрешения. Дополнительные сведения см. в статье Разрешения на портале соответствия требованиям Microsoft Purview.
Примеры
Пример 1
Get-AdaptiveScopeMembers -Identity "US Finance Users"
В этом примере извлекаются члены адаптивной области "Финансовые пользователи США". Если область содержит менее 10 000 элементов, возвращаются все члены.
Для больших областей включаются только первые 10 000 членов, а первый объект в отклике содержит метаданные с водяным знаком, который можно использовать для запроса последующих страниц.
Пример 2
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited
В этом примере возвращаются все члены адаптивной области "Финансовые пользователи США".
Важно! Не рекомендуется использовать значение PageResultSize "Без ограничений" для больших адаптивных областей. Использование "Без ограничений" для больших адаптивных областей может привести к длительным запросам и временным сбоям, которые невозможно эффективно предотвратить.
Пример 3
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0
В этом примере возвращаются только метаданные с общим количеством участников адаптивной области "Финансовые пользователи США".
Пример 4
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30
В этом примере извлекаются члены адаптивной области "Финансовые пользователи США". Если область содержит менее 30 элементов, возвращаются все члены.
Для больших областей включаются только первые 30 членов, а первый объект в отклике содержит метаданные с водяным знаком, который можно использовать для запроса последующих страниц.
Пример 5
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added
В этом примере извлекаются текущие члены адаптивной области "Пользователи финансов США". Если область содержит менее 10 000 текущих элементов, возвращаются все текущие члены.
Для больших областей включаются только первые 10 000 текущих членов, а первый объект в отклике содержит метаданные с водяным знаком, который можно использовать для запроса последующих страниц.
Пример 6
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed
В этом примере извлекаются прошлые члены адаптивной области "Финансовые пользователи США". Если в область меньше 10 000 бывших участников, возвращаются все бывшие участники.
Для более крупных областей включаются только первые 10 000 бывших участников, а первый объект в отклике содержит метаданные с водяным знаком, который можно использовать для запроса последующих страниц.
Пример 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
В этом примере извлекаются члены адаптивной области "Финансовые сайты США", в которых URL-адрес сайта содержит /personal/ или /teams/. Если результаты содержат менее 10 000 элементов, возвращаются все.
Для получения более крупных результатов включаются только первые 10 000, а первый объект в отклике содержит метаданные с водяным знаком, который можно использовать для запроса последующих страниц.
Пример 8
$scope="US Finance Users"; $size=200; $cookie=$null
$all=@()
do {
$page = Get-AdaptiveScopeMembers -Identity $scope -Size $size -PageCookie $cookie
if(-not $page){ break }
$meta = $page[0]
if($meta.CurrentPageMemberCount -gt 0){ $all += $page[1..($page.Count-1)] }
$cookie = if($meta.IsLastPage){ $null } else { $meta.Watermark }
} while($cookie -ne $null)
$all | Export-Csv -NoTypeInformation -Path "C:\Data\AdaptiveScopeMembers_$($scope -replace ' ','_').csv"
В этом примере извлекаются члены адаптивной области "Финансовые пользователи США 200 участников одновременно" и сохраняются в списке. Результаты сохраняются в указанном CSV-файле.
Пример 9
function Export-AdaptiveScopeMembers {
[CmdletBinding()] param([string]$Scope,[string]$Out,[int]$Size=10000,[bool]$Resume=$true)
$scope=$Scope; $out=$Out; $size=$Size;
$meta=Join-Path $out "$scope-exportadaptivescopemembersexecutioninfo.json"
if (-not (Test-Path $out)) { New-Item -ItemType Directory -Path $out | Out-Null }
$m = if ($resume -and (Test-Path $meta)) { Get-Content $meta -Raw | ConvertFrom-Json } else {$null}
$cookie = if ($m) {$m.Watermark} else {$null}; $page = if ($m -and $m.IsLastPage -ne $true) { $m.LastPageProcessed + 1 } else {1}; $isLast=$false
do {
$res = if ($cookie) { Get-AdaptiveScopeMembers -Identity $scope -PageCookie $cookie -WarningAction SilentlyContinue} else { Get-AdaptiveScopeMembers -Identity $scope -PageResultSize $size -WarningAction SilentlyContinue }
$metaObj = $res[0]; $members = $res[1..($res.Count-1)]
if ($members.Count) { $file=Join-Path $out "$scope-part$($page).csv"; $members | Export-Csv $file -NoTypeInformation; Write-Host "Exported $($members.Count) of page $page to file '$file'" }
$cookie = $metaObj.Watermark; $isLast = $metaObj.IsLastPage
$status = @{TimestampUtc=(Get-Date).ToUniversalTime().ToString("o"); TotalResults=$metaObj.TotalMemberCount; PageSize=$metaObj.CurrentPageMemberCount; Identity=$metaObj.Identity; Watermark=$cookie; LastPageProcessed=$page; IsLastPage=$metaObj.IsLastPage}
if ($isLast) {
$status = @{TimestampUtc=(Get-Date).ToUniversalTime().ToString("o"); TotalResults=$metaObj.TotalMemberCount; Identity=$metaObj.Identity; Watermark=$cookie; LastPageProcessed=$page; IsLastPage=$metaObj.IsLastPage}
}
$status | ConvertTo-Json | Set-Content $meta
$page++
} while (-not $isLast)
Write-Host "Completed exporting members of adaptive scope '$scope' to folder '$out'"
}
Клиентам часто требуется экспортировать всех участников адаптивной области в файлы для просмотра, аудита, автономного анализа или совместного использования с другими командами. Этот вспомогательный сценарий Export-AdaptiveScopeMembers упрощает этот процесс, автоматически просматривая области данных, экспортируя каждую страницу в CSV-файл и записывая метаданные выполнения для резюме.
Этот рабочий процесс экспорта можно перезапустить. Если сценарий остановится на полпути из-за временного сбоя, проблемы с сетью или тайм-аута, вы можете просто запустить его снова. Он считывает существующий файл метаданных, возобновляет работу с последней успешно обработанной страницы и продолжает экспорт до тех пор, пока не будут извлечены все страницы.
Вставьте эту функцию в свою сессию и вызовите ее с нужными параметрами. Можно позвонить Export-AdaptiveScopeMembers , чтобы сохранить результаты в файлы.
В этом примере извлекаются члены адаптивной области "Финансовые пользователи США" и сохраняются каждые 10 000 участников в CSV-файле в указанной папке. Если папка еще не создана:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".
В этом примере извлекаются члены адаптивной области "Финансовые пользователи США" и сохраняются каждые 200 участников в CSV-файле в указанной папке. Если папка еще не создана:
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200.
По умолчанию параметру -Resume присвоено значение $true, что позволяет автоматически продолжить процесс экспорта с последней завершенной страницы, если сеанс PowerShell прерван. Укажите $false, чтобы начать экспорт с самого начала и перезаписать ранее сохраненный ход выполнения.
Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails" -Size 200 -Resume $false
Параметры
-AdaptiveReportFilters
Применимо: Exchange Online, безопасность & соответствие требованиям
Параметр AdaptiveReportFilters определяет один или несколько фильтров, используемых для уточнения результатов.
Этот параметр принимает хэш-таблицу, где каждый ключ сопоставляется со списком (массивом) до 10 значений. Допустимые ключи фильтра:
- MailboxGuidEqualsAny
- MailboxGuidNotEqualsAny
- ObjectIdEqualsAny
- ObjectIdNotEqualsAny
- SiteIdEqualsAny
- SiteIdNotEqualsAny
- SiteUrlContainsAny
- SiteUrlEqualsAny
- SiteUrlNotContainsAny
- SiteUrlNotEqualsAny
- SiteUrlNotStartsWithAny
- SiteUrlStartsWithAny
- SmtpAddressEqualsAny
- SmtpAddressNotEqualsAny
- SmtpAddressNotStartsWithAny
- SmtpAddressStartsWithAny
- UPNequalsAny
- UpnNotEqualsAny
- UpnNotStartsWithAny
- UpnStartsWithAny
В нескольких значениях ключа используется логический синтаксис ИЛИ. Для нескольких клавиш, отличных от ***, используется синтаксис ИЛИ. В смешанных ключах *Not* и non-*Not* используется логический синтаксис And.
Пример значения параметра для фильтрации по префиксу имени участника-пользователя:
@{UpnStartsWithAny = @("john", "mary")
Пример значения параметра для включения по адресу SMTP AND исключения по имени участника-пользователя:
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}
Пример значения параметра для включения по адресу SMTP ИЛИ по имени участника-пользователя
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}
Свойства параметров
| Тип: | PswsHashtable |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Default
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-AdaptiveReportQuery
Применимо: Exchange Online, безопасность & соответствие требованиям
{{ Fill AdaptiveReportQuery Description }}
Свойства параметров
| Тип: | String |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
AdaptiveReportQuery
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-EndDateTime
Применимо: Exchange Online, безопасность & соответствие требованиям
{{ Заполнение EndDateTime Description }}
Свойства параметров
| Тип: | DateTimeOffset |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Default
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Identity
Применимо: Exchange Online, безопасность & соответствие требованиям
Параметр Identity определяет адаптивную область. Можно использовать любое значение, однозначно определяющее адаптивную область. Например:
- имя;
- различающееся имя (DN);
- GUID
Свойства параметров
| Тип: | ComplianceRuleIdParameter |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-PageCookie
Применимо: Exchange Online, безопасность & соответствие требованиям
PageCookie задает закладку, из которой командлет должен продолжать получать результаты.
Используйте значение Watermark, возвращенное из предыдущего запроса, в ту же адаптивную область, что и значение этого параметра. Водяной знак выступает в качестве маркера продолжения, позволяя командлету возобновить работу в том месте, где закончилась предыдущая страница, и получить следующую страницу участников.
Важно! Редактирование или фабрикация значения подложки вручную может привести к пропуску страниц, дублированию результатов или недействительным запросам. Всегда используйте значение водяного знака в точности, возвращаемое командлетом.
Свойства параметров
| Тип: | string |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
AdaptiveReportPagination
| Position: | Named |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-PageResultSize
Применимо: Exchange Online, безопасность & соответствие требованиям
Параметр PageResultSize указывает максимальное количество членов, возвращаемых запросом.
Для обеспечения максимальной надежности и производительности извлекайте элементы на нескольких небольших страницах, пока не будет достигнута последняя страница. Этот подход вводит естественные точки останова, сокращает время ожидания и позволяет легко повторять попытки при возникновении временных проблем.
Важно! Не рекомендуется использовать значение PageResultSize "Без ограничений" для больших адаптивных областей. Использование "Без ограничений" для больших адаптивных областей может привести к длительным запросам и временным сбоям, которые невозможно эффективно предотвратить.
Свойства параметров
| Тип: | UnlimitedInt |
| Значение по умолчанию: | 10000 |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Default
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-StartDateTime
Применимо: Exchange Online, безопасность & соответствие требованиям
{{ Заполнение StartDateTime Description }}
Свойства параметров
| Тип: | DateTimeOffset |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Default
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-State
Применимо: Exchange Online, безопасность & соответствие требованиям
Параметр State указывает состояние членов адаптивной области. Допустимые значения:
- Добавлено: Текущие члены адаптивной области.
- Удалено: бывшие члены адаптивной области.
Свойства параметров
| Тип: | LocationState |
| Значение по умолчанию: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
Default
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в статье about_CommonParameters.