未找到Azure默认订阅

时间:2016-07-20 16:06:07

标签: powershell azure

我一直在尝试创建一个PowerShell脚本来动态创建Azuer防火墙规则。

我使用的代码是:

$servername = "xxx" 
$username = "xx@xxx.onmicrosoft.com" 
$password = "xxx" 
$subscription = "Pay-As-You-Go" 
$secpasswd = ConvertTo-SecureString 
$password -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ($userName, $secpasswd) 

Login-AzureRmAccount -Credential $cred -SubscriptionName $subscription

Select-AzureSubscription -SubscriptionName $subscription -Default

$ipAddress = (Invoke-WebRequest 'http://myexternalip.com/raw').Content -replace "`n"

New-AzureSqlDatabaseServerFirewallRule -ServerName $servername -RuleName 'Test' -StartIpAddress $ipAddress -EndIpAddress $ipAddress

我也遇到以下错误:

Select-AzureSubscription:订阅名称Pay-As-You-Go不存在。

New-AzureSqlDatabaseServerFirewallRule:未指定默认订阅。使用Select-AzureSubscription -Default设置默认值 订阅。

我还尝试将Login-AzureRmAccount更改为Add-AzureAccount,但它没有任何区别。我创建的用户是SQL服务器的所有者。

还有什么我可能会遗失的吗?

1 个答案:

答案 0 :(得分:1)

看起来您正在混合AzureRM和Azure模式......您需要确保可以从该模式访问所需的订阅。如果您使用Login-AzureRMAccount或Add-AzureRMAccount登录 - 请使用Get-AzureRMSubscription查看您有权访问的内容。

如果您使用Add-AzureAccount登录,请使用Get-AzureSubscription ...

检查并查看您找到的内容。