You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

是否有PowerShell命令可处理Dynamics 365安全角色并复制添加权限?

处理Dynamics 365安全角色的PowerShell方案

是的,完全可以通过PowerShell程序化处理Dynamics 365的安全角色,包括复制角色、添加权限等操作,以下是具体实现步骤和示例代码:

前提准备

首先安装并导入官方的Power Platform Admin PowerShell模块:

# 安装模块(首次运行)
Install-Module -Name Microsoft.PowerPlatform.Admin.PowerShell -Force -AllowClobber

# 导入模块
Import-Module Microsoft.PowerPlatform.Admin.PowerShell

核心操作步骤

1. 连接到Dynamics 365环境

使用以下命令连接到你的Dataverse环境:

$envUrl = "https://your-org.crm.dynamics.com"
Connect-PowerPlatformAdmin -EnvironmentUrl $envUrl

2. 复制现有安全角色

以复制「Sample Standard User」角色创建「Sample Advance User」为例:

# 获取源安全角色
$sourceRole = Get-PowerPlatformRole -EnvironmentUrl $envUrl -RoleName "Sample Standard User"

# 复制角色(新角色名称为Sample Advance User)
$newRole = Copy-PowerPlatformRole -EnvironmentUrl $envUrl -RoleId $sourceRole.RoleId -NewRoleName "Sample Advance User"

3. 为新角色添加额外权限

接下来给新角色的Contact实体添加Create和Write权限:

# 获取Contact实体的元数据
$contactEntity = Get-PowerPlatformEntity -EnvironmentUrl $envUrl -EntityLogicalName "contact"

# 获取需要添加的权限对应的ID(Create和Write权限)
$createPrivilege = Get-PowerPlatformPrivilege -EnvironmentUrl $envUrl | Where-Object { $_.Name -eq "prvCreateContact" }
$writePrivilege = Get-PowerPlatformPrivilege -EnvironmentUrl $envUrl | Where-Object { $_.Name -eq "prvWriteContact" }

# 为新角色添加权限
Add-PowerPlatformRolePrivilege -EnvironmentUrl $envUrl -RoleId $newRole.RoleId -PrivilegeId $createPrivilege.PrivilegeId
Add-PowerPlatformRolePrivilege -EnvironmentUrl $envUrl -RoleId $newRole.RoleId -PrivilegeId $writePrivilege.PrivilegeId

验证结果

执行完上述命令后,可以通过以下命令查看新角色的权限是否正确:

Get-PowerPlatformRolePrivilege -EnvironmentUrl $envUrl -RoleId $newRole.RoleId | Where-Object { $_.EntityLogicalName -eq "contact" }

内容的提问来源于stack exchange,提问作者Ikyong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:02:34