← cd ~/roles
// roles/entra
Printer TechnicianMicrosoft Entra built-in role
Can register and unregister printers and update printer status.
| Role ID | e8cef6f1-e4bd-4ea8-bc07-4b8d950f4477 |
|---|---|
| Privileged | No |
| Permissions | 5 |
What it can do
| Permission | What it allows |
|---|---|
microsoft.azure.print/connectors/allProperties/read | Read all properties of connectors in Microsoft Print |
microsoft.azure.print/printers/allProperties/read | Read all properties of printers in Microsoft Print |
microsoft.azure.print/printers/basic/update | Update basic properties of printers in Microsoft Print |
microsoft.azure.print/printers/register | Register printers in Microsoft Print |
microsoft.azure.print/printers/unregister | Unregister printers in Microsoft Print |
Assign it
The role ID is the same in every tenant, so these work as they are. Make it eligible through PIM:
Connect-MgGraph -Scopes "RoleEligibilitySchedule.ReadWrite.Directory"
$user = Get-MgUser -UserId "jane.doe@contoso.com"
New-MgRoleManagementDirectoryRoleEligibilityScheduleRequest -BodyParameter @{
Action = "AdminAssign"
Justification = "Needs Printer Technician for <reason>"
RoleDefinitionId = "e8cef6f1-e4bd-4ea8-bc07-4b8d950f4477"
DirectoryScopeId = "/"
PrincipalId = $user.Id
ScheduleInfo = @{
StartDateTime = (Get-Date).ToUniversalTime().ToString("o")
Expiration = @{ Type = "afterDuration"; Duration = "P180D" }
}
}Who already has it?
Connect-MgGraph -Scopes "RoleManagement.Read.Directory"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "roleDefinitionId eq 'e8cef6f1-e4bd-4ea8-bc07-4b8d950f4477'" -ExpandProperty Principal |
ForEach-Object { $_.Principal.AdditionalProperties.displayName }Related roles
- People Administrator · 5 permissions
- Search Administrator · 5 permissions
- Attribute Assignment Reader · 6 permissions
- Desktop Analytics Administrator · 4 permissions
- Dynamics 365 Administrator · 6 permissions
- Entra Backup Administrator · 6 permissions
- Entra Backup Reader · 4 permissions
- Fabric Administrator · 6 permissions