Azure Runbook 错误,AzureRmStorageAccountKey 无法索引到空数组
Azure Runbook Error, AzureRmStorageAccountKey Cannot Index into null array
我正在尝试 运行 在 Azure 运行 书中执行此命令
(Get-AzureRmStorageAccountKey -Name $defaultStorageAccountName -ResourceGroupName $defaultResourceGroupName).Value[0]
它 运行 在我的本地机器上没问题,我可以看到存储帐户密钥。但是,当我 运行 在 Azure 运行book 中执行相同的命令时,它会抛出以下错误
Cannot index into a null array
如果我只是 运行 Get-AzureRmStorageAccountKey -Name $defaultStorageAccountName -ResourceGroupName $defaultResourceGroupName
在 Azure 运行 书中,它 运行 没问题,我可以看到密钥。就在我从数组中选择一个元素时,它失败并抛出错误。
我的本地机器和 Azure 运行book 上的 PowerShell 版本是 5。
更新:
从我的自动化帐户中的库更新模块后,我的问题得到解决。
根据你的描述,我在我的runbook中测试了你的cmdlets,我可以得到存储密钥。
您可以使用以下命令登录您的订阅。
Write-Verbose "Get connection asset: $ConnectionAssetName" -Verbose
$connectionName = Get-AutomationConnection -Name "AzureRunAsConnection"
$AzureCredentialAssetName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $AzureCredentialAssetName
"Logging in to Azure..."
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
$key=(Get-AzureRmStorageAccountKey -Name <storage account name> -ResourceGroupName <resource group name>).Value[0]
"The storage account key is $key"
更多信息请参考此link。
更新
您需要更新自动化帐户中的Azure存储帐户模块版本,才能解决此问题。
我正在尝试 运行 在 Azure 运行 书中执行此命令
(Get-AzureRmStorageAccountKey -Name $defaultStorageAccountName -ResourceGroupName $defaultResourceGroupName).Value[0]
它 运行 在我的本地机器上没问题,我可以看到存储帐户密钥。但是,当我 运行 在 Azure 运行book 中执行相同的命令时,它会抛出以下错误
Cannot index into a null array
如果我只是 运行 Get-AzureRmStorageAccountKey -Name $defaultStorageAccountName -ResourceGroupName $defaultResourceGroupName
在 Azure 运行 书中,它 运行 没问题,我可以看到密钥。就在我从数组中选择一个元素时,它失败并抛出错误。
我的本地机器和 Azure 运行book 上的 PowerShell 版本是 5。
更新:
从我的自动化帐户中的库更新模块后,我的问题得到解决。
根据你的描述,我在我的runbook中测试了你的cmdlets,我可以得到存储密钥。
您可以使用以下命令登录您的订阅。
Write-Verbose "Get connection asset: $ConnectionAssetName" -Verbose
$connectionName = Get-AutomationConnection -Name "AzureRunAsConnection"
$AzureCredentialAssetName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $AzureCredentialAssetName
"Logging in to Azure..."
Add-AzureRmAccount `
-ServicePrincipal `
-TenantId $servicePrincipalConnection.TenantId `
-ApplicationId $servicePrincipalConnection.ApplicationId `
-CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
$key=(Get-AzureRmStorageAccountKey -Name <storage account name> -ResourceGroupName <resource group name>).Value[0]
"The storage account key is $key"
更多信息请参考此link。 更新
您需要更新自动化帐户中的Azure存储帐户模块版本,才能解决此问题。