powershell core 7.0.3 Az.Account PSADServicePrincipal appRoles и oauth2permissions

У меня есть блок сценария 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

Вопрос - кто-нибудь знает, как я получаю основные приложения и разрешения oauth2 в Azure AdService с использованием API и типов ядра PowerShell 7.0.3?

1 ответ

Решение

Вместо того:
$svp.AppRoles;

Использование:
$svp.AppRole;

$svp.Oauth2Permissionsдолжно сработать. Тип должен быть Microsoft.Azure.PowerShell.Cmdlets.Resources.Models.Api16.OAuth2Permission.

На ваш последний вопрос: remove-module удаляет только модуль для текущего сеанса. Вместо этого вам нужно запустить Uninstall-Module.

Здесь есть функция Uninstall-AzModule, которая может вам помочь: https://docs.microsoft.com/en-us/powershell/azure/uninstall-az-ps?view=azps-4.6.1

Другие вопросы по тегам