【问题标题】:How do you (quickly) count AAD B2C users?您如何(快速)统计 AAD B2C 用户?
【发布时间】:2021-04-29 07:37:33
【问题描述】:

我们正在尝试计算 B2C 租户中的用户对象数量,这有点大。在它很小的时候,简单/明显的 hack 只是读取所有用户的工作轻松快捷。

Get-AzADUser | Measure-Object

现在这需要大量的时间(30 多分钟,并且浪费 AAD 处理、网络带宽等)。方便地,Graph API 包含一个端点来请求对象的数量!万岁! ;) https://docs.microsoft.com/en-us/graph/api/user-list?view=graph-rest-beta&tabs=http#example-6-get-only-a-count-of-users

Connect-AzAccount
Set-AzContext -Tenant <your 'normal' AAD tenant>
$AzToken = Get-AzAccessToken -ResourceUrl https://graph.microsoft.com

Invoke-RestMethod -Method Get -Authentication Bearer -Token (ConvertTo-SecureString -AsPlainText -Force -String $AZAccess.Token) -Headers @{ConsistencyLevel = 'eventual'} -Uri https://graph.microsoft.com/beta/users/`$count

1234

但是!使用此方法尝试查找我们拥有多少个 B2C 帐户时:

Connect-AzAccount
Set-AzContext -Tenant <your 'B2C' AAD tenant>
$AzToken = Get-AzAccessToken -ResourceUrl https://graph.microsoft.com

Invoke-RestMethod -Method Get -Authentication Bearer -Token (ConvertTo-SecureString -AsPlainText -Force -String $AZAccess.Token) -Headers @{ConsistencyLevel = 'eventual'} -Uri https://graph.microsoft.com/beta/users/`$count

Invoke-RestMethod: {"error":{"code":"Request_BadRequest","message":"$count is not currently supported.","innerError":{"date":"2021-04-29T07:06:09","request-id":"xxx","client-request-id":"xxx"}}}

那么,您如何计算大型 B2C 租户中的用户数?

【问题讨论】:

    标签: microsoft-graph-api azure-ad-b2c


    【解决方案1】:

    很遗憾,B2C 租户尚不支持端点。 https://graph.microsoft.com/beta/users?$count=true 也没有。

    仅在普通 AAD 租户中可用。

    目前您需要列出所有用户并使用其他库中的方法/函数获取他们的计数。

    类似的帖子和答案here供您参考。

    【讨论】:

    • 嗯。行。所有用户列表目前需要大约 90 分钟,这并不理想。
    • @Froosh MS 还没有整合 B2C 真是令人沮丧。您可以提出您对用户语音的需求。
    • 刚刚尝试使用我现有的一些代码来定位 B2C 租户并遇到此错误。 @AllenWu 你有正确用户声音的链接吗?
    • @MattSanders 不知道为什么 microsoftgraph.uservoice.com 目前不可用。
    【解决方案2】:

    这有点手动,但每当我需要快速计数时,我都会执行以下操作:

    • 转到 Azure 门户(适用于 B2C 租户)
    • 所有用户
    • 批量操作
    • 下载用户(这会让我很快获得一个 Excel)
    • 开始
    • 大约需要 2 分钟才能完成(约 4 万名用户)
    • 在左侧页面菜单中转到批量操作结果
    • 下载 Excel
    • Excel 中的 UPN 总和

    【讨论】:

      【解决方案3】:

      这应该适用于 B2C 租户,在 AzureAD Module 中使用 Connect-AzureAD

      Connect-AzureAD -租户 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

      (Get-AzureADUser -all $true).Count

      【讨论】:

      • 嘿,在超过 1,000,000 的租户上这样做,然后回复我:D
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 2021-03-02
      • 2012-07-07
      • 2021-05-04
      • 2022-10-18
      相关资源
      最近更新 更多