Arcus.Scripting.ActiveDirectory.psm1
<# .Synopsis Return the app roles and their assignments that are present on an Azure Active Directory Application Registration. .Description Return the app roles that are present in an Azure Active Directory Application Registration and list the applications they are assigned to. .Parameter ClientId The client ID of the Azure Active Directory Application Registration from which the role assignments are to be retrieved. .Parameter RolesAssignedToClientId The client ID of the Azure Active Directory Application Registration to which roles are assigned. #> function List-AzADAppRoleAssignments { param( [Parameter(Mandatory = $true)][string] $ClientId = $(throw "ClientId is required"), [Parameter(Mandatory = $false)][string] $RolesAssignedToClientId ) . $PSScriptRoot\Scripts\List-AzADAppRoleAssignments.ps1 -ClientId $ClientId -RolesAssignedToClientId $RolesAssignedToClientId } Export-ModuleMember -Function List-AzADAppRoleAssignments <# .Synopsis Add and assign a role to an Azure Active Directory Application Registration. .Description Add a role to an Azure Active Directory Application Registration and assign the role to a different Active Directory Application Registration. .Parameter ClientId The client ID of the Azure Active Directory Application Registration to which the role will be added. .Parameter Role The name of the role to add and assign. .Parameter AssignRoleToClientId The client ID of the Azure Active Directory Application Registration to which the role will be assigned. #> function Add-AzADAppRoleAssignment { param( [Parameter(Mandatory = $true)][string] $ClientId = $(throw "ClientId is required"), [Parameter(Mandatory = $true)][string] $Role = $(throw "Role is required"), [Parameter(Mandatory = $true)][string] $AssignRoleToClientId = $(throw "ClientId to assign the role to is required") ) . $PSScriptRoot\Scripts\Add-AzADAppRoleAssignment.ps1 -ClientId $ClientId -Role $Role -AssignRoleToClientId $AssignRoleToClientId } Export-ModuleMember -Function Add-AzADAppRoleAssignment <# .Synopsis Remove a role assignment from an Azure Active Directory Application Registration. .Description Remove a role assignment from an Azure Active Directory Application Registration and optionally remove the role if no role assignments are left. .Parameter ClientId The client ID of the Azure Active Directory Application Registration on which the role is present. .Parameter Role The name of the role to remove the assignment for. .Parameter RemoveRoleFromClientId The client ID of the Azure Active Directory Application Registration for which the role assignment will be removed. .Parameter PassThru Indicates that the role will be removed from the Azure Active Directory Application Registration if no role assigments are left. #> function Remove-AzADAppRoleAssignment { param( [Parameter(Mandatory = $true)][string] $ClientId = $(throw "ClientId is required"), [Parameter(Mandatory = $true)][string] $Role = $(throw "Role is required"), [Parameter(Mandatory = $true)][string] $RemoveRoleFromClientId = $(throw "ClientId to remove the role from is required"), [Parameter(Mandatory = $false)][switch] $RemoveRoleIfNoAssignmentsAreLeft = $false ) if ($RemoveRoleIfNoAssignmentsAreLeft) { . $PSScriptRoot\Scripts\Remove-AzADAppRoleAssignment.ps1 -ClientId $ClientId -Role $Role -RemoveRoleFromClientId $RemoveRoleFromClientId -RemoveRoleIfNoAssignmentsAreLeft } else { . $PSScriptRoot\Scripts\Remove-AzADAppRoleAssignment.ps1 -ClientId $ClientId -Role $Role -RemoveRoleFromClientId $RemoveRoleFromClientId } } Export-ModuleMember -Function Remove-AzADAppRoleAssignment |