0

我正在尝试制作一个脚本,让我可以从数组/列表中一次为多个天蓝色用户添加 phonenumber 2factor。

我认为二维数组可能是一个不错的解决方案。然后遍历数组并在列表中添加每个人的编号。

然而powersehell不是我的事。所以我不能让它继续下去。

因此,如果有人可以帮助我制作 2 数组,以及如何获取数组中的每个嵌套数组。

下面是我想要工作的“草图”。

 $name = [
  ["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"]
]

波纹管是我用来添加属于电子邮件的号码的命令。

foreach ($i in $name) {
New-MgUserAuthenticationPhoneMethod -UserId $navn[$i][0] -phoneType "mobile" -phoneNumber $navn[$i][1]
}
4

2 回答 2

1

foreach迭代器不是那样工作的。它的想法是您可以一个一个地访问集合中的每个元素。这与项目的索引不同。由于$name是一个包含数组的数组,因此您可以使用索引器访问内部成员的元素。

像这样,

# Use parenthesis (, not brackets [
# $contacts would be better a name since it's a collection of mail and phone pairs
$name = (
("name-01@email.com","+1 12345678"),
...
("name-02@email.com","+1 12345678"))

# Print each element's first - index zero - member:
foreach($i in $name) { $i[0] }
name-01@email.com
...
name-10@email.com

# Or second - index one - member:
foreach($i in $name) { $i[1] }
+1 12345678
...
+1 12345678

所以最终版本应该类似于

foreach ($i in $name) {
    New-MgUserAuthenticationPhoneMethod -UserId $i[0] -phoneType "mobile" -phoneNumber $i[1]
}
于 2021-10-04T11:20:47.360 回答
0

我最终得到的是超级混乱。

$user = @(
  ("name-01@email.no","+1 12345678"),
  ("name-02@email.no","+1 22345678"),
  ("name-03@email.no","+1 32345678"),
  ("name-04@email.no","+1 42345678"),
  ("name-05@email.no","+1 52345678"),
  ("name-06@email.no","+1 62345678"),
  ("name-07@email.no","+1 72345678")
)
$position = 0

foreach ($i in $user) {
  New-MgUserAuthenticationPhoneMethod -UserId $user[$position][0] -phoneType "mobile" -phoneNumber $user[$position][1]
  $position++
}

编辑:使用 vonPryz 解决方案!它的方式更清洁,你应该如何做到这一点。

于 2021-10-04T13:26:57.087 回答