Поделиться через


Get-AdaptiveScopeMembers

Этот командлет доступен только в облачной службе.

Используйте командлет Get-AdaptiveScopeMembers для получения текущих и прошлых членов адаптивных областей в организации. Адаптивные области используются в политиках хранения, политиках управления внутренними рисками и политиках меток хранения.

Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.

Синтаксис

Identity (По умолчанию)

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    [<CommonParameters>]

Default

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    [-AdaptiveReportFilters <PswsHashtable>]
    [-PageResultSize <UnlimitedInt>]
    [-State <LocationState>]
    [<CommonParameters>]

AdaptiveReportPagination

Get-AdaptiveScopeMembers
    [-Identity] <ComplianceRuleIdParameter>
    -PageCookie <string>
    [<CommonParameters>]

Описание

Используйте этот командлет для получения существующих и прошлых членов (пользователей, групп или сайтов) адаптивной область.

Выходные данные командлета — это список, в котором первый элемент содержит метаданные результата. Последующие элементы содержат элементы.

Метаданные содержат следующие сведения:

  • Общее число участников запроса.
  • Количество элементов, возвращенных на текущей странице.
  • Доступны ли дополнительные страницы.

Если существуют дополнительные страницы, метаданные содержат значение водяного знака, а значение IsLastPage — False.

Чтобы получить следующую страницу, передайте значение водяного знака в параметр PageCookie при следующем вызове командлета. Используйте параметр AdaptiveReportFilters для фильтрации элементов.

Чтобы использовать этот командлет в PowerShell безопасности и соответствия требованиям, вам должны быть назначены соответствующие разрешения. Дополнительные сведения см. в статье Разрешения на портале соответствия требованиям Microsoft Purview.

Примеры

Пример 1

Get-AdaptiveScopeMembers -Identity "US Finance Users"

В этом примере извлекаются члены адаптивного область us finance users. Если область содержит менее 10 000 элементов, возвращаются все члены.

Для больших областей включаются только первые 10 000 элементов, а первый объект в ответе содержит метаданные с подложкой, которую можно использовать для запроса последующих страниц.

Пример 2

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize Unlimited

В этом примере возвращается каждый член адаптивного область пользователей финансов США.

Важно! Мы не рекомендуем использовать значение PageResultSize Unlimited для больших адаптивных областей. Использование unlimited в больших адаптивных областях может привести к длительным запросам и временным сбоям, которые невозможно эффективно выполнить.

Пример 3

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0

В этом примере возвращаются только метаданные с общим числом членов адаптивного область финансовых пользователей США.

Пример 4

Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30

В этом примере извлекаются члены адаптивного область us finance users. Если область содержит менее 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"

В этом примере одновременно извлекаются члены адаптивного область US Finance Users 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 .

В этом примере извлекаются члены адаптивного область us Finance Users и сохраняются каждые 10 000 членов в CSV-файл в указанной папке. Папка создается, если она еще не существует:

Export-AdaptiveScopeMembers -Scope "US Finance Users" -Out "D:\adaptivescopedetails".

В этом примере извлекаются члены адаптивного область US Finance Users и сохраняются каждые 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

Несколько значений ключей используют логический синтаксис OR. Несколько ключей, отличных от *Not*, используют синтаксис OR. Смешанные ключи *Not* и non-Not* используют логический синтаксис AND.

Пример значения параметра для фильтрации по префиксу имени участника-пользователя:

@{UpnStartsWithAny = @("john", "mary")

Пример значения параметра, включаемого по SMTP-адресу и исключению по имени участника-пользователя:

@{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
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Default
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Identity

Применимо: Exchange Online, соответствие требованиям безопасности &

Параметр Identity задает адаптивный область. Можно использовать любое значение, однозначно определяющее адаптивную область. Например:

  • имя;
  • различающееся имя (DN);
  • GUID

Свойства параметров

Тип:ComplianceRuleIdParameter
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

Применимо: Exchange Online, соответствие требованиям безопасности &

PageCookie указывает закладку, из которой командлет должен продолжать получать результаты.

Используйте значение водяного знака, возвращенное из предыдущего запроса, в тот же адаптивный область, что и значение этого параметра. Подложка выступает в качестве маркера продолжения, позволяя командлету возобновить работу точно там, где закончилась предыдущая страница, и получить следующую страницу элементов.

Важно! Редактирование или создание значения водяного знака вручную может привести к пропуску страниц, дублированию результатов или недопустимым запросам. Всегда используйте значение водяного знака точно так, как возвращает командлет.

Тип:string
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False
AdaptiveReportPagination
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-PageResultSize

Применимо: Exchange Online, соответствие требованиям безопасности &

Параметр PageResultSize указывает максимальное число элементов, возвращаемых для запроса.

Для обеспечения максимальной надежности и производительности извлеките члены на нескольких страницах меньшего размера, пока не будет достигнута последняя страница. Этот подход вводит естественные точки останова, сокращает время ожидания и позволяет легко повторять попытки при возникновении временных проблем.

Важно! Мы не рекомендуем использовать значение PageResultSize Unlimited для больших адаптивных областей. Использование unlimited в больших адаптивных областях может привести к длительным запросам и временным сбоям, которые невозможно эффективно выполнить.

Свойства параметров

Тип:UnlimitedInt
Default value:10000
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

Default
Position:Named
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-State

Применимо: Exchange Online, соответствие требованиям безопасности &

Параметр State указывает состояние членов адаптивного область. Допустимые значения:

  • Добавлено: текущие члены адаптивного область.
  • Удалено: бывшие члены адаптивной область.

Свойства параметров

Тип:LocationState
Default value: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.