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

如何通过PowerShell或Graph API为Azure权利管理目录添加所有者?

如何通过Graph API/PowerShell添加Azure权利管理目录所有者

你遇到的问题是用错了操作端点——添加目录所有者不是通过PATCH目录本身实现的,而是需要操作目录的owners关系集合。下面是两种可行的实现方式:

使用Microsoft Graph PowerShell模块

不要用Update-MgEntitlementManagementCatalog(这个命令仅用于修改目录的基础属性,比如名称、描述),改用New-MgEntitlementManagementCatalogOwner命令来添加所有者:

# 替换为你的目录ID和目标用户ID
$catalogId = "your-catalog-id"
$userId = "target-user-id"

# 添加用户作为目录所有者
New-MgEntitlementManagementCatalogOwner -AccessPackageCatalogId $catalogId -DirectoryObjectId $userId

这个命令本质是调用Graph API的POST /identityGovernance/entitlementManagement/catalogs/{id}/owners/$ref端点,成功执行后会返回204状态码,此时用户已被添加为目录所有者。

直接调用Graph API

发送POST请求到以下端点,而不是PATCH目录:
POST https://graph.microsoft.com/v1.0/identityGovernance/entitlementManagement/catalogs/{catalogId}/owners/$ref

请求体格式如下:

{
    "@odata.id": "https://graph.microsoft.com/v1.0/users/{userId}"
}

同样,成功的请求会返回204状态码,你可以通过GET /identityGovernance/entitlementManagement/catalogs/{catalogId}/owners端点验证所有者是否已添加。

为什么之前的PATCH操作无效

PATCH /identityGovernance/entitlementManagement/catalogs/{id}仅用于更新目录的核心属性(如displayName、description、isExternallyVisible等),并不支持直接在请求体中设置所有者。你之前的请求返回204是因为PATCH请求本身格式合法,但并没有对所有者进行任何实际修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 09:19:53