Azure Runbook - No subscription found in the context

TGills picture TGills · Mar 16, 2018 · Viewed 7.3k times · Source

Background:

I am trying to set up a script via Runbooks on Azure. What I find unusual is that I can run the command via the Azure Powershell Cloud Shell and it works. However, when I try to run it via the Runbook, I recieve an error(See below).

The Script:

$ResourceGroupName = "group"
$ServerName = "serverName"
$DatabaseName = "databaseName"
$StorageKeyType = "StorageAccessKey"
$StorageKey = "storageKey"
$StorageUri = "storageUri"
$AdminLogin = "admin"
$AdminPassword = (ConvertTo-SecureString "12345" -AsPlainText -Force)

New-AzureRmSqlDatabaseExport `
        -AdministratorLogin $AdminLogin `
        -AdministratorLoginPassword $AdminPassword `
        -DatabaseName $DatabaseName `
        -ResourceGroupName $ResourceGroupName `
        -ServerName $ServerName `
        -StorageKey $StorageKey `
        -StorageKeyType $StorageKeyType `
        -StorageUri $StorageUri `

**Generic values used

The Error:

New-AzureRmSqlDatabaseExport : No subscription found in the context.  Please ensure that the credentials you provided 
are authorized to access an Azure subscription, then run Connect-AzureRmAccount to login.
At line:10 char:1
+ New-AzureRmSqlDatabaseExport `
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (:) [New-AzureRmSqlDatabaseExport], ApplicationException
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.ImportExport.Cmdlet.NewAzureSqlDatabaseExport

The Question:

What am I doing wrong? I the password and username that I am using are the ones that are used everywhere else, and work when I run the script in the Cloud Shell. Also, what is meant by "No subscription found in the context"?

Answer

4c74356b41 picture 4c74356b41 · Mar 16, 2018

It means that you need to login to Azure before doing anything. Cloud Shell handles that for you, whereas Azure Automation doesnt.

https://docs.microsoft.com/en-us/powershell/azure/get-started-azureps?view=azurermps-5.5.0#log-in-to-azure

You can use Azure AD user login, certificate login or service principal login. Live account wont work, as it is interactive.