0

我有 Windows powershell 5.1 脚本块,如下所示,可以成功检索 appRoles 和 oauth2permissions。

import-module -name AzureAD
if ($null -eq $mycredentials) { $mycredentials = Get-Credential }
$azConnectionContext = Connect-AzureAD -Credential $mycredentials
# $svp = Get-AzureADServicePrincipal -Filter "DisplayName -eq 'Microsoft Graph' } # not working, why ???
$svp = Get-AzureADServicePrincipal -All $true | ? { $_.DisplayName -eq 'Microsoft Graph }
$appRoles = $svp.AppRoles; $oauth2permissions = $svp.Oauth2Permissions

我正在尝试转换为如下所示的 powershell core 7 脚本块,但我无法检索 appRoles 和 oauth2permissions,因为 PSADServicePrincipal 类型不会公开这些属性。

import-module -name Az.Accounts
$azConnectionContext = Connect-AzAccount 
$svp = Get-AzADServicePrincipal -DisplayName 'Microsoft Graph' }
$appRoles = $svp.AppRoles; $oauth2permissions = $svp.Oauth2Permissions  # both of these fail

问题 - 任何人都知道我如何使用 powershell 核心 7.0.3 api 和类型获得 azure 广告服务主体 appRoles 和 oauth2permissions 吗?

4

2 回答 2

2

代替:
$svp.AppRoles;

采用:
$svp.AppRole;

$svp.Oauth2Permissions应该管用。类型应为Microsoft.Azure.PowerShell.Cmdlets.Resources.Models.Api16.OAuth2Permission。

于 2020-08-31T19:32:42.553 回答
1

对于您的最后一个问题,remove-module 仅删除当前会话的模块。您需要改为运行 Uninstall-Module。

这里有一个 Uninstall-AzModule 函数可以帮助您:https ://docs.microsoft.com/en-us/powershell/azure/uninstall-az-ps?view=azps-4.6.1

于 2020-09-14T20:15:26.280 回答