1

我是PowerShell的新手。我参考了http://msdn.microsoft.com/en-us/library/windowsazure/jj152815.aspx示例 3。这是我的 cmd:

$myVM = New-AzureVMConfig -Name "MyVM2" -InstanceSize Extrasmall -ImageName (Get-AzureVMImage)[4].ImageName | Add-AzureProvisioningConfig -VM PersistentVMRole -Windows -Password "Password1!"| 添加-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel "DataDisk50" -LUN 0

但我在这里收到错误:New-AzureVMConfig:找不到接受参数“Add-AzureProvisioningConfig”的位置参数。在 line:1 char:26 + $myVM = New-AzureVMConfig <<<< -Name "MyVM2" -InstanceSize Extrasmall -ImageName (Get-AzureVMImage)[4].ImageName | A dd-AzureProvisioningConfig -Windows -Password "Password1!"| Add-AzureDataDisk -CreateNew -DiskSizeInGB 50 -DiskLabel "DataDisk50" -LUN 0 + CategoryInfo : InvalidArgument: (:) [New-AzureVMConfig], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.WindowsAzure.Management.ServiceManagement.IaaS.New AzureVMConfigCommand

请任何人解释为什么这个例子不能运行?我要疯了!

4

2 回答 2

1

这个脚本有几个问题:

  1. 除非您为订阅设置了默认存储帐户(链接没有),否则您需要在第一个 CmdLet 中使用 -MediaLocation 开关
  2. 如果您照原样将第一个 CmdLet 通过管道传输到第二个,则不需要 -VM 开关,在您的情况下该开关引用字符串文字而不是 $vm。

一些 VM 文档可能包含不一致,一个更好的入门参考点是 Michael Washam 的博客http://michaelwasham.com或者如果您将 sql 映像换成您感兴趣的 http://michaelwasham.com,这可能会对您有所帮助:/ /blog.elastacloud.com/2012/06/30/tricks-with-iaas-and-sql-part-1-installing-sql-server-2012-vms-using-powershell/

于 2012-12-21T19:43:00.197 回答
0

尝试将命令拆分为多行,这将帮助您查明实际问题:

$images = Get-AzureVMImage
$imageName = $images[4].ImageName
$vm = New-AzureVMConfig -Name "MyVM2" -InstanceSize Extrasmall -ImageName $imageName
Add-AzureProvisioningConfig -VM $vm -Windows -Password "Password1!"
Add-AzureDataDisk -VM $vm -CreateNew -DiskSizeInGB 50 -DiskLabel "DataDisk50" -LUN 0
于 2012-12-19T07:59:34.770 回答