Get-AdaptiveScopeMembers
このコマンドレットは、クラウドベースのサービスでのみ使用できます。
Get-AdaptiveScopeMembers コマンドレットを使用して、organization内のアダプティブ スコープの現在および過去のメンバーを取得します。 適応型スコープは、アイテム保持ポリシー、インサイダー リスク管理ポリシー、保持ラベル ポリシーで使用されます。
以下の構文セクションのパラメーター セットの詳細については、「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>]
説明
このコマンドレットを使用して、適応型スコープの既存および過去のメンバー (ユーザー、グループ、またはサイト) を取得します。
コマンドレットの出力は、最初の要素に結果メタデータが含まれるリストです。 後続の要素にはメンバーが含まれます。
メタデータには次の情報が含まれます。
- 要求のメンバーの合計数。
- 現在のページに返されるメンバーの数。
- 追加のページが使用できるかどうか。
追加のページが存在する場合、メタデータには透かし値が含まれ、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
この例では、アダプティブ スコープ US Finance Users のすべてのメンバーを返します。
重要: 大規模な適応型スコープでは、PageResultSize 値 Unlimited を使用することはお勧めしません。 大規模な適応型スコープで [無制限] を使用すると、要求の実行時間が長くなり、効率的に再試行できない一時的なエラーが発生する可能性があります。
例 3
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 0
この例では、アダプティブ スコープの US Finance Users のメンバーの合計数を含むメタデータのみを返します。
例 4
Get-AdaptiveScopeMembers -Identity "US Finance Users" -PageResultSize 30
この例では、アダプティブ スコープ US Finance Users のメンバーを取得します。 スコープに含まれるメンバーが 30 未満の場合は、すべてのメンバーが返されます。
スコープが大きい場合、最初の 30 個のメンバーのみが含まれ、応答の最初のオブジェクトには、後続のページの要求に使用できる透かしを含むメタデータが含まれます。
例 5
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Added
この例では、アダプティブ スコープ US Finance Users の現在のメンバーを取得します。 スコープに含まれる現在のメンバーが 10,000 より少ない場合は、現在のメンバーすべてが返されます。
スコープが大きい場合、現在のメンバーの最初の 10,000 個のみが含まれ、応答の最初のオブジェクトには、後続のページの要求に使用できる透かしを含むメタデータが含まれます。
例 6
Get-AdaptiveScopeMembers -Identity "US Finance Users" -State Removed
この例では、アダプティブ スコープ US Finance Users の過去のメンバーを取得します。 スコープに過去のメンバーが含まれているものが 10,000 人未満の場合は、過去のメンバーがすべて返されます。
スコープが大きい場合、最初の 10,000 人の過去のメンバーのみが含まれ、応答の最初のオブジェクトには、後続のページの要求に使用できる透かしを含むメタデータが含まれます。
例 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
この例では、アダプティブ スコープ US Finance Sites (サイト 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 パラメーターは、結果の絞り込みに使用する 1 つ以上のフィルターを指定します。
このパラメーターは、各キーが最大 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* キーと非 *Not* キーの混合では、論理 AND 構文が使用されます。
UPN プレフィックスでフィルター処理するパラメーター値の例:
@{UpnStartsWithAny = @("john", "mary")
SMTP アドレス別に含めるパラメーター値と UPN 別に除外するパラメーター値の例:
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnNotEqualsAny = @("bob.old@contoso.com")}
SMTP アドレスで含めるパラメーター値または UPN で含めるパラメーター値の例
@{SmtpAddressEqualsAny = @("alice@contoso.com","bob@contoso.com"); UpnEqualsAny = @("bob.old@contoso.com")}
パラメーターのプロパティ
| 型: | PswsHashtable |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-AdaptiveReportQuery
該当する: Exchange Online、セキュリティ & コンプライアンス
{{ AdaptiveReportQuery の説明を埋める }}
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
AdaptiveReportQuery
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-EndDateTime
該当する: Exchange Online、セキュリティ & コンプライアンス
{{ Fill: EndDateTime Description }}
パラメーターのプロパティ
| 型: | DateTimeOffset |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Identity
該当する: Exchange Online、セキュリティ & コンプライアンス
Identity パラメーターはアダプティブ スコープを指定します。 適応型スコープを一意に識別する任意の値を使用できます。 例:
- 名前
- 識別名 (DN)
- GUID
パラメーターのプロパティ
| 型: | ComplianceRuleIdParameter |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | 0 |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-PageCookie
該当する: Exchange Online、セキュリティ & コンプライアンス
PageCookie は、コマンドレットが結果の取得を続行するブックマークを指定します。
このパラメーターの値と同じアダプティブ スコープへの前の要求から返された透かしの値を使用します。 透かしは継続トークンとして機能し、コマンドレットが前のページの終了處から正確に再開し、メンバーの次のページをフェッチできるようにします。
重要: 透かしの値を手動で編集または捏造すると、ページのスキップ、結果の重複、または無効な要求が発生する可能性があります。 透かしの値は、コマンドレットから返されたものとまったく同じものを常に使用してください。
パラメーターのプロパティ
| 型: | string |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
AdaptiveReportPagination
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-PageResultSize
該当する: Exchange Online、セキュリティ & コンプライアンス
PageResultSize パラメーターは、要求に対して返すメンバーの最大数を指定します。
信頼性とパフォーマンスを最大化するには、最後のページに到達するまで、複数の小さいページでメンバーを取得します。 このアプローチでは、自然なブレークポイントを導入し、待機時間を短縮し、一時的な問題が発生した場合にシームレスに再試行できます。
重要: 大規模な適応型スコープでは、PageResultSize 値 Unlimited を使用することはお勧めしません。 大規模な適応型スコープで [無制限] を使用すると、要求の実行時間が長くなり、効率的に再試行できない一時的なエラーが発生する可能性があります。
パラメーターのプロパティ
| 型: | UnlimitedInt |
| 規定値: | 10000 |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-StartDateTime
該当する: Exchange Online、セキュリティ & コンプライアンス
{{ StartDateTime の説明を塗りつぶす }}
パラメーターのプロパティ
| 型: | DateTimeOffset |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-State
該当する: Exchange Online、セキュリティ & コンプライアンス
State パラメーターは、アダプティブ スコープのメンバーの状態を指定します。 有効な値は次のとおりです。
- 追加: アダプティブ スコープの現在のメンバー。
- 削除済み: アダプティブ スコープの以前のメンバー。
パラメーターのプロパティ
| 型: | LocationState |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
Default
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットは、共通パラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable をサポートします。 詳細については、「about_CommonParameters」を参照してください。