Azure New-AzureRmResource“帐户类型”丢失,但如果我添加“参数未找到”

时间:2016-06-16 20:32:47

标签: powershell azure azure-powershell cmdlets

我正在尝试使用New-AzureRmResource来创建新的存储帐户。但是我遇到了令我困惑的事情。我的命令在这里:

New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage"

但这会转储错误

  

New-AzureRmResource:AccountTypeMissing:accountType字段是   请求中缺少。

所以我将其添加(尝试“AccountType”和“accountType”):

New-AzureRmResource -Location "East US" -ResourceGroupName "myResGrp" -ResourceName "storagename" -ResourceType "microsoft.storage/storageaccounts" -Kind "Storage" -AccountType "Standard_RAGRS"

然后我收到错误:

  

New-AzureRmResource:找不到匹配的参数   参数名称'AccountType'。

我如何传递此信息?我想我在这里很容易丢失一些东西。谢谢。

感谢下面的帮助

  

$ props = New-Object PSObject

     

$道具| add-member AccountType“Standard_RAGRS”

     

$道具| add-member Kind“存储”

     

New-AzureRmResource -Location“East US”-ResourceGroupName   “myResGrp”-ResourceName“storagename”-ResourceType   “microsoft.storage/storageaccounts” - 属性$ props -ApiVersion   “2015年6月15日”

2 个答案:

答案 0 :(得分:4)

您应该将accountType放入参数"属性"的哈希表中。 (如果您使用的是1.5.0,这是" PropertyObject"),您也应该指定API版本。这是一个例子。

$properties = @{"AccountType"="Standard_RAGRS"}

New-AzureRmResource -Location "East US" `
                    -ResourceGroupName "myResGrp" `
                    -ResourceName "storagename" `
                    -ResourceType "Microsoft.Storage/storageAccounts" `
                    -Properties $properties `
                    -ApiVersion "2015-06-15"

您需要指定API版本,因为在最新的Azure PowerShell中,默认情况下,他们使用2016-03-30 for Storage Account,它已将AccountType更改为SKU,但命令New-AzureRmResource不支持SKU呢。

答案 1 :(得分:1)

如果您拥有2.0版的AzureRM.Resources,它应该支持使其工作所需的最新属性。在2016-01-01版本的api之前,SKU被称为accountType,就像你遇到的问题一样。

https://msdn.microsoft.com/en-us/library/azure/mt712701.aspx

检查您正在运行的模块版本:

 Get-Module  AzureRM.Resources 

我建议使用Update-Module更新AzureRM模块(假设已安装WMF5,并且您使用get-module / install-module在第一时间安装了AzureRM.Resources模块)。

如果您无法升级AzureRM.Resources模块;您始终可以使用-Properties @ {“AccountType”=“Standard_RAGRS”}指定缺少的属性。您还可以尝试使用New-AzureRmStorageAccount,它可能具有您正在查找的属性(因为cmdlet位于AzureRM.Storage下,并且可能具有不同的版本/子集)。

希望这会有所帮助!:)