【发布时间】:2021-08-13 22:08:23
【问题描述】:
我正在尝试使用ConvertTo-Json 为多个项目编写一个包含数组的 PS 脚本。我需要在 Azure DevOps 管道中使用此脚本。例如,使用变量我可以将多个项目转换为 Json。该脚本适用于我想要的单个项目,但无法弄清楚如何将多个项目作为一个变量提供。
# Variables
$Roles = "Reader"
$Name = "User1"
$Email = "user1@email.com"
$UserList = ConvertTo-Json @(@{Roles = @("$Roles"); Name = "$Name"; Email = "$Email"})
# Output for a single item as I need
PS C:\> $UserList
[
{
"Email": "user1@email.com",
"Name": "User1",
"Roles": [
"Reader"
]
}
]
我需要实现的是在每个变量中添加更多项目,因此输出将如下所示,有两个用户
[
{
"Email": "user1@email.com",
"Name": "User1",
"Roles": [
"Reader"
]
},
{
"Email": "user2@email.com",
"Name": "User2",
"Roles": [
"Reader"
]
}
]
我尝试使用数组作为@("Reader"; "Reader") 使用变量,但输出不是我需要的。有人可以帮助实现它吗?谢谢!
【问题讨论】:
-
不确定我是否关注,您可以通过管道将一组用户及其邮件和角色传递到
ConvertTo-Json以获得所需的输出。
标签: powershell