2013-07-26 32 views
2

我已经成功地在Azure中创建一个虚拟机,并使用了以下导出其设置,然后删除VM和服务:(400)错误的请求时使用新AzureVM命令行

export-azurevm -servicename "testautomation" -name "testautomation" -path "C:\azurestates\testautomation.xml"

remove-azurevm -servicename "testautomation" -name "testautomation"

然而,当我尝试重新创建VM,我得到如下:

PS C:> import-azurevm -path "C:\azurestates\testautomation.xml" | new-azurevm -servicename 'testautomation' -location "east us"

new-azurevm : The remote server returned an unexpected response: (400) Bad Request. At line:1 char:60 + import-azurevm -path "C:\azurestates\testautomation.xml" | new-azurevm -servicen ... + ~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [New-AzureVM], ProtocolException + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.ServiceManagement.IaaS.PersistentVMs.NewAzureVMCommand

这好像应该是很简单的,我不太清楚,我要去哪里错了。在使用New-AzureVMConfig时,谷歌搜索这个错误指出了我的一些变化,但我不确定如何继续,因为我没有使用它。任何援助将不胜感激。

回答

2

问题出在我的Set-AzureSubscription commandlet。我在该命令中大写了存储帐户,最终导致了我在这里遇到的问题。我花了一段时间来追踪它,因为我没有想过要仔细检查这个命令,因为我通过PowerShell执行的所有其他操作都在工作。非常感谢您的帮助和代码,以查明内部异常(这是解决问题的关键)!

4

你可以得到什么地方出了错通过在内部异常考虑看看更多的细节:

PS C:\> $sr = new-object System.IO.StreamReader($Error[0].Exception.InnerException.Response.GetResponseStream()) 
PS C:\> $txt = $sr.ReadToEnd() 
PS C:\> $txt 
PS C:\> $sr.Close() 

第三个命令应打印出什么是错的新AzureVM通话更详细的错误信息。

+0

我将不得不把它放在我的后袋以备将来排除故障。谢谢!因此显示的错误是这样的: 'code'BadRequest na 我不是有效的存储帐户名称。存储帐户名称的长度必须介于3到24个字符之间,并且只能使用数字和小写字母 。 'code' –

+0

我很迷惑,为什么我得到这个错误。我正在使用Set-AzureSubscription和Select-AzureSubscription,并且可以成功将VHD上传到Azure。更多的帮助,可以吗? –

+0

我要创建一个新的问题来解决这个特定的错误。非常感谢代码,使其易读! –