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

PowerShell遍历二维数组批量为Azure用户添加手机号两步验证

PowerShell批量配置Azure用户手机号两步验证调整方案

你原来的代码主要存在3个问题,直接按以下修正即可:

1. 核心修正点

  • PowerShell中数组定义需要用@()包裹,而非你用的方括号
  • foreach循环遍历二维数组时,每次循环拿到的变量本身就是嵌套的子数组,不需要再加外层数组索引取值
  • 变量名拼写错误:你定义的数组名为$name,调用时误写为$navn

2. 完整可运行代码

2.1 二维数组正确定义

# 数组每一行格式为 @(用户邮箱, 对应手机号)
$userPhoneList = @(
  @("name-01@email.com","+1 12345678"),
  @("name-02@email.com","+1 12345678"),
  @("name-03@email.com","+1 12345678"),
  @("name-04@email.com","+1 12345678"),
  @("name-05@email.com","+1 12345678"),
  @("name-06@email.com","+1 12345678"),
  @("name-07@email.com","+1 12345678"),
  @("name-08@email.com","+1 12345678"),
  @("name-09@email.com","+1 12345678"),
  @("name-10@email.com","+1 12345678")
)

2.2 批量执行逻辑

基础无错误捕获版本:

foreach ($item in $userPhoneList) {
  New-MgUserAuthenticationPhoneMethod -UserId $item[0] -phoneType "mobile" -phoneNumber $item[1] -ErrorAction Continue
}

带执行结果提示的版本(推荐使用,方便排查问题):

foreach ($item in $userPhoneList) {
  try {
    New-MgUserAuthenticationPhoneMethod -UserId $item[0] -phoneType "mobile" -phoneNumber $item[1] -ErrorAction Stop
    Write-Host "✅  $($item[0]) 绑定成功"
  }
  catch {
    Write-Host "❌  $($item[0]) 绑定失败,错误信息:$_"
  }
}

3. 前置依赖说明

运行前需要提前完成以下准备:

  • 安装Graph对应模块:执行Install-Module Microsoft.Graph.Identity.SignIns
  • 登录Graph并授权:执行Connect-MgGraph -Scopes "UserAuthenticationMethod.ReadWrite.All",使用全局管理员或身份验证管理员账号登录授权

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:15:03