簡體   English   中英

遍歷二維數組 | Powershell

[英]Looping through 2D array | Powershell

我正在嘗試制作一個腳本,讓我一次從數組/列表中為多個 azure 用戶添加 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"]
]

波紋管是我用來添加屬於 email 的號碼的命令。

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

foreach迭代器並不是那樣工作的。 它的想法是您可以逐個訪問集合中的每個元素。 這與項目的索引不同。 由於$name是一個包含 arrays 的數組,您可以使用索引器訪問內部成員的元素。

像這樣,

# 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]
}

我最終得到的是超級混亂的。

$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 解決方案。 它的方式更清潔,你應該如何做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM