【发布时间】:2017-08-31 18:31:05
【问题描述】:
我尝试从 VSTS 更新我在 SQL Azure 上的数据库。
我需要在迁移过程中应用防火墙规则,然后将其删除。
我正在使用 VSTS Azure PowerShell 任务,我已经对其进行了配置,并尝试使用此命令添加规则:
New-AzureSqlDatabaseServerFirewallRule -ServerName $serverName -RuleName $firewallRule -StartIpAddress $currentPublicIp -EndIpAddress $currentPublicIp
任务失败并显示以下错误消息:
##[error]No default subscription has been designated. Use Select-AzureSubscription -Default <subscriptionName> to set the default subscription.
任务从日志中的这个开始:
##[command]Add-AzureRMAccount -ServicePrincipal -Tenant ******** -Credential System.Management.Automation.PSCredential -Environment AzureCloud
##[command]Select-AzureRMSubscription -SubscriptionId xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -TenantId ********
【问题讨论】:
-
在 VSTS 中,您选择了 ARM 订阅,但
New-AzureSqlDatabaseServerFirewallRule是经典 cmdlet。你应该使用New-AzureRmSqlServerFirewallRule -ResourceGroupName "" -ServerName "" -FirewallRuleName "Rule01" -StartIpAddress "192.168.0.198" -EndIpAddress "192.168.0.199" -
谢谢 Walter,只是想知道经典 cmdlet 应该被 ARM 弃用,还是两者各有优势?
-
也许你可以参考这个link。
标签: powershell azure azure-devops