我正在尝试传递用户列表和角色,以便我可以使用 powershell 为用户分配角色。我想要一个 json 文件来包含此信息并具有以下内容:
[
{
"name":"User1",
"roles":[
"System Administrator",
"System User"
]
},
{
"name":"User2",
"roles":[
"System User"
]
}
]
Run Code Online (Sandbox Code Playgroud)
我运行了以下 Powershell:
$json = Get-Content -Raw -Path C:\temp\ExampleJsonArray.json | ConvertFrom-Json
Run Code Online (Sandbox Code Playgroud)
这给了我:
name roles
---- -----
User1 {System Administrator, System User}
User2 {System User}
Run Code Online (Sandbox Code Playgroud)
我的问题是 - 然后如何将这些值传递到一个函数中,该函数将循环遍历每个用户并循环遍历用户的每个角色,以便我可以运行允许我一次将每个角色分配给用户的 cmdlet?
add-RoleToUser $user $role
Run Code Online (Sandbox Code Playgroud)
以上只是一个基本示例。我期待更多的用户和角色,因此 json 文件将是管理和自动化此任务的最简单方法。
使用foreach您可以循环遍历每个name并在该循环中遍历roles
$json | foreach {
$user = $_.name
$_.roles | foreach {
$role = $_
Write-Output "User: $user"
Write-Output "Role: $role"
#Add-RoleToUser $user $role
}
}
Run Code Online (Sandbox Code Playgroud)
用户:用户1 角色:系统管理员 用户:用户1 角色:系统用户 用户:用户2 角色:系统用户
| 归档时间: |
|
| 查看次数: |
23451 次 |
| 最近记录: |