如何从 MicrosoftGraphPasswordCredential 对象中检索密码

how do I retrieve the password from the MicrosoftGraphPasswordCredential object

我必须更新一个脚本,它应该在 Azure 中创建一个应用程序,然后使用它来遍历资源。 要更新的命令之一是为创建的应用程序创建凭据。

$AppSPN = New-AzADServicePrincipal -DisplayName "Move_Validation_SPN"

后续需要使用凭证来遍历资源,根据同样的微软文档,可以这样创建:

$creds = New-Object `
             -TypeName "Microsoft.Azure.PowerShell.Cmdlets.Resources.MSGraph.Models.ApiV10.MicrosoftGraphPasswordCredential" `
             -Property @{ 'DisplayName' = $name; 'StartDateTime' = $startDate; 'EndDateTime' = $endDate }
    
    New-AzADAppCredential -ApplicationId $AppSPN.appId -PasswordCredentials @creds

问题来了,创建Token时,如何从MicrosoftGraphPasswordCredential对象中取回密码?即:$creds

$Token = Get-Token -TenantId $TenantId  -SubscriptionID $SourceSub.Id -ApplicationID $AppSPN.appID -ApplicationKey $creds

从版本 6.6.0 开始,此 cmdlet New-AzADAppCredential.

中有重大更改

如此 MS Doc 中所述,Az PowerShell cmdlets 模块已从 Azure AD Graph 移动到 Microsoft Graph。所以,最好使用 New-AzureADApplicationPasswordCredential.

的 cmdlet

解决方法

所述,官方文档中应该有错误,在示例中,它使用了New,而不是Get。如果您尝试New, 它看起来像文档。

来源:New-AzureADApplicationPasswordCredential