New-AzureADApplication RequiredResourceAccess

时间:2021-03-01 23:26:14

标签: powershell-7.0

我是 Powershell 的新手,如果我使用的术语不正确,请多多包涵。

我正在尝试使用我找到的一段代码来注册应用程序并设置 -RequiredResourceAccess。我在这方面发现的一切都以相同的基本方式接近它,所以我想知道这是否是我遇到的 7 vs 5 的问题。我只是不够了解。

使用以下代码,我收到以下错误,就好像它看到的是字符串而不是对象。想想我在别处看到它是怎么做的。

Set-AzureADApplication:无法绑定参数“RequiredResourceAccess”。无法转换值“class RequiredResourceAccess { ResourceAppId: 00000003-0000-0000-c000-000000000000 资源访问:System.Collections.Generic.List1[Microsoft.Open.AzureAD.Model.ResourceAccess] } " to type "Microsoft.Open.AzureAD.Model.RequiredResourceAccess". Error: "Cannot convert the "class RequiredResourceAccess { ResourceAppId: 00000003-0000-0000-c000-000000000000 ResourceAccess: System.Collections.Generic.List1[Microsoft.Open.AzureAD.Model.ResourceAccess] } " "Deserialized.Microsoft.Open.AzureAD.Model.RequiredResourceAccess" 类型的值到类型 "Microsoft.Open.AzureAD.Model.RequiredResourceAccess"。"

$acc1 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "62a82d76-70ea-41e2-9197-370581804d09","Role" # Group.ReadWrite.All
$acc2 = New-Object -TypeName "Microsoft.Open.AzureAD.Model.ResourceAccess" -ArgumentList "df021288-bdef-4463-88db-98f22de89214","Role" # User.Read.All
$req.ResourceAccess = $acc1,$acc2
$req.ResourceAppId = "00000003-0000-0000-c000-000000000000" # MS Graph Resource ID

$ccredsApp = New-AzureADApplication `
    -IdentifierUris ("app://{0}" -f $settings.webAPI.name) `
    -DisplayName ("{0}-clientcreds" -f $settings.webAPI.name) `
    -Oauth2AllowImplicitFlow $false 

Set-AzureADApplication -ObjectId $ccredsApp.objectId -RequiredResourceAccess $req`

0 个答案:

没有答案