RBACが設定されているすべてのサブスクリプションで、すべてのストレージアカウントからいくつかのパラメータを取得するスクリプトを開発しています。私はスクリプトをローカルで完全に正常に動作させるためにテストしましたが、Azure Automationに転送しようとすると(今後の動作をスケジュールできるように)、Get-AzureRmStorageAccountKeyコマンドに多くの問題があります。何も出力していないようです。Azure Automation Get-AzureRmStorageAccountKey
これが作業全体のスクリプトイムではなく、関連する部品のために:
$VerbosePreference = 'Continue'
$connectionName = "AzureRunAsConnection"
try
{
# Get the connection "AzureRunAsConnection "
$servicePrincipalConnection=Get-AutomationConnection -Name $connectionName
"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
}
}
$storageaccounts = get-azurermstorageaccount
ForEach ($account in $storageaccounts)
{
$PrimaryKey = Get-AzureRmStorageAccountKey -ResourceGroupName $account.ResourceGroupName
$PrimaryKey
私のスクリプトの最後の行で、私は変数$のPrimaryKeyの出力を得ることを期待しかし、それが来ますスクリプトが空の値を参照できないというエラーに遭遇した次の部分に移動したときにも目撃したので、空のままにしておいてください。
これをPowershell ISEでローカルに実行すると、すべての状態が良好で、すべてのプライマリSASキーが表示されます。私はISE用のAzure Automationモジュールでこれを試しました。これはローカルテストの魅力のようにも動作します。私がAzureでドラフトをテストすると、冗長なログオンでさえも、最後の出力があっても、このことから全く何も得られません。
Environments
------------
{[AzureChinaCloud, AzureChinaCloud], [AzureCloud, AzureCloud],
[AzureGermanCloud, AzureGermanCloud], [AzureUSGovernme...
誰もが経験を持っています、これは自動化スクリプトが文句を言わないようにSASキーとして、プライベートみなさ情報を明らかにすることを期待される動作のいくつかの種類ですか?私の問題は、既存のすべてのストレージアカウントに対してこのスクリプトを実行していて、新しいアカウントが作成されてもスクリプトが手動での干渉なしで動作するようにしたいので、ここでは固定変数を使用できないことです。
乾杯。