我收到以下错误。我实际上是在设置默认订阅名称。
2015/4/27 10:28:28 AM,错误:Get-AzureVM:没有默认订阅 已被指定。使用Select-AzureSubscription -Default 设置默认订阅。在测试时:9 char:9 + + CategoryInfo:CloseError:(:) [Get-AzureVM],ApplicationException + FullyQualifiedErrorId:Microsoft.WindowsAzure.Commands.ServiceManagement.IaaS.GetAzureVMCommand
这是我的代码:
workflow test
{
# Initial set up
$Cred = Get-AutomationPSCredential -Name "******"
Add-AzureAccount -Credential $Cred
Select-AzureSubscription -Default -SubscriptionName 'Beebunny'
$vmName = "MyMachineName"
Get-AzureVM -servicename $vmName
Write-output "All done."
}
如果我尝试使用Select-AzureSubscription -Default'PercriptionName',则会抛出错误,说明语法无效。
编辑:我也尝试过没有默认标志的Select-AzureSubscription -SubscriptionName'SubscriptionName'。
有趣的是,如果我直接从Windows在AzurePS中运行它,它运行得很好。我大约95%肯定这是一个Azure的bug但是想先得到第二个意见。
答案 0 :(得分:2)
您加载了哪个版本的Azure模块?您使用的是自动化服务提供的默认模块吗?您是否已将此任何其他模块导入此订阅?
尝试使用以下代码创建干净的Runbook,使用正确的名称替换凭据和订阅。你能获得证书并成功验证吗?
workflow Test-GetVM
{
$Cred = Get-AutomationPSCredential -Name 'AdAzureCred'
if(!$Cred) {
Throw "Could not find an Automation Credential Asset named. Make sure you have created one in this Automation Account."
}
$Account = Add-AzureAccount -Credential $Cred
if(!$Account) {
Throw "Could not authenticate to Azure. Make sure the user name and password are correct."
}
Select-AzureSubscription -SubscriptionName "Visual Studio Ultimate with MSDN"
Get-AzureVM
}
更新:您是否也将资源管理器模块加载到订阅中?
答案 1 :(得分:2)
I had the same problem and the solution was execute Add-AzureAccount, do the login process requested and once done all was working.