我可以成功地在MS Graph中创建一个组。我试图更新autoSubscribeNewMembers
属性,但当我这样做时,我收到一个错误:"User does not have permissions to execute this action."
下面是我使用的代码:
$groupData = @{
displayName = 'TESTGROUPNAME'
mailNickname = 'TESTGROUPNAME'
description = 'TESTGROUPNAME'
visibility = 'Private'
groupTypes = @('Unified')
mailEnabled = $true
securityEnabled = $true
"resourceBehaviorOptions" = @("WelcomeEmailDisabled")
"[email protected]" = @('https://graph.microsoft.com/beta/users/<USERID>')
$newGroup = Invoke-MgGraphRequest `
-Uri 'https://graph.microsoft.com/beta/groups' `
-Body $groupData `
-Method POST
$updatePayload = @{autoSubscribeNewMembers=$true}
$response = Invoke-MgGraphRequest `
-Uri ('https://graph.microsoft.com/v1.0/groups/{0}' -f $newGroup.Id) `
-Method PATCH `
-Body $updatePayload `
-OutputType HttpResponseMessage
字符串
在这一点上,我得到了描述的错误。
我已确认该应用程序确实具有所需的权限:
的数据
有谁能给我点建议吗?谢谢大家。
1条答案
按热度按时间83qze16e1#
如本MS文档中所述,更新autoSubscribeNewMembers仅支持**
Delegated
权限。当您在连接MS Graph时使用基于证书的身份验证时,它使用应用程序类型的权限(仅应用程序访问),无法用于更新
autoSubscribeNewMembers
。我注册了一个Azure AD应用程序,并授予了类似的API权限**,如下所示:
的数据
当我通过连接MS Graph与证书在我的环境中运行您的代码时,创建了新组,但更新
autoSubscribeNewMembers
属性失败,并出现相同的错误如下:字符串
回复:
的
要解决错误,您需要使用交互式流连接使用
Delegated
权限的MS Graph。在我的例子中,我运行了下面的命令,并以用户身份使用委派访问权限连接到MS Graph:
型
的
现在再次运行代码,new group成功创建并更新了
autoSubscribeNewMembers
属性,如下所示:型
回复:
的
为了确认,我运行下面的命令,其中
autoSubscribeNewMembers
属性为true,如下所示:型
回复:
的