azure-storage - 从 Runbook 获取存储帐户中的所有 blob 名称
问题描述
我有一个非常简单的脚本,当从远程 powershell ISE 运行(不使用自动化运行手册中的 RUNAS 凭据)时,它绝对可以正常工作,但是当我们尝试从自动化运行手册运行它时,它返回 0 。以下是代码:-
$connectionName = "AzureRunAsConnection"
$SubId = "XXXXXXXXXXXXXXXXXX"
try
{
$servicePrincipalConnection = Get-AutomationConnection -Name $connectionName
Write-Verbose "Logging in to Azure..." -Verbose
Connect-AzAccount -CertificateThumbprint $servicePrincipalConnection.CertificateThumbprint -ApplicationId $servicePrincipalConnection.ApplicationId -Tenant $servicePrincipalConnection.TenantId -ServicePrincipal
Write-Verbose "Setting Subscription......" -Verbose
Set-AzContext -SubscriptionId $SubId | Write-Verbose
}
catch {
if (!$servicePrincipalConnection)
{
$ErrorMessage = "Connection $connectionName not found."
throw $ErrorMessage
} else{
Write-Error -Message $_.Exception
throw $_.Exception
}
}
$storageAccount = Get-AzStorageAccount -ResourceGroupName $ResourceGroup -Name $StorageAccountName -ErrorAction SilentlyContinue
# Resource group name for the storage acccount
$ResourceGroup = "MYDEV01-RG"
# Storage account name
$StorageAccountName = "myDev01StrgName"
# Container name for analytics logs
$ContainerName = "`$logs"
$storageContext = $storageAccount.Context
$containers = New-Object System.Collections.ArrayList
$container = Get-AzStorageContainer -Context $storageContext -Name $ContainerName -ErrorAction SilentlyContinue |
ForEach-Object { $containers.Add($_) } | Out-Null
Write-Output("> Container count: {0}" -f $containers.Count)
不确定我们是否因为自动化帐户(运行手册)不起作用而丢失了权限或其他东西,有什么帮助吗?
谢谢,
解决方案
推荐阅读
- google-api - 当我向 googleapis 发出请求时,收到 400 Bad Request
- git - 纱线 v2 gitignore
- c++ - 内存栅栏是否涉及内核
- python - “min(X(X>0), Y, Z)”在 Python 中是什么意思?
- sockets - 如何在 arm Linux 目标上禁用 IPv4 并仅启用 IPv6?
- performance - 我可以使用 Prometheus 监控多个服务器吗?
- antlr - 在 ANTLR 中的所有情况下都可以消除左递归吗?
- laravel - LARAVEL - 输入错误 - 此路由不支持 POST 方法。支持的方法:GET、HEAD
- java - 搜索嵌套 jsonb 列对象的规范谓词
- java - 使用带有 Gson 的 mapValue() 方法的 Kafka-streams 应用程序错误