Hello @MrFlinstone
To remove approvers from a PIM role management policy using PowerShell, ensure you're using the correct parameter name (-Body Parameter instead of -Body) and validate the structure of your approval settings. Here's the corrected approach:
$policyid = "Group_xxx"
$ruleId = "Approval_EndUser_Assignment"
$body = @{
Copy
"@odata.type" = "#microsoft.graph.unifiedRoleManagementPolicyApprovalRule"
id = $ruleId
target = @{
"@odata.type" = "microsoft.graph.unifiedRoleManagementPolicyRuleTarget"
caller = "EndUser"
operations = @("All")
level = "Assignment"
inheritableSettings = @()
enforcedSettings = @()
}
setting = @{
"@odata.type" = "microsoft.graph.approvalSettings"
isApprovalRequired = $false # Disables approval requirement
isApprovalRequiredForExtension = $false
isRequestorJustificationRequired = $false
approvalMode = "NoApproval" # Explicitly set approval mode
approvalStages = @() # Remove all approval stages
}
}
Update-MgPolicyRoleManagementPolicyRule -UnifiedRoleManagementPolicyId $policyid -UnifiedRoleManagementPolicyRuleId $ruleId -BodyParameter $body
Confirm permissions with Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
Check policy rules using:
PowerShell
Get-MgPolicyRoleManagementPolicy -UnifiedRoleManagementPolicyId $policyid | Select-Object -ExpandProperty Rules
Hope this helps.