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

Organizational Messages WriterMicrosoft Entra built-in role

Write, publish, manage, and review the organizational messages for end-users through Microsoft product surfaces.

Role ID507f53e4-4e52-4077-abd3-d2e1558b6ea2
PrivilegedNo
Permissions3

What it can do

PermissionWhat it allows
microsoft.office365.organizationalMessages/allEntities/allProperties/allTasksManage all authoring aspects of Microsoft 365 Organizational Messages
microsoft.office365.usageReports/allEntities/standard/readRead tenant-level aggregated Office 365 usage reports
microsoft.office365.webPortal/allEntities/standard/readRead basic properties on all resources in the Microsoft 365 admin center

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 Organizational Messages Writer for <reason>"
    RoleDefinitionId = "507f53e4-4e52-4077-abd3-d2e1558b6ea2"
    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 '507f53e4-4e52-4077-abd3-d2e1558b6ea2'" -ExpandProperty Principal |
    ForEach-Object { $_.Principal.AdditionalProperties.displayName }

Related roles

Find the smallest role for a task →