New-MgBetaRoleManagementDeviceManagementRoleAssignment

Create a new unifiedRoleAssignmentMultiple object for an RBAC provider. The following RBAC providers are currently supported:- Cloud PC - device management (Intune) For other Microsoft 365 applications (like Microsoft Entra ID), use unifiedRoleAssignment.

Syntax

New-MgBetaRoleManagementDeviceManagementRoleAssignment
   [-ResponseHeadersVariable <String>]
   [-AdditionalProperties <Hashtable>]
   [-AppScopeIds <String[]>]
   [-AppScopes <IMicrosoftGraphAppScope[]>]
   [-Condition <String>]
   [-Description <String>]
   [-DirectoryScopeIds <String[]>]
   [-DirectoryScopes <IMicrosoftGraphDirectoryObject[]>]
   [-DisplayName <String>]
   [-Id <String>]
   [-PrincipalIds <String[]>]
   [-Principals <IMicrosoftGraphDirectoryObject[]>]
   [-RoleDefinition <IMicrosoftGraphUnifiedRoleDefinition>]
   [-RoleDefinitionId <String>]
   [-Headers <IDictionary>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-MgBetaRoleManagementDeviceManagementRoleAssignment
   -BodyParameter <IMicrosoftGraphUnifiedRoleAssignmentMultiple>
   [-ResponseHeadersVariable <String>]
   [-Headers <IDictionary>]
   [-ProgressAction <ActionPreference>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Create a new unifiedRoleAssignmentMultiple object for an RBAC provider. The following RBAC providers are currently supported:- Cloud PC - device management (Intune) For other Microsoft 365 applications (like Microsoft Entra ID), use unifiedRoleAssignment.

Permissions

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) CloudPC.ReadWrite.All DeviceManagementRBAC.ReadWrite.All
Delegated (personal Microsoft account) Not supported. Not supported.
Application CloudPC.ReadWrite.All DeviceManagementRBAC.ReadWrite.All

Examples

Example 1: Create a role assignment in Intune over two scope groups (which are Microsoft Entra objects)

Import-Module Microsoft.Graph.Beta.DeviceManagement.Enrollment

$params = @{
	"@odata.type" = "#microsoft.graph.unifiedRoleAssignmentMultiple"
	displayName = "My test role assignment 1"
	roleDefinitionId = "c2cf284d-6c41-4e6b-afac-4b80928c9034"
	principalIds = @(
	"f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
"c1518aa9-4da5-4c84-a902-a31404023890"
)
directoryScopeIds = @(
"28ca5a85-489a-49a0-b555-0a6d81e56f0d"
"8152656a-cf9a-4928-a457-1512d4cae295"
)
}

New-MgBetaRoleManagementDeviceManagementRoleAssignment -BodyParameter $params

This example will create a role assignment in intune over two scope groups (which are microsoft entra objects)

Example 2: Create a role assignment in Intune at Intune-specific scope of "all Devices"

Import-Module Microsoft.Graph.Beta.DeviceManagement.Enrollment

$params = @{
	"@odata.type" = "#microsoft.graph.unifiedRoleAssignmentMultiple"
	displayName = "My test role assignment 1"
	roleDefinitionId = "c2cf284d-6c41-4e6b-afac-4b80928c9034"
	principalIds = @(
	"f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
"c1518aa9-4da5-4c84-a902-a31404023890"
)
appScopeIds = @(
"allDevices"
)
}

New-MgBetaRoleManagementDeviceManagementRoleAssignment -BodyParameter $params

This example will create a role assignment in intune at intune-specific scope of "all devices"

Parameters

-AdditionalProperties

Additional Parameters

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AppScopeIds

Ids of the app specific scopes when the assignment scopes are app specific. The scopes of an assignment determine the set of resources for which the principal has access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. App scopes are scopes that are defined and understood by this application only.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AppScopes

Read-only collection with details of the app specific scopes when the assignment scopes are app specific. Containment entity. Read-only. To construct, see NOTES section for APPSCOPES properties and create a hash table.

Type:IMicrosoftGraphAppScope[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BodyParameter

unifiedRoleAssignmentMultiple To construct, see NOTES section for BODYPARAMETER properties and create a hash table.

Type:IMicrosoftGraphUnifiedRoleAssignmentMultiple
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Condition

.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Description of the role assignment.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectoryScopeIds

Ids of the directory objects that represent the scopes of the assignment. The scopes of an assignment determine the set of resources for which the principals have been granted access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. App scopes are scopes that are defined and understood by this application only.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DirectoryScopes

Read-only collection that references the directory objects that are scope of the assignment. Provided so that callers can get the directory objects using $expand at the same time as getting the role assignment. Read-only. Supports $expand. To construct, see NOTES section for DIRECTORYSCOPES properties and create a hash table.

Type:IMicrosoftGraphDirectoryObject[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Name of the role assignment. Required.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Headers

Optional headers that will be added to the request.

Type:IDictionary
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Id

The unique identifier for an entity. Read-only.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PrincipalIds

Identifiers of the principals to which the assignment is granted. Supports $filter (any operator only).

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Principals

Read-only collection that references the assigned principals. Provided so that callers can get the principals using $expand at the same time as getting the role assignment. Read-only. Supports $expand. To construct, see NOTES section for PRINCIPALS properties and create a hash table.

Type:IMicrosoftGraphDirectoryObject[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProgressAction

{{ Fill ProgressAction Description }}

Type:ActionPreference
Aliases:proga
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResponseHeadersVariable

Optional Response Headers Variable.

Type:String
Aliases:RHV
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RoleDefinition

unifiedRoleDefinition To construct, see NOTES section for ROLEDEFINITION properties and create a hash table.

Type:IMicrosoftGraphUnifiedRoleDefinition
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RoleDefinitionId

Identifier of the unifiedRoleDefinition the assignment is for.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUnifiedRoleAssignmentMultiple

System.Collections.IDictionary

Outputs

Microsoft.Graph.Beta.PowerShell.Models.IMicrosoftGraphUnifiedRoleAssignmentMultiple

Notes

COMPLEX PARAMETER PROPERTIES

To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.

APPSCOPES <IMicrosoftGraphAppScope- []>: Read-only collection with details of the app specific scopes when the assignment scopes are app specific. Containment entity. Read-only.

  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [DisplayName <String>]: Provides the display name of the app-specific resource represented by the app scope. Provided for display purposes since appScopeId is often an immutable, non-human-readable ID. Read only.
  • [Type <String>]: Describes the type of app-specific resource represented by the app scope. For display purposes, so a user interface can convey to the user the kind of app specific resource represented by the app scope. Read only.

BODYPARAMETER <IMicrosoftGraphUnifiedRoleAssignmentMultiple>: unifiedRoleAssignmentMultiple

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [AppScopeIds <String- []>]: Ids of the app specific scopes when the assignment scopes are app specific. The scopes of an assignment determine the set of resources for which the principal has access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. Use / for tenant-wide scope. App scopes are scopes that are defined and understood by this application only.
  • [AppScopes <IMicrosoftGraphAppScope- []>]: Read-only collection with details of the app specific scopes when the assignment scopes are app specific. Containment entity. Read-only.
    • [Id <String>]: The unique identifier for an entity. Read-only.
    • [DisplayName <String>]: Provides the display name of the app-specific resource represented by the app scope. Provided for display purposes since appScopeId is often an immutable, non-human-readable ID. Read only.
    • [Type <String>]: Describes the type of app-specific resource represented by the app scope. For display purposes, so a user interface can convey to the user the kind of app specific resource represented by the app scope. Read only.
  • [Condition <String>]:
  • [Description <String>]: Description of the role assignment.
  • [DirectoryScopeIds <String- []>]: Ids of the directory objects that represent the scopes of the assignment. The scopes of an assignment determine the set of resources for which the principals have been granted access. Directory scopes are shared scopes stored in the directory that are understood by multiple applications. App scopes are scopes that are defined and understood by this application only.
  • [DirectoryScopes <IMicrosoftGraphDirectoryObject- []>]: Read-only collection that references the directory objects that are scope of the assignment. Provided so that callers can get the directory objects using $expand at the same time as getting the role assignment. Read-only. Supports $expand.
    • [Id <String>]: The unique identifier for an entity. Read-only.
    • [DeletedDateTime <DateTime?>]: Date and time when this object was deleted. Always null when the object hasn't been deleted.
  • [DisplayName <String>]: Name of the role assignment. Required.
  • [PrincipalIds <String- []>]: Identifiers of the principals to which the assignment is granted. Supports $filter (any operator only).
  • [Principals <IMicrosoftGraphDirectoryObject- []>]: Read-only collection that references the assigned principals. Provided so that callers can get the principals using $expand at the same time as getting the role assignment. Read-only. Supports $expand.
  • [RoleDefinition <IMicrosoftGraphUnifiedRoleDefinition>]: unifiedRoleDefinition
    • [(Any) <Object>]: This indicates any property can be added to this object.
    • [Id <String>]: The unique identifier for an entity. Read-only.
    • [AllowedPrincipalTypes <String>]: allowedRolePrincipalTypes
    • [Description <String>]: The description for the unifiedRoleDefinition. Read-only when isBuiltIn is true.
    • [DisplayName <String>]: The display name for the unifiedRoleDefinition. Read-only when isBuiltIn is true. Required. Supports $filter (eq and startsWith).
    • [InheritsPermissionsFrom <IMicrosoftGraphUnifiedRoleDefinition- []>]: Read-only collection of role definitions that the given role definition inherits from. Only Microsoft Entra built-in roles support this attribute.
    • [IsBuiltIn <Boolean?>]: Flag indicating if the unifiedRoleDefinition is part of the default set included with the product or custom. Read-only. Supports $filter (eq).
    • [IsEnabled <Boolean?>]: Flag indicating if the role is enabled for assignment. If false the role is not available for assignment. Read-only when isBuiltIn is true.
    • [IsPrivileged <Boolean?>]: Flag indicating if the role is privileged. Microsoft Entra ID defines a role as privileged if it contains at least one sensitive resource action in the rolePermissions and allowedResourceActions objects. Applies only for actions in the microsoft.directory resource namespace. Read-only. Supports $filter (eq).
    • [ResourceScopes <String- []>]: List of scopes permissions granted by the role definition apply to. Currently only / is supported. Read-only when isBuiltIn is true. DO NOT USE. This will be deprecated soon. Attach scope to role assignment.
    • [RolePermissions <IMicrosoftGraphUnifiedRolePermission- []>]: List of permissions included in the role. Read-only when isBuiltIn is true. Required.
      • [AllowedResourceActions <String- []>]: Set of tasks that can be performed on a resource.
      • [Condition <String>]: Optional constraints that must be met for the permission to be effective. Not supported for custom roles.
      • [ExcludedResourceActions <String- []>]:
    • [TemplateId <String>]: Custom template identifier that can be set when isBuiltIn is false. This identifier is typically used if one needs an identifier to be the same across different directories. Read-only when isBuiltIn is true.
    • [Version <String>]: Indicates the version of the unifiedRoleDefinition object. Read-only when isBuiltIn is true.
  • [RoleDefinitionId <String>]: Identifier of the unifiedRoleDefinition the assignment is for.

DIRECTORYSCOPES <IMicrosoftGraphDirectoryObject- []>: Read-only collection that references the directory objects that are scope of the assignment. Provided so that callers can get the directory objects using $expand at the same time as getting the role assignment. Read-only. Supports $expand.

  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [DeletedDateTime <DateTime?>]: Date and time when this object was deleted. Always null when the object hasn't been deleted.

PRINCIPALS <IMicrosoftGraphDirectoryObject- []>: Read-only collection that references the assigned principals. Provided so that callers can get the principals using $expand at the same time as getting the role assignment. Read-only. Supports $expand.

  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [DeletedDateTime <DateTime?>]: Date and time when this object was deleted. Always null when the object hasn't been deleted.

ROLEDEFINITION <IMicrosoftGraphUnifiedRoleDefinition>: unifiedRoleDefinition

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [Id <String>]: The unique identifier for an entity. Read-only.
  • [AllowedPrincipalTypes <String>]: allowedRolePrincipalTypes
  • [Description <String>]: The description for the unifiedRoleDefinition. Read-only when isBuiltIn is true.
  • [DisplayName <String>]: The display name for the unifiedRoleDefinition. Read-only when isBuiltIn is true. Required. Supports $filter (eq and startsWith).
  • [InheritsPermissionsFrom <IMicrosoftGraphUnifiedRoleDefinition- []>]: Read-only collection of role definitions that the given role definition inherits from. Only Microsoft Entra built-in roles support this attribute.
  • [IsBuiltIn <Boolean?>]: Flag indicating if the unifiedRoleDefinition is part of the default set included with the product or custom. Read-only. Supports $filter (eq).
  • [IsEnabled <Boolean?>]: Flag indicating if the role is enabled for assignment. If false the role is not available for assignment. Read-only when isBuiltIn is true.
  • [IsPrivileged <Boolean?>]: Flag indicating if the role is privileged. Microsoft Entra ID defines a role as privileged if it contains at least one sensitive resource action in the rolePermissions and allowedResourceActions objects. Applies only for actions in the microsoft.directory resource namespace. Read-only. Supports $filter (eq).
  • [ResourceScopes <String- []>]: List of scopes permissions granted by the role definition apply to. Currently only / is supported. Read-only when isBuiltIn is true. DO NOT USE. This will be deprecated soon. Attach scope to role assignment.
  • [RolePermissions <IMicrosoftGraphUnifiedRolePermission- []>]: List of permissions included in the role. Read-only when isBuiltIn is true. Required.
    • [AllowedResourceActions <String- []>]: Set of tasks that can be performed on a resource.
    • [Condition <String>]: Optional constraints that must be met for the permission to be effective. Not supported for custom roles.
    • [ExcludedResourceActions <String- []>]:
  • [TemplateId <String>]: Custom template identifier that can be set when isBuiltIn is false. This identifier is typically used if one needs an identifier to be the same across different directories. Read-only when isBuiltIn is true.
  • [Version <String>]: Indicates the version of the unifiedRoleDefinition object. Read-only when isBuiltIn is true.

https://learn.microsoft.com/powershell/module/microsoft.graph.beta.devicemanagement.enrollment/new-mgbetarolemanagementdevicemanagementroleassignment

https://learn.microsoft.com/graph/api/rbacapplicationmultiple-post-roleassignments?view=graph-rest-beta