Get-AdaptiveScopeMembers
此指令程式只能在雲端式服務中使用。
使用 Get-AdaptiveScopeMembers Cmdlet 來擷取組織中調適性範圍的目前和過去成員。 調適性範圍用於保留原則、內部風險管理原則和保留標籤原則。
如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法。
語法
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>]
Description
使用此 Cmdlet 可擷取現有和過去的成員 () 調整範圍的使用者、群組或網站。
Cmdlet 輸出是清單,其中第一個元素包含結果中繼資料。 後續元素包含成員。
中繼資料包含下列資訊:
- 要求的成員總數。
- 目前頁面中傳回的成員數目。
- 是否有其他頁面可用。
如果有其他頁面,中繼資料會包含浮水印值,且 IsLastPage 值為 False。
若要擷取下一頁,請在下次叫用 Cmdlet 時,將浮水印值傳遞給 PageCookie 參數。 使用 AdaptiveReportFilters 參數來篩選成員。
若要在安全性與合規性 PowerShell 中使用此 Cmdlet,您必須獲得指派權限。 如需詳細資訊,請參閱 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
此範例會擷取自適性範圍 US Finance Users 的過去成員。 如果範圍包含少於 10,000 個過去的成員,則會傳回所有過去的成員。
對於較大的範圍,只會包含前 10,000 個過去的成員,且回應中的第一個物件包含含有浮水印的中繼資料,可用來要求後續頁面。
範例 7
Get-AdaptiveScopeMembers -Identity "US Finance Sites" -AdaptivereportFilters @{"SiteUrlContainsAny" = @("/personal/", "/teams/")}
此範例會擷取網站 URL 包含 /personal/ 或 /teams/的調適性範圍 US Finance 網站成員。 如果結果包含少於 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
多個索引鍵值使用邏輯 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 |
| 不要顯示: | False |
參數集
Default
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-AdaptiveReportQuery
適用:Exchange Online、安全性 & 合規性
{{ 填滿 AdaptiveReportQuery 描述 }}
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
AdaptiveReportQuery
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-EndDateTime
適用:Exchange Online、安全性 & 合規性
{{ 填滿 EndDateTime 描述 }}
參數屬性
| 類型: | DateTimeOffset |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Default
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Identity
適用:Exchange Online、安全性 & 合規性
Identity 參數會指定調適性範圍。 您可以使用唯一識別調適性範圍的任何值。 例如:
- 名稱
- 辨別名稱 (DN)
- GUID
參數屬性
| 類型: | ComplianceRuleIdParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-PageCookie
適用:Exchange Online、安全性 & 合規性
PageCookie 會指定 Cmdlet 應繼續從中擷取結果的書籤。
使用從先前要求傳回的浮水印值至與此參數的值相同的調適性範圍。 浮水印可作為延續權杖,讓 Cmdlet 準確地從上一頁結束的位置繼續,並擷取下一頁成員。
重要: 手動編輯或製造浮水印值可能會導致跳過頁面、重複結果或無效要求。 請一律使用 Cmdlet 所傳回的浮水印值。
參數屬性
| 類型: | string |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
AdaptiveReportPagination
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-PageResultSize
適用:Exchange Online、安全性 & 合規性
PageResultSize 參數會指定要針對要求傳回的成員數目上限。
為了獲得最佳可靠性和效能,請在多個較小的頁面中擷取成員,直到到達最後一頁為止。 這種方法引入了自然斷點,減少了等待時間,並允許在發生暫時性問題時無縫重試。
重要:不建議針對大型調適性範圍使用 PageResultSize 值 Unlimited。 在大型調適性範圍內使用 Unlimited 可能會導致長時間執行的請求和無法有效重試的暫時性失敗。
參數屬性
| 類型: | UnlimitedInt |
| 預設值: | 10000 |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Default
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-StartDateTime
適用:Exchange Online、安全性 & 合規性
{{ 填滿 StartDateTime 描述 }}
參數屬性
| 類型: | DateTimeOffset |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Default
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-State
適用:Exchange Online、安全性 & 合規性
State 參數會指定調適性範圍成員的狀態。 有效值為:
- 已新增:調適性範圍的目前成員。
- 已移除: 調適性範圍的前成員。
參數屬性
| 類型: | LocationState |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
Default
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援常見參數: -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。