azureblog.co.uk
← cd ~/roles
// roles/entra

People AdministratorMicrosoft Entra built-in role

Manage profile photos of users and people settings for all users in the organization.

Role ID024906de-61e5-49c8-8572-40335f1e0e10
PrivilegedNo
Permissions5

What it can do

PermissionWhat it allows
microsoft.office365.webPortal/allEntities/standard/readRead basic properties on all resources in the Microsoft 365 admin center
microsoft.people/users/photo/readRead profile photo of user
microsoft.people/users/photo/updateUpdate profile photo of user
microsoft.peopleAdmin/organization/allProperties/readRead people settings for users, such as pronouns, name pronunciation, and profile card settings
microsoft.peopleAdmin/organization/allProperties/updateUpdate people settings for users, such as pronouns, name pronunciation, and profile card settings

Assign it

The role ID is the same in every tenant, so these work as they are. Make it eligible through PIM:

powershell13 lines
Connect-MgGraph -Scopes "RoleEligibilitySchedule.ReadWrite.Directory"
$user = Get-MgUser -UserId "jane.doe@contoso.com"
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter @{
    Action           = "AdminAssign"
    Justification    = "Needs People Administrator for <reason>"
    RoleDefinitionId = "024906de-61e5-49c8-8572-40335f1e0e10"
    DirectoryScopeId = "/"
    PrincipalId      = $user.Id
    ScheduleInfo     = @{
        StartDateTime = (Get-Date).ToUniversalTime().ToString("o")
        Expiration    = @{ Type = "afterDuration"; Duration = "P180D" }
    }
}

Who already has it?

powershell3 lines
Connect-MgGraph -Scopes "RoleManagement.Read.Directory"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq '024906de-61e5-49c8-8572-40335f1e0e10'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →