I'm attempting to merge several cmdlets from Azure PowerShell into one object. For example:
$rbacroles = Get-AzRoleAssignment -ObjectId $user.id
$obj = New-Object -TypeName psobject
$obj | Add-Member -MemberType NoteProperty -Name AzureRoles -Value $rbacroles.roleDefinitionName
$obj | Add-Member -MemberType NoteProperty -Name Scope -Value $rbacroles.scope
However, sometimes I have to convert a list Ids into names, as such
ForEach ($aadroleid in $aadroles)
{
$id = $aadrole.roleDefinitionId
$uri = "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/$id"
$roledef = Invoke-RestMethod -Headers $Headers -Uri $uri
$obj | Add-Member -MemberType NoteProperty -Name AzureADRoles -Value $roledef.displayName
}
The problem I'm running into, is that when I go to add another member of the same name in the ForEach loop, it will only overwrite if I add -Force
, but I really just want it appended.