Problema de permissão para alterar a senha do usuário usando a API do cliente do Azure AD Graph

Estou tentando criar uma página no asp.net MVC para redefinir a senha do usuário atual. Estou usando o diretório ativo do Azure para autenticação do usuário. Para acessar as informações do AD do usuário, estou usando o cliente da API do C # Graph. Meu código é baseado em uma amostra encontrada emGitHub

Consigo fazer alterações nas informações do usuário (como cidade, estado, email). No entanto, quando tento alterar a senha usando o atributo PasswordProfile no objeto de usuário, estou recebendo um erro dizendo que tenho permissões insuficientes. Estou tentando alterar a senha como aplicativo e acredito que a origem do problema de permissão esteja no aplicativo.

Encontrei o seguinte script do PowerShell que deveria adicionar a função de administrador da empresa a um aplicativo. No entanto, a chamada para Get-MsolServicePrincipal não retorna nada. Observando a saída do comando, não vejo nenhuma entrada que se assemelhe ao nome do meu aplicativo.

#-----------------------------------------------------------
# This will prompt you for your tenant's credential
# You should be able to use your your Azure AD administrative user name
# (in the [email protected] format)
#-----------------------------------------------------------
import-module MSOnline
Connect-MsolService

#-----------------------------------------------------------
# Replace the Application Name with the name of your 
# Application Service Principal
#-----------------------------------------------------------
$displayName = "My Azure AD Application"
$objectId = (Get-MsolServicePrincipal -SearchString $displayName).ObjectId

#-----------------------------------------------------------
# This will add your Application Service Prinicpal to 
# the Company Administrator role
#-----------------------------------------------------------
$roleName = "Company Administrator"              
Add-MsolRoleMember -RoleName $roleName -RoleMemberType ServicePrincipal -RoleMemberObjectId $objectId

Acho que minha primeira pergunta é correta, se o problema de permissão está no aplicativo?

Segundo, qual valor para o qual eu deveria estar definindo a variável $ displayName?

questionAnswers(2)

yourAnswerToTheQuestion