You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Microsoft Graph PowerShell SDK登录Azure AD B2C租户并管理自定义用户属性

在PowerShell 7中登录Azure AD B2C租户并操作用户属性的方法

核心解决思路

你之前用主租户来宾账户登录时,默认关联到了主租户,必须明确指定B2C租户ID并使用B2C租户本地管理员账户登录,才能操作B2C租户内的用户资源。

步骤1:使用B2C租户管理员账户登录

执行以下命令,将<你的B2C租户ID>替换为实际的B2C租户ID(可在Azure门户B2C租户概述页面获取):

Connect-MgGraph -TenantId "<你的B2C租户ID>" -Scopes "User.Read.All","User.ReadWrite.All"
  • 登录时必须使用B2C租户自身的全局管理员或用户管理员账户,主租户的来宾账户权限不足,无法操作B2C用户。
  • 权限需包含User.ReadWrite.All才能更新用户属性,若不需要组操作,可移除Group.ReadWrite.All。

步骤2:验证当前连接的租户

执行命令确认已连接到目标B2C租户:

Get-MgContext

检查输出中的TenantId是否与你的B2C租户ID一致。

步骤3:获取并更新用户自定义属性

  1. 确认自定义属性的Graph格式名称
    你添加的"Company Name"自定义属性,在Microsoft Graph中会以extension_<B2C应用客户端ID去掉连字符>_CompanyName的格式存在。可通过查看单个用户的扩展属性确认:
Get-MgUser -UserId "<任意B2C用户ID>" -Select "extension_*"
  1. 批量更新用户属性
    遍历所有用户并设置自定义属性值,替换<你的扩展属性名称>和<目标公司名称>:
$users = Get-MgUser -All $true
foreach ($user in $users) {
    Update-MgUser -UserId $user.Id -AdditionalProperties @{
        "<你的扩展属性名称>" = "<目标公司名称>"
    }
}

注意事项

  • 来宾账户权限受限,无法对B2C租户的用户进行批量更新,必须使用B2C租户本地管理员账户。
  • 扩展属性名称中的客户端ID需去掉所有连字符(-),确保名称完全匹配。

内容的提问来源于stack exchange,提问作者user1063287

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:25:47