在Azure AD中添加员工ID到声明时Add-AzureADServicePrincipalPolicy报错
解决Azure AD中Add-AzureADServicePrincipalPolicy报错ResourceNotFound的问题
1. 确认使用正确的服务主体ObjectID
- 应用注册页面的应用程序(客户端)ID≠服务主体ObjectID,不要混淆这两个ID。
- 通过PowerShell精准查询服务主体:
- 按应用名称查找:
Get-AzureADServicePrincipal -Filter "DisplayName eq '你的应用显示名称'" - 按应用客户端ID查找:
Get-AzureADServicePrincipal -Filter "AppId eq '你的应用客户端ID'"
- 按应用名称查找:
- 或通过Azure门户查找:进入Azure AD → 企业应用程序 → 所有应用程序,搜索应用名称,进入后在「概述」页获取对象ID(即服务主体ObjectID)。
2. 排查服务主体未找到的原因
- 若为刚创建的应用注册,等待1-2分钟让服务主体同步完成后再查询。
- 确认PowerShell会话登录的租户正确:
# 查看当前租户信息 Get-AzureADTenantDetail # 若租户错误,重新登录 Connect-AzureAD -TenantId "你的租户ID" - 若为多租户应用,需先有该租户内的用户登录过应用,才会自动创建服务主体;未登录过的话,手动创建:
New-AzureADServicePrincipal -AppId "你的应用客户端ID"
3. 重新执行策略分配命令
拿到正确的服务主体ObjectID后,再次运行命令:
Add-AzureADServicePrincipalPolicy -Id <服务主体ObjectID> -RefObjectId <策略ObjectID>
执行前可先验证服务主体存在:
Get-AzureADServicePrincipal -ObjectId <服务主体ObjectID>
内容的提问来源于stack exchange,提问作者NibblyPig
相关产品推荐
相关产品推荐

