如何从 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
, 它看起来像文档。
我必须更新一个脚本,它应该在 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
.
解决方法:
如New
,而不是Get
。如果您尝试New
, 它看起来像文档。