我下面尝试使用PowerShell解析JSON块。 JSON的用途是表示应在Azure应用注册上授予AD组的权限。一个应用程序将分配有多个组,每个组将具有一组唯一的角色(权限)。完整的JSON文件包含其中几个application
块。
基本上,我要使用PowerShell进行的操作是使用application
,查询Azure AD以获取应用程序资源,然后修改资源以使用{ {1}}。
常规思路是,我需要一个嵌套在一个循环内的循环,其中第一个循环捕获New-AzureADGroupAppRoleAssignment
块,然后第二个循环捕获application
块,然后第三循环获取该组的groupname
数组。
roles
答案 0 :(得分:1)
这样的事情应该让你入门
$json = SomethingThatGetsJson | ConvertFrom-Json
$json.application | % {
$data = $_
Write-Host $data.groupname
$data.roles | % {
$role = $_
Write-Host $role
}
}
如果想要获得更多详细信息, %
是ForEach-Object
的简写。 $_
是枚举当前迭代中的元素值。
答案 1 :(得分:0)
只要返回的JSON有效,您就应该使用ConvertFrom-Json
cmdlet,它将JSON字符串转换为适当的对象,您可以点遍历并运行其他标准cmdlet,例如{{1} },select
,where
等