オンデマンドでデータベースをコピーする Azure Automation Runbook の作成に問題がある。資格情報を作成し、ポータルへのログインに使用するアカウントの u/p をその中に保存しました。パスワードはメモ帳に書かれ、正しいことを確認するために貼り付けられました。
$Cred = Get-AutomationPSCredential -Name 'automationCredential'
Write-Output "UN: $($Cred.Username)"
Write-Output "PW: $($Cred.Password.Length)"
Add-AzureRmAccount -Credential $Cred
Write-Output "Deleting the old $TargetDatabaseName"
Remove-AzureRMSqlDatabase -ResourceGroupName "Default-SQL-NorthEurope" -ServerName $SourceServerName -DatabaseName $TargetDatabaseName -Force
Write-Output "Creating new $TargetDatabaseName with data at time $PointInTime"
New-AzureRmSqlDatabaseCopy `
-CopyDatabaseName $TargetDatabaseName `
-DatabaseName $SourceDatabaseName `
-ResourceGroupName "Default-SQL-NorthEurope" `
-ServerName $SourceServerName
デバッグ出力は資格情報が正しいことを示しているようですが、add-azurermaccount が実行されると、ログインしているように見えますが、サブスクリプションは返されません
古いテストデータベースを削除するための呼び出しが次のように失敗した直後:
Remove-AzureRMSqlDatabase : コンテキストでサブスクリプションが見つかりません。指定した資格情報が Azure サブスクリプションへのアクセスを承認されていることを確認してから、Login-AzureRMAccount を実行してログインしてください。
コマンド ラインの powershell でアクションを実行すると (唯一の違いは、パラメーターなしで login を呼び出し、creds を求めるプロンプトが表示されることです)、問題なく動作します。
資格情報が間違っているかどうかを示すいくつかのリソースを見つけました。それは認証されますが、サブスクリプションは返されません-資格情報を再確認しましたが、それらは正確です